]> git.sur5r.net Git - u-boot/blob - arch/arm/dts/rk3399.dtsi
Merge git://git.denx.de/u-boot-rockchip
[u-boot] / arch / arm / dts / rk3399.dtsi
1 /*
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>
12 #define USB_CLASS_HUB                   9
13
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;
27                 mmc0 = &sdhci;
28                 mmc1 = &sdmmc;
29                 i2c0 = &i2c0;
30         };
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>;
179                 clocks = <&cru SCLK_SDMMC>, <&cru HCLK_SDMMC>,
180                          <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
181                 clock-names = "ciu", "biu", "ciu-drive", "ciu-sample";
182                 pinctrl-names = "default";
183                 pinctrl-0 = <&sdmmc_clk>;
184                 fifo-depth = <0x100>;
185                 status = "disabled";
186         };
187
188         sdhci: sdhci@fe330000 {
189                 u-boot,dm-pre-reloc;
190                 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>;
195                 max-frequency = <200000000>;
196                 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
239         dwc3_typec0: usb@fe800000 {
240                 compatible = "rockchip,rk3399-xhci";
241                 reg = <0x0 0xfe800000 0x0 0x100000>;
242                 status = "disabled";
243                 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";
264                 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
281         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 {
421                 u-boot,dm-pre-reloc;
422                 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
433         pmusgrf: syscon@ff330000 {
434                 u-boot,dm-pre-reloc;
435                 compatible = "rockchip,rk3399-pmusgrf", "syscon";
436                 reg = <0x0 0xff330000 0x0 0xe3d4>;
437         };
438
439         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
509         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
541         pmucru: pmu-clock-controller@ff750000 {
542                 u-boot,dm-pre-reloc;
543                 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 {
552                 u-boot,dm-pre-reloc;
553                 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 {
576                 u-boot,dm-pre-reloc;
577                 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
602         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
621         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
672         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
687         pinctrl: pinctrl {
688                 u-boot,dm-pre-reloc;
689                 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
901                 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
937                 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
972                 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 };