blob: d94d7802cb420b8ffc70603294c9b4293510c97e [file] [log] [blame]
Kever Yangc61ad662016-07-19 21:16:58 +08001/*
2 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#include <dt-bindings/clock/rk3399-cru.h>
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10#include <dt-bindings/interrupt-controller/irq.h>
11#include <dt-bindings/pinctrl/rockchip.h>
MengDongyangf15293c2016-08-24 12:02:20 +080012#define USB_CLASS_HUB 9
Kever Yangc61ad662016-07-19 21:16:58 +080013
14/ {
15 compatible = "rockchip,rk3399";
16
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
19 #size-cells = <2>;
20
21 aliases {
22 serial0 = &uart0;
23 serial1 = &uart1;
24 serial2 = &uart2;
25 serial3 = &uart3;
26 serial4 = &uart4;
Eddie Cai8d1d4ad2017-02-20 14:02:37 +080027 mmc0 = &sdhci;
28 mmc1 = &sdmmc;
eric.gao@rock-chips.com5f0ce632017-04-10 10:17:03 +080029 i2c0 = &i2c0;
Kever Yangc61ad662016-07-19 21:16:58 +080030 };
31
32 cpus {
33 #address-cells = <2>;
34 #size-cells = <0>;
35
36 cpu-map {
37 cluster0 {
38 core0 {
39 cpu = <&cpu_l0>;
40 };
41 core1 {
42 cpu = <&cpu_l1>;
43 };
44 core2 {
45 cpu = <&cpu_l2>;
46 };
47 core3 {
48 cpu = <&cpu_l3>;
49 };
50 };
51
52 cluster1 {
53 core0 {
54 cpu = <&cpu_b0>;
55 };
56 core1 {
57 cpu = <&cpu_b1>;
58 };
59 };
60 };
61
62 cpu_l0: cpu@0 {
63 device_type = "cpu";
64 compatible = "arm,cortex-a53", "arm,armv8";
65 reg = <0x0 0x0>;
66 enable-method = "psci";
67 #cooling-cells = <2>; /* min followed by max */
68 clocks = <&cru ARMCLKL>;
69 };
70
71 cpu_l1: cpu@1 {
72 device_type = "cpu";
73 compatible = "arm,cortex-a53", "arm,armv8";
74 reg = <0x0 0x1>;
75 enable-method = "psci";
76 clocks = <&cru ARMCLKL>;
77 };
78
79 cpu_l2: cpu@2 {
80 device_type = "cpu";
81 compatible = "arm,cortex-a53", "arm,armv8";
82 reg = <0x0 0x2>;
83 enable-method = "psci";
84 clocks = <&cru ARMCLKL>;
85 };
86
87 cpu_l3: cpu@3 {
88 device_type = "cpu";
89 compatible = "arm,cortex-a53", "arm,armv8";
90 reg = <0x0 0x3>;
91 enable-method = "psci";
92 clocks = <&cru ARMCLKL>;
93 };
94
95 cpu_b0: cpu@100 {
96 device_type = "cpu";
97 compatible = "arm,cortex-a72", "arm,armv8";
98 reg = <0x0 0x100>;
99 enable-method = "psci";
100 #cooling-cells = <2>; /* min followed by max */
101 clocks = <&cru ARMCLKB>;
102 };
103
104 cpu_b1: cpu@101 {
105 device_type = "cpu";
106 compatible = "arm,cortex-a72", "arm,armv8";
107 reg = <0x0 0x101>;
108 enable-method = "psci";
109 clocks = <&cru ARMCLKB>;
110 };
111 };
112
113 psci {
114 compatible = "arm,psci-1.0";
115 method = "smc";
116 };
117
118 timer {
119 compatible = "arm,armv8-timer";
120 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
121 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
122 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
123 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
124 };
125
126 xin24m: xin24m {
127 compatible = "fixed-clock";
128 clock-frequency = <24000000>;
129 clock-output-names = "xin24m";
130 #clock-cells = <0>;
131 };
132
133 amba {
134 compatible = "simple-bus";
135 #address-cells = <2>;
136 #size-cells = <2>;
137 ranges;
138
139 dmac_bus: dma-controller@ff6d0000 {
140 compatible = "arm,pl330", "arm,primecell";
141 reg = <0x0 0xff6d0000 0x0 0x4000>;
142 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
143 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
144 #dma-cells = <1>;
145 clocks = <&cru ACLK_DMAC0_PERILP>;
146 clock-names = "apb_pclk";
147 };
148
149 dmac_peri: dma-controller@ff6e0000 {
150 compatible = "arm,pl330", "arm,primecell";
151 reg = <0x0 0xff6e0000 0x0 0x4000>;
152 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
153 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
154 #dma-cells = <1>;
155 clocks = <&cru ACLK_DMAC1_PERILP>;
156 clock-names = "apb_pclk";
157 };
158 };
159
160 sdio0: dwmmc@fe310000 {
161 compatible = "rockchip,rk3399-dw-mshc",
162 "rockchip,rk3288-dw-mshc";
163 reg = <0x0 0xfe310000 0x0 0x4000>;
164 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
165 clock-freq-min-max = <400000 150000000>;
166 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
167 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
168 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
169 fifo-depth = <0x100>;
170 status = "disabled";
171 };
172
173 sdmmc: dwmmc@fe320000 {
174 compatible = "rockchip,rk3399-dw-mshc",
175 "rockchip,rk3288-dw-mshc";
176 reg = <0x0 0xfe320000 0x0 0x4000>;
177 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
178 clock-freq-min-max = <400000 150000000>;
Kever Yang70176162016-08-04 11:44:59 +0800179 clocks = <&cru SCLK_SDMMC>, <&cru HCLK_SDMMC>,
Kever Yangc61ad662016-07-19 21:16:58 +0800180 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
Kever Yang70176162016-08-04 11:44:59 +0800181 clock-names = "ciu", "biu", "ciu-drive", "ciu-sample";
Kever Yang56b45952016-08-16 17:58:14 +0800182 pinctrl-names = "default";
183 pinctrl-0 = <&sdmmc_clk>;
Kever Yangc61ad662016-07-19 21:16:58 +0800184 fifo-depth = <0x100>;
185 status = "disabled";
186 };
187
188 sdhci: sdhci@fe330000 {
Kever Yang1eafe152017-02-22 16:56:36 +0800189 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +0800190 compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
191 reg = <0x0 0xfe330000 0x0 0x10000>;
192 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
193 assigned-clocks = <&cru SCLK_EMMC>;
194 assigned-clock-rates = <200000000>;
Kever Yangbbab8ea2016-12-28 11:32:36 +0800195 max-frequency = <200000000>;
Kever Yangc61ad662016-07-19 21:16:58 +0800196 clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>;
197 clock-names = "clk_xin", "clk_ahb";
198 phys = <&emmc_phy>;
199 phy-names = "phy_arasan";
200 status = "disabled";
201 };
202
203 usb_host0_ehci: usb@fe380000 {
204 compatible = "generic-ehci";
205 reg = <0x0 0xfe380000 0x0 0x20000>;
206 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
207 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
208 clock-names = "hclk_host0", "hclk_host0_arb";
209 status = "disabled";
210 };
211
212 usb_host0_ohci: usb@fe3a0000 {
213 compatible = "generic-ohci";
214 reg = <0x0 0xfe3a0000 0x0 0x20000>;
215 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
216 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
217 clock-names = "hclk_host0", "hclk_host0_arb";
218 status = "disabled";
219 };
220
221 usb_host1_ehci: usb@fe3c0000 {
222 compatible = "generic-ehci";
223 reg = <0x0 0xfe3c0000 0x0 0x20000>;
224 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
225 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
226 clock-names = "hclk_host1", "hclk_host1_arb";
227 status = "disabled";
228 };
229
230 usb_host1_ohci: usb@fe3e0000 {
231 compatible = "generic-ohci";
232 reg = <0x0 0xfe3e0000 0x0 0x20000>;
233 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
234 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
235 clock-names = "hclk_host1", "hclk_host1_arb";
236 status = "disabled";
237 };
238
MengDongyangf15293c2016-08-24 12:02:20 +0800239 dwc3_typec0: usb@fe800000 {
240 compatible = "rockchip,rk3399-xhci";
241 reg = <0x0 0xfe800000 0x0 0x100000>;
242 status = "disabled";
MengDongyangf15293c2016-08-24 12:02:20 +0800243 snps,dis-enblslpm-quirk;
244 snps,phyif-utmi-bits = <16>;
245 snps,dis-u2-freeclk-exists-quirk;
246 snps,dis-u2-susphy-quirk;
247
248 #address-cells = <2>;
249 #size-cells = <2>;
250 hub {
251 compatible = "usb-hub";
252 usb,device-class = <USB_CLASS_HUB>;
253 };
254 typec_phy0 {
255 compatible = "rockchip,rk3399-usb3-phy";
256 reg = <0x0 0xff7c0000 0x0 0x40000>;
257 };
258 };
259
260 dwc3_typec1: usb@fe900000 {
261 compatible = "rockchip,rk3399-xhci";
262 reg = <0x0 0xfe900000 0x0 0x100000>;
263 status = "disabled";
MengDongyangf15293c2016-08-24 12:02:20 +0800264 snps,dis-enblslpm-quirk;
265 snps,phyif-utmi-bits = <16>;
266 snps,dis-u2-freeclk-exists-quirk;
267 snps,dis-u2-susphy-quirk;
268
269 #address-cells = <2>;
270 #size-cells = <2>;
271 hub {
272 compatible = "usb-hub";
273 usb,device-class = <USB_CLASS_HUB>;
274 };
275 typec_phy1 {
276 compatible = "rockchip,rk3399-usb3-phy";
277 reg = <0x0 0xff800000 0x0 0x40000>;
278 };
279 };
280
Kever Yangc61ad662016-07-19 21:16:58 +0800281 gic: interrupt-controller@fee00000 {
282 compatible = "arm,gic-v3";
283 #interrupt-cells = <3>;
284 #address-cells = <2>;
285 #size-cells = <2>;
286 ranges;
287 interrupt-controller;
288
289 reg = <0x0 0xfee00000 0 0x10000>, /* GICD */
290 <0x0 0xfef00000 0 0xc0000>, /* GICR */
291 <0x0 0xfff00000 0 0x10000>, /* GICC */
292 <0x0 0xfff10000 0 0x10000>, /* GICH */
293 <0x0 0xfff20000 0 0x10000>; /* GICV */
294 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
295 its: interrupt-controller@fee20000 {
296 compatible = "arm,gic-v3-its";
297 msi-controller;
298 reg = <0x0 0xfee20000 0x0 0x20000>;
299 };
300 };
301
302 uart0: serial@ff180000 {
303 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
304 reg = <0x0 0xff180000 0x0 0x100>;
305 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
306 clock-names = "baudclk", "apb_pclk";
307 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
308 reg-shift = <2>;
309 reg-io-width = <4>;
310 pinctrl-names = "default";
311 pinctrl-0 = <&uart0_xfer>;
312 status = "disabled";
313 };
314
315 uart1: serial@ff190000 {
316 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
317 reg = <0x0 0xff190000 0x0 0x100>;
318 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
319 clock-names = "baudclk", "apb_pclk";
320 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
321 reg-shift = <2>;
322 reg-io-width = <4>;
323 pinctrl-names = "default";
324 pinctrl-0 = <&uart1_xfer>;
325 status = "disabled";
326 };
327
328 uart2: serial@ff1a0000 {
329 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
330 reg = <0x0 0xff1a0000 0x0 0x100>;
331 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
332 clock-names = "baudclk", "apb_pclk";
333 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
334 clock-frequency = <24000000>;
335 reg-shift = <2>;
336 reg-io-width = <4>;
337 pinctrl-names = "default";
338 pinctrl-0 = <&uart2c_xfer>;
339 status = "disabled";
340 };
341
342 uart3: serial@ff1b0000 {
343 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
344 reg = <0x0 0xff1b0000 0x0 0x100>;
345 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
346 clock-names = "baudclk", "apb_pclk";
347 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
348 reg-shift = <2>;
349 reg-io-width = <4>;
350 pinctrl-names = "default";
351 pinctrl-0 = <&uart3_xfer>;
352 status = "disabled";
353 };
354
355 spi0: spi@ff1c0000 {
356 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
357 reg = <0x0 0xff1c0000 0x0 0x1000>;
358 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
359 clock-names = "spiclk", "apb_pclk";
360 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
361 pinctrl-names = "default";
362 pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
363 #address-cells = <1>;
364 #size-cells = <0>;
365 status = "disabled";
366 };
367
368 spi1: spi@ff1d0000 {
369 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
370 reg = <0x0 0xff1d0000 0x0 0x1000>;
371 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
372 clock-names = "spiclk", "apb_pclk";
373 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
374 pinctrl-names = "default";
375 pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
376 #address-cells = <1>;
377 #size-cells = <0>;
378 status = "disabled";
379 };
380
381 spi2: spi@ff1e0000 {
382 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
383 reg = <0x0 0xff1e0000 0x0 0x1000>;
384 clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
385 clock-names = "spiclk", "apb_pclk";
386 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
387 pinctrl-names = "default";
388 pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
389 #address-cells = <1>;
390 #size-cells = <0>;
391 status = "disabled";
392 };
393
394 spi4: spi@ff1f0000 {
395 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
396 reg = <0x0 0xff1f0000 0x0 0x1000>;
397 clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>;
398 clock-names = "spiclk", "apb_pclk";
399 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
400 pinctrl-names = "default";
401 pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>;
402 #address-cells = <1>;
403 #size-cells = <0>;
404 status = "disabled";
405 };
406
407 spi5: spi@ff200000 {
408 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
409 reg = <0x0 0xff200000 0x0 0x1000>;
410 clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>;
411 clock-names = "spiclk", "apb_pclk";
412 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
413 pinctrl-names = "default";
414 pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>;
415 #address-cells = <1>;
416 #size-cells = <0>;
417 status = "disabled";
418 };
419
420 pmugrf: syscon@ff320000 {
Kever Yang1eafe152017-02-22 16:56:36 +0800421 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +0800422 compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
423 reg = <0x0 0xff320000 0x0 0x1000>;
424 #address-cells = <1>;
425 #size-cells = <1>;
426
427 pmu_io_domains: io-domains {
428 compatible = "rockchip,rk3399-pmu-io-voltage-domain";
429 status = "disabled";
430 };
431 };
432
Kever Yang1eafe152017-02-22 16:56:36 +0800433 pmusgrf: syscon@ff330000 {
434 u-boot,dm-pre-reloc;
435 compatible = "rockchip,rk3399-pmusgrf", "syscon";
436 reg = <0x0 0xff330000 0x0 0xe3d4>;
437 };
438
Kever Yangc61ad662016-07-19 21:16:58 +0800439 spi3: spi@ff350000 {
440 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
441 reg = <0x0 0xff350000 0x0 0x1000>;
442 clocks = <&pmucru SCLK_SPI3_PMU>, <&pmucru PCLK_SPI3_PMU>;
443 clock-names = "spiclk", "apb_pclk";
444 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
445 pinctrl-names = "default";
446 pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>;
447 #address-cells = <1>;
448 #size-cells = <0>;
449 status = "disabled";
450 };
451
452 uart4: serial@ff370000 {
453 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
454 reg = <0x0 0xff370000 0x0 0x100>;
455 clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>;
456 clock-names = "baudclk", "apb_pclk";
457 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
458 reg-shift = <2>;
459 reg-io-width = <4>;
460 pinctrl-names = "default";
461 pinctrl-0 = <&uart4_xfer>;
462 status = "disabled";
463 };
464
465 pwm0: pwm@ff420000 {
466 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
467 reg = <0x0 0xff420000 0x0 0x10>;
468 #pwm-cells = <3>;
469 pinctrl-names = "default";
470 pinctrl-0 = <&pwm0_pin>;
471 clocks = <&pmucru PCLK_RKPWM_PMU>;
472 clock-names = "pwm";
473 status = "disabled";
474 };
475
476 pwm1: pwm@ff420010 {
477 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
478 reg = <0x0 0xff420010 0x0 0x10>;
479 #pwm-cells = <3>;
480 pinctrl-names = "default";
481 pinctrl-0 = <&pwm1_pin>;
482 clocks = <&pmucru PCLK_RKPWM_PMU>;
483 clock-names = "pwm";
484 status = "disabled";
485 };
486
487 pwm2: pwm@ff420020 {
488 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
489 reg = <0x0 0xff420020 0x0 0x10>;
490 #pwm-cells = <3>;
491 pinctrl-names = "default";
492 pinctrl-0 = <&pwm2_pin>;
493 clocks = <&pmucru PCLK_RKPWM_PMU>;
494 clock-names = "pwm";
495 status = "disabled";
496 };
497
498 pwm3: pwm@ff420030 {
499 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
500 reg = <0x0 0xff420030 0x0 0x10>;
501 #pwm-cells = <3>;
502 pinctrl-names = "default";
503 pinctrl-0 = <&pwm3a_pin>;
504 clocks = <&pmucru PCLK_RKPWM_PMU>;
505 clock-names = "pwm";
506 status = "disabled";
507 };
508
Kever Yang1eafe152017-02-22 16:56:36 +0800509 cic: syscon@ff620000 {
510 u-boot,dm-pre-reloc;
511 compatible = "rockchip,rk3399-cic", "syscon";
512 reg = <0x0 0xff620000 0x0 0x100>;
513 };
514
515 dfi: dfi@ff630000 {
516 reg = <0x00 0xff630000 0x00 0x4000>;
517 compatible = "rockchip,rk3399-dfi";
518 rockchip,pmu = <&pmugrf>;
519 clocks = <&cru PCLK_DDR_MON>;
520 clock-names = "pclk_ddr_mon";
521 status = "disabled";
522 };
523
524 dmc: dmc {
525 u-boot,dm-pre-reloc;
526 compatible = "rockchip,rk3399-dmc";
527 devfreq-events = <&dfi>;
528 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH 0>;
529 clocks = <&cru SCLK_DDRCLK>;
530 clock-names = "dmc_clk";
531 reg = <0x0 0xffa80000 0x0 0x0800
532 0x0 0xffa80800 0x0 0x1800
533 0x0 0xffa82000 0x0 0x2000
534 0x0 0xffa84000 0x0 0x1000
535 0x0 0xffa88000 0x0 0x0800
536 0x0 0xffa88800 0x0 0x1800
537 0x0 0xffa8a000 0x0 0x2000
538 0x0 0xffa8c000 0x0 0x1000>;
539 };
540
Kever Yangc61ad662016-07-19 21:16:58 +0800541 pmucru: pmu-clock-controller@ff750000 {
Kever Yang1eafe152017-02-22 16:56:36 +0800542 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +0800543 compatible = "rockchip,rk3399-pmucru";
544 reg = <0x0 0xff750000 0x0 0x1000>;
545 #clock-cells = <1>;
546 #reset-cells = <1>;
547 assigned-clocks = <&pmucru PLL_PPLL>;
548 assigned-clock-rates = <676000000>;
549 };
550
551 cru: clock-controller@ff760000 {
Kever Yang1eafe152017-02-22 16:56:36 +0800552 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +0800553 compatible = "rockchip,rk3399-cru";
554 reg = <0x0 0xff760000 0x0 0x1000>;
555 #clock-cells = <1>;
556 #reset-cells = <1>;
557 assigned-clocks =
558 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
559 <&cru PLL_NPLL>,
560 <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
561 <&cru PCLK_PERIHP>,
562 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
563 <&cru PCLK_PERILP0>,
564 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>;
565 assigned-clock-rates =
566 <594000000>, <800000000>,
567 <1000000000>,
568 <150000000>, <75000000>,
569 <37500000>,
570 <100000000>, <100000000>,
571 <50000000>,
572 <100000000>, <50000000>;
573 };
574
575 grf: syscon@ff770000 {
Kever Yang1eafe152017-02-22 16:56:36 +0800576 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +0800577 compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
578 reg = <0x0 0xff770000 0x0 0x10000>;
579 #address-cells = <1>;
580 #size-cells = <1>;
581
582 io_domains: io-domains {
583 compatible = "rockchip,rk3399-io-voltage-domain";
584 status = "disabled";
585 };
586
587 emmc_phy: phy@f780 {
588 compatible = "rockchip,rk3399-emmc-phy";
589 reg = <0xf780 0x24>;
590 #phy-cells = <0>;
591 status = "disabled";
592 };
593 };
594
595 watchdog@ff840000 {
596 compatible = "snps,dw-wdt";
597 reg = <0x0 0xff840000 0x0 0x100>;
598 clocks = <&cru PCLK_WDT>;
599 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
600 };
601
Philipp Tomsich5c6523e2017-03-24 19:24:27 +0100602 gmac: eth@fe300000 {
603 compatible = "rockchip,rk3399-gmac";
604 reg = <0x0 0xfe300000 0x0 0x10000>;
605 rockchip,grf = <&grf>;
606 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
607 interrupt-names = "macirq";
608 clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
609 <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>,
610 <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>,
611 <&cru PCLK_GMAC>;
612 clock-names = "stmmaceth", "mac_clk_rx",
613 "mac_clk_tx", "clk_mac_ref",
614 "clk_mac_refout", "aclk_mac",
615 "pclk_mac";
616 resets = <&cru SRST_A_GMAC>;
617 reset-names = "stmmaceth";
618 status = "disabled";
619 };
620
Kever Yangc61ad662016-07-19 21:16:58 +0800621 spdif: spdif@ff870000 {
622 compatible = "rockchip,rk3399-spdif";
623 reg = <0x0 0xff870000 0x0 0x1000>;
624 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
625 dmas = <&dmac_bus 7>;
626 dma-names = "tx";
627 clock-names = "mclk", "hclk";
628 clocks = <&cru SCLK_SPDIF_8CH>, <&cru HCLK_SPDIF>;
629 pinctrl-names = "default";
630 pinctrl-0 = <&spdif_bus>;
631 status = "disabled";
632 };
633
634 i2s0: i2s@ff880000 {
635 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
636 reg = <0x0 0xff880000 0x0 0x1000>;
637 rockchip,grf = <&grf>;
638 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
639 dmas = <&dmac_bus 0>, <&dmac_bus 1>;
640 dma-names = "tx", "rx";
641 clock-names = "i2s_clk", "i2s_hclk";
642 clocks = <&cru SCLK_I2S0_8CH>, <&cru HCLK_I2S0_8CH>;
643 pinctrl-names = "default";
644 pinctrl-0 = <&i2s0_8ch_bus>;
645 status = "disabled";
646 };
647
648 i2s1: i2s@ff890000 {
649 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
650 reg = <0x0 0xff890000 0x0 0x1000>;
651 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
652 dmas = <&dmac_bus 2>, <&dmac_bus 3>;
653 dma-names = "tx", "rx";
654 clock-names = "i2s_clk", "i2s_hclk";
655 clocks = <&cru SCLK_I2S1_8CH>, <&cru HCLK_I2S1_8CH>;
656 pinctrl-names = "default";
657 pinctrl-0 = <&i2s1_2ch_bus>;
658 status = "disabled";
659 };
660
661 i2s2: i2s@ff8a0000 {
662 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
663 reg = <0x0 0xff8a0000 0x0 0x1000>;
664 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
665 dmas = <&dmac_bus 4>, <&dmac_bus 5>;
666 dma-names = "tx", "rx";
667 clock-names = "i2s_clk", "i2s_hclk";
668 clocks = <&cru SCLK_I2S2_8CH>, <&cru HCLK_I2S2_8CH>;
669 status = "disabled";
670 };
671
eric.gao@rock-chips.com5f0ce632017-04-10 10:17:03 +0800672 i2c0: i2c@ff3c0000 {
673 compatible = "rockchip,rk3399-i2c";
674 reg = <0x0 0xff3c0000 0x0 0x1000>;
675 assigned-clocks = <&pmucru SCLK_I2C0_PMU>;
676 assigned-clock-rates = <200000000>;
677 clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>;
678 clock-names = "i2c", "pclk";
679 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH 0>;
680 pinctrl-names = "default";
681 pinctrl-0 = <&i2c0_xfer>;
682 #address-cells = <1>;
683 #size-cells = <0>;
684 status = "disabled";
685 };
686
Kever Yangc61ad662016-07-19 21:16:58 +0800687 pinctrl: pinctrl {
Kever Yang1eafe152017-02-22 16:56:36 +0800688 u-boot,dm-pre-reloc;
Kever Yangc61ad662016-07-19 21:16:58 +0800689 compatible = "rockchip,rk3399-pinctrl";
690 rockchip,grf = <&grf>;
691 rockchip,pmu = <&pmugrf>;
692 #address-cells = <2>;
693 #size-cells = <2>;
694 ranges;
695
696 gpio0: gpio0@ff720000 {
697 compatible = "rockchip,gpio-bank";
698 reg = <0x0 0xff720000 0x0 0x100>;
699 clocks = <&pmucru PCLK_GPIO0_PMU>;
700 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
701
702 gpio-controller;
703 #gpio-cells = <0x2>;
704
705 interrupt-controller;
706 #interrupt-cells = <0x2>;
707 };
708
709 gpio1: gpio1@ff730000 {
710 compatible = "rockchip,gpio-bank";
711 reg = <0x0 0xff730000 0x0 0x100>;
712 clocks = <&pmucru PCLK_GPIO1_PMU>;
713 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
714
715 gpio-controller;
716 #gpio-cells = <0x2>;
717
718 interrupt-controller;
719 #interrupt-cells = <0x2>;
720 };
721
722 gpio2: gpio2@ff780000 {
723 compatible = "rockchip,gpio-bank";
724 reg = <0x0 0xff780000 0x0 0x100>;
725 clocks = <&cru PCLK_GPIO2>;
726 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
727
728 gpio-controller;
729 #gpio-cells = <0x2>;
730
731 interrupt-controller;
732 #interrupt-cells = <0x2>;
733 };
734
735 gpio3: gpio3@ff788000 {
736 compatible = "rockchip,gpio-bank";
737 reg = <0x0 0xff788000 0x0 0x100>;
738 clocks = <&cru PCLK_GPIO3>;
739 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
740
741 gpio-controller;
742 #gpio-cells = <0x2>;
743
744 interrupt-controller;
745 #interrupt-cells = <0x2>;
746 };
747
748 gpio4: gpio4@ff790000 {
749 compatible = "rockchip,gpio-bank";
750 reg = <0x0 0xff790000 0x0 0x100>;
751 clocks = <&cru PCLK_GPIO4>;
752 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
753
754 gpio-controller;
755 #gpio-cells = <0x2>;
756
757 interrupt-controller;
758 #interrupt-cells = <0x2>;
759 };
760
761 pcfg_pull_up: pcfg-pull-up {
762 bias-pull-up;
763 };
764
765 pcfg_pull_down: pcfg-pull-down {
766 bias-pull-down;
767 };
768
769 pcfg_pull_none: pcfg-pull-none {
770 bias-disable;
771 };
772
773 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
774 bias-disable;
775 drive-strength = <12>;
776 };
777
778 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
779 bias-pull-up;
780 drive-strength = <8>;
781 };
782
783 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
784 bias-pull-down;
785 drive-strength = <4>;
786 };
787
788 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
789 bias-pull-up;
790 drive-strength = <2>;
791 };
792
793 pcfg_pull_down_12ma: pcfg-pull-down-12ma {
794 bias-pull-down;
795 drive-strength = <12>;
796 };
797
798 pcfg_pull_none_13ma: pcfg-pull-none-13ma {
799 bias-disable;
800 drive-strength = <13>;
801 };
802
803 i2c0 {
804 i2c0_xfer: i2c0-xfer {
805 rockchip,pins =
806 <1 15 RK_FUNC_2 &pcfg_pull_none>,
807 <1 16 RK_FUNC_2 &pcfg_pull_none>;
808 };
809 };
810
811 i2c1 {
812 i2c1_xfer: i2c1-xfer {
813 rockchip,pins =
814 <4 2 RK_FUNC_1 &pcfg_pull_none>,
815 <4 1 RK_FUNC_1 &pcfg_pull_none>;
816 };
817 };
818
819 i2c2 {
820 i2c2_xfer: i2c2-xfer {
821 rockchip,pins =
822 <2 1 RK_FUNC_2 &pcfg_pull_none_12ma>,
823 <2 0 RK_FUNC_2 &pcfg_pull_none_12ma>;
824 };
825 };
826
827 i2c3 {
828 i2c3_xfer: i2c3-xfer {
829 rockchip,pins =
830 <4 17 RK_FUNC_1 &pcfg_pull_none>,
831 <4 16 RK_FUNC_1 &pcfg_pull_none>;
832 };
833 };
834
835 i2c4 {
836 i2c4_xfer: i2c4-xfer {
837 rockchip,pins =
838 <1 12 RK_FUNC_1 &pcfg_pull_none>,
839 <1 11 RK_FUNC_1 &pcfg_pull_none>;
840 };
841 };
842
843 i2c5 {
844 i2c5_xfer: i2c5-xfer {
845 rockchip,pins =
846 <3 11 RK_FUNC_2 &pcfg_pull_none>,
847 <3 10 RK_FUNC_2 &pcfg_pull_none>;
848 };
849 };
850
851 i2c6 {
852 i2c6_xfer: i2c6-xfer {
853 rockchip,pins =
854 <2 10 RK_FUNC_2 &pcfg_pull_none>,
855 <2 9 RK_FUNC_2 &pcfg_pull_none>;
856 };
857 };
858
859 i2c7 {
860 i2c7_xfer: i2c7-xfer {
861 rockchip,pins =
862 <2 8 RK_FUNC_2 &pcfg_pull_none>,
863 <2 7 RK_FUNC_2 &pcfg_pull_none>;
864 };
865 };
866
867 i2c8 {
868 i2c8_xfer: i2c8-xfer {
869 rockchip,pins =
870 <1 21 RK_FUNC_1 &pcfg_pull_none>,
871 <1 20 RK_FUNC_1 &pcfg_pull_none>;
872 };
873 };
874
875 i2s0 {
876 i2s0_8ch_bus: i2s0-8ch-bus {
877 rockchip,pins =
878 <3 24 RK_FUNC_1 &pcfg_pull_none>,
879 <3 25 RK_FUNC_1 &pcfg_pull_none>,
880 <3 26 RK_FUNC_1 &pcfg_pull_none>,
881 <3 27 RK_FUNC_1 &pcfg_pull_none>,
882 <3 28 RK_FUNC_1 &pcfg_pull_none>,
883 <3 29 RK_FUNC_1 &pcfg_pull_none>,
884 <3 30 RK_FUNC_1 &pcfg_pull_none>,
885 <3 31 RK_FUNC_1 &pcfg_pull_none>,
886 <4 0 RK_FUNC_1 &pcfg_pull_none>;
887 };
888 };
889
890 i2s1 {
891 i2s1_2ch_bus: i2s1-2ch-bus {
892 rockchip,pins =
893 <4 3 RK_FUNC_1 &pcfg_pull_none>,
894 <4 4 RK_FUNC_1 &pcfg_pull_none>,
895 <4 5 RK_FUNC_1 &pcfg_pull_none>,
896 <4 6 RK_FUNC_1 &pcfg_pull_none>,
897 <4 7 RK_FUNC_1 &pcfg_pull_none>;
898 };
899 };
900
Philipp Tomsich5c6523e2017-03-24 19:24:27 +0100901 gmac {
902 rgmii_pins: rgmii-pins {
903 rockchip,pins =
904 /* mac_txclk */
905 <3 17 RK_FUNC_1 &pcfg_pull_none_13ma>,
906 /* mac_rxclk */
907 <3 14 RK_FUNC_1 &pcfg_pull_none>,
908 /* mac_mdio */
909 <3 13 RK_FUNC_1 &pcfg_pull_none>,
910 /* mac_txen */
911 <3 12 RK_FUNC_1 &pcfg_pull_none_13ma>,
912 /* mac_clk */
913 <3 11 RK_FUNC_1 &pcfg_pull_none>,
914 /* mac_rxdv */
915 <3 9 RK_FUNC_1 &pcfg_pull_none>,
916 /* mac_mdc */
917 <3 8 RK_FUNC_1 &pcfg_pull_none>,
918 /* mac_rxd1 */
919 <3 7 RK_FUNC_1 &pcfg_pull_none>,
920 /* mac_rxd0 */
921 <3 6 RK_FUNC_1 &pcfg_pull_none>,
922 /* mac_txd1 */
923 <3 5 RK_FUNC_1 &pcfg_pull_none_13ma>,
924 /* mac_txd0 */
925 <3 4 RK_FUNC_1 &pcfg_pull_none_13ma>,
926 /* mac_rxd3 */
927 <3 3 RK_FUNC_1 &pcfg_pull_none>,
928 /* mac_rxd2 */
929 <3 2 RK_FUNC_1 &pcfg_pull_none>,
930 /* mac_txd3 */
931 <3 1 RK_FUNC_1 &pcfg_pull_none_13ma>,
932 /* mac_txd2 */
933 <3 0 RK_FUNC_1 &pcfg_pull_none_13ma>;
934 };
935 };
936
Kever Yang56b45952016-08-16 17:58:14 +0800937 sdmmc {
938 sdmmc_bus1: sdmmc-bus1 {
939 rockchip,pins =
940 <4 8 RK_FUNC_1 &pcfg_pull_up>;
941 };
942
943 sdmmc_bus4: sdmmc-bus4 {
944 rockchip,pins =
945 <4 8 RK_FUNC_1 &pcfg_pull_up>,
946 <4 9 RK_FUNC_1 &pcfg_pull_up>,
947 <4 10 RK_FUNC_1 &pcfg_pull_up>,
948 <4 11 RK_FUNC_1 &pcfg_pull_up>;
949 };
950
951 sdmmc_clk: sdmmc-clk {
952 rockchip,pins =
953 <4 12 RK_FUNC_1 &pcfg_pull_none>;
954 };
955
956 sdmmc_cmd: sdmmc-cmd {
957 rockchip,pins =
958 <4 13 RK_FUNC_1 &pcfg_pull_up>;
959 };
960
961 sdmmc_cd: sdmcc-cd {
962 rockchip,pins =
963 <0 7 RK_FUNC_1 &pcfg_pull_up>;
964 };
965
966 sdmmc_wp: sdmmc-wp {
967 rockchip,pins =
968 <0 8 RK_FUNC_1 &pcfg_pull_up>;
969 };
970 };
971
Kever Yangc61ad662016-07-19 21:16:58 +0800972 spdif {
973 spdif_bus: spdif-bus {
974 rockchip,pins =
975 <4 21 RK_FUNC_1 &pcfg_pull_none>;
976 };
977 };
978
979 spi0 {
980 spi0_clk: spi0-clk {
981 rockchip,pins =
982 <3 6 RK_FUNC_2 &pcfg_pull_up>;
983 };
984 spi0_cs0: spi0-cs0 {
985 rockchip,pins =
986 <3 7 RK_FUNC_2 &pcfg_pull_up>;
987 };
988 spi0_cs1: spi0-cs1 {
989 rockchip,pins =
990 <3 8 RK_FUNC_2 &pcfg_pull_up>;
991 };
992 spi0_tx: spi0-tx {
993 rockchip,pins =
994 <3 5 RK_FUNC_2 &pcfg_pull_up>;
995 };
996 spi0_rx: spi0-rx {
997 rockchip,pins =
998 <3 4 RK_FUNC_2 &pcfg_pull_up>;
999 };
1000 };
1001
1002 spi1 {
1003 spi1_clk: spi1-clk {
1004 rockchip,pins =
1005 <1 9 RK_FUNC_2 &pcfg_pull_up>;
1006 };
1007 spi1_cs0: spi1-cs0 {
1008 rockchip,pins =
1009 <1 10 RK_FUNC_2 &pcfg_pull_up>;
1010 };
1011 spi1_rx: spi1-rx {
1012 rockchip,pins =
1013 <1 7 RK_FUNC_2 &pcfg_pull_up>;
1014 };
1015 spi1_tx: spi1-tx {
1016 rockchip,pins =
1017 <1 8 RK_FUNC_2 &pcfg_pull_up>;
1018 };
1019 };
1020
1021 spi2 {
1022 spi2_clk: spi2-clk {
1023 rockchip,pins =
1024 <2 11 RK_FUNC_1 &pcfg_pull_up>;
1025 };
1026 spi2_cs0: spi2-cs0 {
1027 rockchip,pins =
1028 <2 12 RK_FUNC_1 &pcfg_pull_up>;
1029 };
1030 spi2_rx: spi2-rx {
1031 rockchip,pins =
1032 <2 9 RK_FUNC_1 &pcfg_pull_up>;
1033 };
1034 spi2_tx: spi2-tx {
1035 rockchip,pins =
1036 <2 10 RK_FUNC_1 &pcfg_pull_up>;
1037 };
1038 };
1039
1040 spi3 {
1041 spi3_clk: spi3-clk {
1042 rockchip,pins =
1043 <1 17 RK_FUNC_1 &pcfg_pull_up>;
1044 };
1045 spi3_cs0: spi3-cs0 {
1046 rockchip,pins =
1047 <1 18 RK_FUNC_1 &pcfg_pull_up>;
1048 };
1049 spi3_rx: spi3-rx {
1050 rockchip,pins =
1051 <1 15 RK_FUNC_1 &pcfg_pull_up>;
1052 };
1053 spi3_tx: spi3-tx {
1054 rockchip,pins =
1055 <1 16 RK_FUNC_1 &pcfg_pull_up>;
1056 };
1057 };
1058
1059 spi4 {
1060 spi4_clk: spi4-clk {
1061 rockchip,pins =
1062 <3 2 RK_FUNC_2 &pcfg_pull_up>;
1063 };
1064 spi4_cs0: spi4-cs0 {
1065 rockchip,pins =
1066 <3 3 RK_FUNC_2 &pcfg_pull_up>;
1067 };
1068 spi4_rx: spi4-rx {
1069 rockchip,pins =
1070 <3 0 RK_FUNC_2 &pcfg_pull_up>;
1071 };
1072 spi4_tx: spi4-tx {
1073 rockchip,pins =
1074 <3 1 RK_FUNC_2 &pcfg_pull_up>;
1075 };
1076 };
1077
1078 spi5 {
1079 spi5_clk: spi5-clk {
1080 rockchip,pins =
1081 <2 22 RK_FUNC_2 &pcfg_pull_up>;
1082 };
1083 spi5_cs0: spi5-cs0 {
1084 rockchip,pins =
1085 <2 23 RK_FUNC_2 &pcfg_pull_up>;
1086 };
1087 spi5_rx: spi5-rx {
1088 rockchip,pins =
1089 <2 20 RK_FUNC_2 &pcfg_pull_up>;
1090 };
1091 spi5_tx: spi5-tx {
1092 rockchip,pins =
1093 <2 21 RK_FUNC_2 &pcfg_pull_up>;
1094 };
1095 };
1096
1097 uart0 {
1098 uart0_xfer: uart0-xfer {
1099 rockchip,pins =
1100 <2 16 RK_FUNC_1 &pcfg_pull_up>,
1101 <2 17 RK_FUNC_1 &pcfg_pull_none>;
1102 };
1103
1104 uart0_cts: uart0-cts {
1105 rockchip,pins =
1106 <2 18 RK_FUNC_1 &pcfg_pull_none>;
1107 };
1108
1109 uart0_rts: uart0-rts {
1110 rockchip,pins =
1111 <2 19 RK_FUNC_1 &pcfg_pull_none>;
1112 };
1113 };
1114
1115 uart1 {
1116 uart1_xfer: uart1-xfer {
1117 rockchip,pins =
1118 <3 12 RK_FUNC_2 &pcfg_pull_up>,
1119 <3 13 RK_FUNC_2 &pcfg_pull_none>;
1120 };
1121 };
1122
1123 uart2a {
1124 uart2a_xfer: uart2a-xfer {
1125 rockchip,pins =
1126 <4 8 RK_FUNC_2 &pcfg_pull_up>,
1127 <4 9 RK_FUNC_2 &pcfg_pull_none>;
1128 };
1129 };
1130
1131 uart2b {
1132 uart2b_xfer: uart2b-xfer {
1133 rockchip,pins =
1134 <4 16 RK_FUNC_2 &pcfg_pull_up>,
1135 <4 17 RK_FUNC_2 &pcfg_pull_none>;
1136 };
1137 };
1138
1139 uart2c {
1140 uart2c_xfer: uart2c-xfer {
1141 rockchip,pins =
1142 <4 19 RK_FUNC_1 &pcfg_pull_up>,
1143 <4 20 RK_FUNC_1 &pcfg_pull_none>;
1144 };
1145 };
1146
1147 uart3 {
1148 uart3_xfer: uart3-xfer {
1149 rockchip,pins =
1150 <3 14 RK_FUNC_2 &pcfg_pull_up>,
1151 <3 15 RK_FUNC_2 &pcfg_pull_none>;
1152 };
1153
1154 uart3_cts: uart3-cts {
1155 rockchip,pins =
1156 <3 18 RK_FUNC_2 &pcfg_pull_none>;
1157 };
1158
1159 uart3_rts: uart3-rts {
1160 rockchip,pins =
1161 <3 19 RK_FUNC_2 &pcfg_pull_none>;
1162 };
1163 };
1164
1165 uart4 {
1166 uart4_xfer: uart4-xfer {
1167 rockchip,pins =
1168 <1 7 RK_FUNC_1 &pcfg_pull_up>,
1169 <1 8 RK_FUNC_1 &pcfg_pull_none>;
1170 };
1171 };
1172
1173 uarthdcp {
1174 uarthdcp_xfer: uarthdcp-xfer {
1175 rockchip,pins =
1176 <4 21 RK_FUNC_2 &pcfg_pull_up>,
1177 <4 22 RK_FUNC_2 &pcfg_pull_none>;
1178 };
1179 };
1180
1181 pwm0 {
1182 pwm0_pin: pwm0-pin {
1183 rockchip,pins =
1184 <4 18 RK_FUNC_1 &pcfg_pull_none>;
1185 };
1186
1187 vop0_pwm_pin: vop0-pwm-pin {
1188 rockchip,pins =
1189 <4 18 RK_FUNC_2 &pcfg_pull_none>;
1190 };
1191 };
1192
1193 pwm1 {
1194 pwm1_pin: pwm1-pin {
1195 rockchip,pins =
1196 <4 22 RK_FUNC_1 &pcfg_pull_none>;
1197 };
1198
1199 vop1_pwm_pin: vop1-pwm-pin {
1200 rockchip,pins =
1201 <4 18 RK_FUNC_3 &pcfg_pull_none>;
1202 };
1203 };
1204
1205 pwm2 {
1206 pwm2_pin: pwm2-pin {
1207 rockchip,pins =
1208 <1 19 RK_FUNC_1 &pcfg_pull_none>;
1209 };
1210 };
1211
1212 pwm3a {
1213 pwm3a_pin: pwm3a-pin {
1214 rockchip,pins =
1215 <0 6 RK_FUNC_1 &pcfg_pull_none>;
1216 };
1217 };
1218
1219 pwm3b {
1220 pwm3b_pin: pwm3b-pin {
1221 rockchip,pins =
1222 <1 14 RK_FUNC_1 &pcfg_pull_none>;
1223 };
1224 };
1225 };
1226};