Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[platform/kernel/u-boot.git] / arch / arm / dts / rk3328.dtsi
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
4  */
5
6 #include <dt-bindings/clock/rk3328-cru.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11
12 / {
13         compatible = "rockchip,rk3328";
14
15         interrupt-parent = <&gic>;
16         #address-cells = <2>;
17         #size-cells = <2>;
18
19         aliases {
20                 serial0 = &uart0;
21                 serial1 = &uart1;
22                 serial2 = &uart2;
23                 i2c0 = &i2c0;
24                 i2c1 = &i2c1;
25                 i2c2 = &i2c2;
26                 i2c3 = &i2c3;
27                 mmc0 = &emmc;
28                 mmc1 = &sdmmc;
29                 mmc2 = &sdmmc_ext;
30         };
31
32         cpus {
33                 #address-cells = <2>;
34                 #size-cells = <0>;
35
36                 cpu0: cpu@0 {
37                         device_type = "cpu";
38                         compatible = "arm,cortex-a53", "arm,armv8";
39                         reg = <0x0 0x0>;
40                         enable-method = "psci";
41 //                      clocks = <&cru ARMCLK>;
42                         operating-points-v2 = <&cpu0_opp_table>;
43                 };
44                 cpu1: cpu@1 {
45                         device_type = "cpu";
46                         compatible = "arm,cortex-a53", "arm,armv8";
47                         reg = <0x0 0x1>;
48                         enable-method = "psci";
49                 };
50                 cpu2: cpu@2 {
51                         device_type = "cpu";
52                         compatible = "arm,cortex-a53", "arm,armv8";
53                         reg = <0x0 0x2>;
54                         enable-method = "psci";
55                 };
56                 cpu3: cpu@3 {
57                         device_type = "cpu";
58                         compatible = "arm,cortex-a53", "arm,armv8";
59                         reg = <0x0 0x3>;
60                         enable-method = "psci";
61                 };
62         };
63
64         cpu0_opp_table: opp_table0 {
65                 compatible = "operating-points-v2";
66                 opp-shared;
67
68                 opp@408000000 {
69                         opp-hz = /bits/ 64 <408000000>;
70                         opp-microvolt = <950000>;
71                         clock-latency-ns = <40000>;
72                         opp-suspend;
73                 };
74                 opp@600000000 {
75                         opp-hz = /bits/ 64 <600000000>;
76                         opp-microvolt = <950000>;
77                         clock-latency-ns = <40000>;
78                 };
79                 opp@816000000 {
80                         opp-hz = /bits/ 64 <816000000>;
81                         opp-microvolt = <1000000>;
82                         clock-latency-ns = <40000>;
83                 };
84                 opp@1008000000 {
85                         opp-hz = /bits/ 64 <1008000000>;
86                         opp-microvolt = <1100000>;
87                         clock-latency-ns = <40000>;
88                 };
89                 opp@1200000000 {
90                         opp-hz = /bits/ 64 <1200000000>;
91                         opp-microvolt = <1225000>;
92                         clock-latency-ns = <40000>;
93                 };
94                 opp@1296000000 {
95                         opp-hz = /bits/ 64 <1296000000>;
96                         opp-microvolt = <1300000>;
97                         clock-latency-ns = <40000>;
98                 };
99         };
100
101         arm-pmu {
102                 compatible = "arm,cortex-a53-pmu";
103                 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
104                              <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
105                              <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
106                              <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
107                 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
108         };
109
110         psci {
111                 compatible = "arm,psci-1.0";
112                 method = "smc";
113         };
114
115         timer {
116                 compatible = "arm,armv8-timer";
117                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
118                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
119                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
120                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
121         };
122
123         xin24m: xin24m {
124                 compatible = "fixed-clock";
125                 #clock-cells = <0>;
126                 clock-frequency = <24000000>;
127                 clock-output-names = "xin24m";
128         };
129
130         i2s0: i2s@ff000000 {
131                 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
132                 reg = <0x0 0xff000000 0x0 0x1000>;
133                 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
134                 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
135                 clock-names = "i2s_clk", "i2s_hclk";
136                 dmas = <&dmac 11>, <&dmac 12>;
137                 #dma-cells = <2>;
138                 dma-names = "tx", "rx";
139                 status = "disabled";
140         };
141
142         i2s1: i2s@ff010000 {
143                 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
144                 reg = <0x0 0xff010000 0x0 0x1000>;
145                 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
146                 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
147                 clock-names = "i2s_clk", "i2s_hclk";
148                 dmas = <&dmac 14>, <&dmac 15>;
149                 #dma-cells = <2>;
150                 dma-names = "tx", "rx";
151                 status = "disabled";
152         };
153
154         i2s2: i2s@ff020000 {
155                 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
156                 reg = <0x0 0xff020000 0x0 0x1000>;
157                 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
158                 clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
159                 clock-names = "i2s_clk", "i2s_hclk";
160                 dmas = <&dmac 0>, <&dmac 1>;
161                 #dma-cells = <2>;
162                 dma-names = "tx", "rx";
163                 pinctrl-names = "default", "sleep";
164                 pinctrl-0 = <&i2s2m0_mclk
165                              &i2s2m0_sclk
166                              &i2s2m0_lrcktx
167                              &i2s2m0_lrckrx
168                              &i2s2m0_sdo
169                              &i2s2m0_sdi>;
170                 pinctrl-1 = <&i2s2m0_sleep>;
171                 status = "disabled";
172         };
173
174         spdif: spdif@ff030000 {
175                 compatible = "rockchip,rk3328-spdif";
176                 reg = <0x0 0xff030000 0x0 0x1000>;
177                 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
178                 clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
179                 clock-names = "mclk", "hclk";
180                 dmas = <&dmac 10>;
181                 #dma-cells = <1>;
182                 dma-names = "tx";
183                 pinctrl-names = "default";
184                 pinctrl-0 = <&spdifm2_tx>;
185                 status = "disabled";
186         };
187
188         grf: syscon@ff100000 {
189                 u-boot,dm-pre-reloc;
190                 compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
191                 reg = <0x0 0xff100000 0x0 0x1000>;
192
193                 io_domains: io-domains {
194                         compatible = "rockchip,rk3328-io-voltage-domain";
195                         status = "disabled";
196                 };
197         };
198
199         uart0: serial@ff110000 {
200                 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
201                 reg = <0x0 0xff110000 0x0 0x100>;
202                 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
203                 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
204                 clock-names = "baudclk", "apb_pclk";
205                 reg-shift = <2>;
206                 reg-io-width = <4>;
207                 dmas = <&dmac 2>, <&dmac 3>;
208                 #dma-cells = <2>;
209                 pinctrl-names = "default";
210                 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
211                 status = "disabled";
212         };
213
214         uart1: serial@ff120000 {
215                 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
216                 reg = <0x0 0xff120000 0x0 0x100>;
217                 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
218                 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
219                 clock-names = "sclk_uart", "pclk_uart";
220                 reg-shift = <2>;
221                 reg-io-width = <4>;
222                 dmas = <&dmac 4>, <&dmac 5>;
223                 #dma-cells = <2>;
224                 pinctrl-names = "default";
225                 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
226                 status = "disabled";
227         };
228
229         uart2: serial@ff130000 {
230                 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
231                 reg = <0x0 0xff130000 0x0 0x100>;
232                 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
233                 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
234                 clock-names = "baudclk", "apb_pclk";
235                 clock-frequency = <24000000>;
236                 reg-shift = <2>;
237                 reg-io-width = <4>;
238                 dmas = <&dmac 6>, <&dmac 7>;
239                 #dma-cells = <2>;
240                 pinctrl-names = "default";
241                 pinctrl-0 = <&uart2m1_xfer>;
242                 status = "disabled";
243         };
244
245         pmu: power-management@ff140000 {
246                 compatible = "rockchip,rk3328-pmu", "syscon", "simple-mfd";
247                 reg = <0x0 0xff140000 0x0 0x1000>;
248         };
249
250         i2c0: i2c@ff150000 {
251                 compatible = "rockchip,rk3328-i2c";
252                 reg = <0x0 0xff150000 0x0 0x1000>;
253                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
254                 #address-cells = <1>;
255                 #size-cells = <0>;
256                 clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
257                 clock-names = "i2c", "pclk";
258                 pinctrl-names = "default";
259                 pinctrl-0 = <&i2c0_xfer>;
260                 status = "disabled";
261         };
262
263         i2c1: i2c@ff160000 {
264                 compatible = "rockchip,rk3328-i2c";
265                 reg = <0x0 0xff160000 0x0 0x1000>;
266                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
267                 #address-cells = <1>;
268                 #size-cells = <0>;
269                 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
270                 clock-names = "i2c", "pclk";
271                 pinctrl-names = "default";
272                 pinctrl-0 = <&i2c1_xfer>;
273                 status = "disabled";
274         };
275
276         i2c2: i2c@ff170000 {
277                 compatible = "rockchip,rk3328-i2c";
278                 reg = <0x0 0xff170000 0x0 0x1000>;
279                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
280                 #address-cells = <1>;
281                 #size-cells = <0>;
282                 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
283                 clock-names = "i2c", "pclk";
284                 pinctrl-names = "default";
285                 pinctrl-0 = <&i2c2_xfer>;
286                 status = "disabled";
287         };
288
289         i2c3: i2c@ff180000 {
290                 compatible = "rockchip,rk3328-i2c";
291                 reg = <0x0 0xff180000 0x0 0x1000>;
292                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
293                 #address-cells = <1>;
294                 #size-cells = <0>;
295                 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
296                 clock-names = "i2c", "pclk";
297                 pinctrl-names = "default";
298                 pinctrl-0 = <&i2c3_xfer>;
299                 status = "disabled";
300         };
301
302         spi0: spi@ff190000 {
303                 compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi";
304                 reg = <0x0 0xff190000 0x0 0x1000>;
305                 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
306                 #address-cells = <1>;
307                 #size-cells = <0>;
308                 clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
309                 clock-names = "spiclk", "apb_pclk";
310                 dmas = <&dmac 8>, <&dmac 9>;
311                 #dma-cells = <2>;
312                 dma-names = "tx", "rx";
313                 pinctrl-names = "default";
314                 pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>;
315                 status = "disabled";
316         };
317
318         wdt: watchdog@ff1a0000 {
319                 compatible = "snps,dw-wdt";
320                 reg = <0x0 0xff1a0000 0x0 0x100>;
321                 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
322                 status = "disabled";
323         };
324
325         amba {
326                 compatible = "simple-bus";
327                 #address-cells = <2>;
328                 #size-cells = <2>;
329                 ranges;
330
331                 dmac: dmac@ff1f0000 {
332                         compatible = "arm,pl330", "arm,primecell";
333                         reg = <0x0 0xff1f0000 0x0 0x4000>;
334                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
335                                      <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
336                         clocks = <&cru ACLK_DMAC>;
337                         clock-names = "apb_pclk";
338                         #dma-cells = <1>;
339                 };
340         };
341
342         saradc: saradc@ff280000 {
343                 compatible = "rockchip,rk3328-saradc", "rockchip,saradc";
344                 reg = <0x0 0xff280000 0x0 0x100>;
345                 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
346                 #io-channel-cells = <1>;
347                 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
348                 clock-names = "saradc", "apb_pclk";
349                 resets = <&cru SRST_SARADC_P>;
350                 reset-names = "saradc-apb";
351                 status = "disabled";
352         };
353
354         dmc: dmc@ff400000 {
355                 u-boot,dm-pre-reloc;
356                 compatible = "rockchip,rk3328-dmc", "syscon";
357                 reg = <0x0 0xff400000 0x0 0x1000>;
358         };
359
360         cru: clock-controller@ff440000 {
361                 compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
362                 reg = <0x0 0xff440000 0x0 0x1000>;
363                 rockchip,grf = <&grf>;
364                 #clock-cells = <1>;
365                 #reset-cells = <1>;
366                 assigned-clocks =
367                         <&cru DCLK_LCDC>, <&cru SCLK_PDM>,
368                         <&cru SCLK_RTC32K>, <&cru SCLK_UART0>,
369                         <&cru SCLK_UART1>, <&cru SCLK_UART2>,
370                         <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
371                         <&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>,
372                         <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
373                         <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
374                         <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
375                         <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
376                         <&cru SCLK_SDIO>, <&cru SCLK_TSP>,
377                         <&cru SCLK_WIFI>, <&cru ARMCLK>,
378                         <&cru PLL_GPLL>, <&cru PLL_CPLL>,
379                         <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
380                         <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
381                         <&cru HCLK_PERI>, <&cru PCLK_PERI>,
382                         <&cru ACLK_VIO_PRE>, <&cru HCLK_VIO_PRE>,
383                         <&cru ACLK_RGA_PRE>, <&cru SCLK_RGA>,
384                         <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
385                         <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
386                         <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
387                         <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
388                         <&cru SCLK_EFUSE>, <&cru PCLK_DDR>,
389                         <&cru ACLK_GMAC>, <&cru PCLK_GMAC>,
390                         <&cru SCLK_RTC32K>, <&cru SCLK_USB3OTG_SUSPEND>;
391                 assigned-clock-parents =
392                         <&cru HDMIPHY>, <&cru PLL_APLL>,
393                         <&cru PLL_GPLL>, <&xin24m>,
394                         <&xin24m>, <&xin24m>;
395                 assigned-clock-rates =
396                         <0>, <61440000>,
397                         <0>, <24000000>,
398                         <24000000>, <24000000>,
399                         <15000000>, <15000000>,
400                         <100000000>, <100000000>,
401                         <100000000>, <100000000>,
402                         <50000000>, <100000000>,
403                         <100000000>, <100000000>,
404                         <50000000>, <50000000>,
405                         <50000000>, <50000000>,
406                         <24000000>, <600000000>,
407                         <491520000>, <1200000000>,
408                         <150000000>, <75000000>,
409                         <75000000>, <150000000>,
410                         <75000000>, <75000000>,
411                         <300000000>, <100000000>,
412                         <300000000>, <200000000>,
413                         <400000000>, <500000000>,
414                         <200000000>, <300000000>,
415                         <300000000>, <250000000>,
416                         <200000000>, <100000000>,
417                         <24000000>, <100000000>,
418                         <150000000>, <50000000>,
419                         <32768>, <32768>;
420         };
421
422         sdmmc: rksdmmc@ff500000 {
423                 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
424                 reg = <0x0 0xff500000 0x0 0x4000>;
425                 max-frequency = <150000000>;
426                 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
427                 clock-names = "biu", "ciu";
428                 fifo-depth = <0x100>;
429                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
430                 status = "disabled";
431         };
432
433         sdio: dwmmc@ff510000 {
434                 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
435                 reg = <0x0 0xff510000 0x0 0x4000>;
436                 max-frequency = <150000000>;
437                 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
438                          <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
439                 clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
440                 fifo-depth = <0x100>;
441                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
442                 status = "disabled";
443         };
444
445         emmc: rksdmmc@ff520000 {
446                 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
447                 reg = <0x0 0xff520000 0x0 0x4000>;
448                 max-frequency = <150000000>;
449                 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
450                 clock-names = "biu", "ciu";
451                 fifo-depth = <0x100>;
452                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
453                 status = "disabled";
454         };
455
456         gmac2io: ethernet@ff540000 {
457                 compatible = "rockchip,rk3328-gmac";
458                 reg = <0x0 0xff540000 0x0 0x10000>;
459                 rockchip,grf = <&grf>;
460                 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
461                 interrupt-names = "macirq";
462                 clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>,
463                          <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>,
464                          <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>,
465                          <&cru PCLK_MAC2IO>;
466                 clock-names = "stmmaceth", "mac_clk_rx",
467                               "mac_clk_tx", "clk_mac_ref",
468                               "clk_mac_refout", "aclk_mac",
469                               "pclk_mac";
470                 resets = <&cru SRST_GMAC2IO_A>;
471                 reset-names = "stmmaceth";
472                 status = "disabled";
473         };
474
475         usb_host0_ehci: usb@ff5c0000 {
476                 compatible = "generic-ehci";
477                 reg = <0x0 0xff5c0000 0x0 0x10000>;
478                 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
479                 status = "disabled";
480         };
481
482         usb_host0_ohci: usb@ff5d0000 {
483                 compatible = "generic-ohci";
484                 reg = <0x0 0xff5d0000 0x0 0x10000>;
485                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
486                 status = "disabled";
487         };
488
489         usb20_otg: usb@ff580000 {
490                 compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb",
491                              "snps,dwc2";
492                 reg = <0x0 0xff580000 0x0 0x40000>;
493                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
494                 hnp-srp-disable;
495                 dr_mode = "otg";
496                 status = "disabled";
497         };
498
499         sdmmc_ext: rksdmmc@ff5f0000 {
500                 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
501                 reg = <0x0 0xff5f0000 0x0 0x4000>;
502                 max-frequency = <150000000>;
503                 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
504                 clock-names = "biu", "ciu";
505                 fifo-depth = <0x100>;
506                 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
507                 status = "disabled";
508         };
509
510         usb_host0_xhci: usb@ff600000 {
511                 compatible = "rockchip,rk3328-xhci";
512                 reg = <0x0 0xff600000 0x0 0x100000>;
513                 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
514                 snps,dis-enblslpm-quirk;
515                 snps,phyif-utmi-bits = <16>;
516                 snps,dis-u2-freeclk-exists-quirk;
517                 snps,dis-u2-susphy-quirk;
518                 status = "disabled";
519         };
520
521         gic: interrupt-controller@ffb70000 {
522                 compatible = "arm,gic-400";
523                 #interrupt-cells = <3>;
524                 #address-cells = <0>;
525                 interrupt-controller;
526                 reg = <0x0 0xff811000 0 0x1000>,
527                       <0x0 0xff812000 0 0x2000>,
528                       <0x0 0xff814000 0 0x2000>,
529                       <0x0 0xff816000 0 0x2000>;
530                 interrupts = <GIC_PPI 9
531                       (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
532         };
533
534         pinctrl: pinctrl {
535                 compatible = "rockchip,rk3328-pinctrl";
536                 rockchip,grf = <&grf>;
537                 #address-cells = <2>;
538                 #size-cells = <2>;
539                 ranges;
540
541                 gpio0: gpio0@ff210000 {
542                         compatible = "rockchip,gpio-bank";
543                         reg = <0x0 0xff210000 0x0 0x100>;
544                         interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
545                         clocks = <&cru PCLK_GPIO0>;
546
547                         gpio-controller;
548                         #gpio-cells = <2>;
549
550                         interrupt-controller;
551                         #interrupt-cells = <2>;
552                 };
553
554                 gpio1: gpio1@ff220000 {
555                         compatible = "rockchip,gpio-bank";
556                         reg = <0x0 0xff220000 0x0 0x100>;
557                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
558                         clocks = <&cru PCLK_GPIO1>;
559
560                         gpio-controller;
561                         #gpio-cells = <2>;
562
563                         interrupt-controller;
564                         #interrupt-cells = <2>;
565                 };
566
567                 gpio2: gpio2@ff230000 {
568                         compatible = "rockchip,gpio-bank";
569                         reg = <0x0 0xff230000 0x0 0x100>;
570                         interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
571                         clocks = <&cru PCLK_GPIO2>;
572
573                         gpio-controller;
574                         #gpio-cells = <2>;
575
576                         interrupt-controller;
577                         #interrupt-cells = <2>;
578                 };
579
580                 gpio3: gpio3@ff240000 {
581                         compatible = "rockchip,gpio-bank";
582                         reg = <0x0 0xff240000 0x0 0x100>;
583                         interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
584                         clocks = <&cru PCLK_GPIO3>;
585
586                         gpio-controller;
587                         #gpio-cells = <2>;
588
589                         interrupt-controller;
590                         #interrupt-cells = <2>;
591                 };
592
593                 pcfg_pull_up: pcfg-pull-up {
594                         bias-pull-up;
595                 };
596
597                 pcfg_pull_down: pcfg-pull-down {
598                         bias-pull-down;
599                 };
600
601                 pcfg_pull_none: pcfg-pull-none {
602                         bias-disable;
603                 };
604
605                 pcfg_pull_none_2ma: pcfg-pull-none-2ma {
606                         bias-disable;
607                         drive-strength = <2>;
608                 };
609
610                 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
611                         bias-pull-up;
612                         drive-strength = <2>;
613                 };
614
615                 pcfg_pull_up_4ma: pcfg-pull-up-4ma {
616                         bias-pull-up;
617                         drive-strength = <4>;
618                 };
619
620                 pcfg_pull_none_4ma: pcfg-pull-none-4ma {
621                         bias-disable;
622                         drive-strength = <4>;
623                 };
624
625                 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
626                         bias-pull-down;
627                         drive-strength = <4>;
628                 };
629
630                 pcfg_pull_none_8ma: pcfg-pull-none-8ma {
631                         bias-disable;
632                         drive-strength = <8>;
633                 };
634
635                 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
636                         bias-pull-up;
637                         drive-strength = <8>;
638                 };
639
640                 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
641                         bias-disable;
642                         drive-strength = <12>;
643                 };
644
645                 pcfg_pull_up_12ma: pcfg-pull-up-12ma {
646                         bias-pull-up;
647                         drive-strength = <12>;
648                 };
649
650                 pcfg_output_high: pcfg-output-high {
651                         output-high;
652                 };
653
654                 pcfg_output_low: pcfg-output-low {
655                         output-low;
656                 };
657
658                 pcfg_input_high: pcfg-input-high {
659                         bias-pull-up;
660                         input-enable;
661                 };
662
663                 pcfg_input: pcfg-input {
664                         input-enable;
665                 };
666
667                 i2c0 {
668                         i2c0_xfer: i2c0-xfer {
669                                 rockchip,pins =
670                                         <2 24 RK_FUNC_1 &pcfg_pull_none>,
671                                         <2 25 RK_FUNC_1 &pcfg_pull_none>;
672                         };
673                 };
674
675                 i2c1 {
676                         i2c1_xfer: i2c1-xfer {
677                                 rockchip,pins =
678                                         <2 4 RK_FUNC_2 &pcfg_pull_none>,
679                                         <2 5 RK_FUNC_2 &pcfg_pull_none>;
680                         };
681                 };
682
683                 i2c2 {
684                         i2c2_xfer: i2c2-xfer {
685                                 rockchip,pins =
686                                         <2 13 RK_FUNC_1 &pcfg_pull_none>,
687                                         <2 14 RK_FUNC_1 &pcfg_pull_none>;
688                         };
689                 };
690
691                 i2c3 {
692                         i2c3_xfer: i2c3-xfer {
693                                 rockchip,pins =
694                                         <0 5 RK_FUNC_2 &pcfg_pull_none>,
695                                         <0 6 RK_FUNC_2 &pcfg_pull_none>;
696                         };
697                         i2c3_gpio: i2c3-gpio {
698                                 rockchip,pins =
699                                         <0 5 RK_FUNC_GPIO &pcfg_pull_none>,
700                                         <0 6 RK_FUNC_GPIO &pcfg_pull_none>;
701                         };
702                 };
703
704                 hdmi_i2c {
705                         hdmii2c_xfer: hdmii2c-xfer {
706                                 rockchip,pins =
707                                         <0 5 RK_FUNC_1 &pcfg_pull_none>,
708                                         <0 6 RK_FUNC_1 &pcfg_pull_none>;
709                         };
710                 };
711
712                 uart0 {
713                         uart0_xfer: uart0-xfer {
714                                 rockchip,pins =
715                                         <1 9 RK_FUNC_1 &pcfg_pull_up>,
716                                         <1 8 RK_FUNC_1 &pcfg_pull_none>;
717                         };
718
719                         uart0_cts: uart0-cts {
720                                 rockchip,pins =
721                                         <1 11 RK_FUNC_1 &pcfg_pull_none>;
722                         };
723
724                         uart0_rts: uart0-rts {
725                                 rockchip,pins =
726                                         <1 10 RK_FUNC_1 &pcfg_pull_none>;
727                         };
728
729                         uart0_rts_gpio: uart0-rts-gpio {
730                                 rockchip,pins =
731                                         <1 10 RK_FUNC_GPIO &pcfg_pull_none>;
732                         };
733                 };
734
735                 uart1 {
736                         uart1_xfer: uart1-xfer {
737                                 rockchip,pins =
738                                         <3 4 RK_FUNC_4 &pcfg_pull_up>,
739                                         <3 6 RK_FUNC_4 &pcfg_pull_none>;
740                         };
741
742                         uart1_cts: uart1-cts {
743                                 rockchip,pins =
744                                         <3 7 RK_FUNC_4 &pcfg_pull_none>;
745                         };
746
747                         uart1_rts: uart1-rts {
748                                 rockchip,pins =
749                                         <3 5 RK_FUNC_4 &pcfg_pull_none>;
750                         };
751
752                         uart1_rts_gpio: uart1-rts-gpio {
753                                 rockchip,pins =
754                                         <3 5 RK_FUNC_GPIO &pcfg_pull_none>;
755                         };
756                 };
757
758                 uart2-0 {
759                         uart2m0_xfer: uart2m0-xfer {
760                                 rockchip,pins =
761                                         <1 0 RK_FUNC_2 &pcfg_pull_up>,
762                                         <1 1 RK_FUNC_2 &pcfg_pull_none>;
763                         };
764                 };
765
766                 uart2-1 {
767                         uart2m1_xfer: uart2m1-xfer {
768                                 rockchip,pins =
769                                         <2 0 RK_FUNC_1 &pcfg_pull_up>,
770                                         <2 1 RK_FUNC_1 &pcfg_pull_none>;
771                         };
772                 };
773
774                 spi0-0 {
775                         spi0m0_clk: spi0m0-clk {
776                                 rockchip,pins =
777                                         <2 8 RK_FUNC_1 &pcfg_pull_up>;
778                         };
779
780                         spi0m0_cs0: spi0m0-cs0 {
781                                 rockchip,pins =
782                                         <2 11 RK_FUNC_1 &pcfg_pull_up>;
783                         };
784
785                         spi0m0_tx: spi0m0-tx {
786                                 rockchip,pins =
787                                         <2 9 RK_FUNC_1 &pcfg_pull_up>;
788                         };
789
790                         spi0m0_rx: spi0m0-rx {
791                                 rockchip,pins =
792                                         <2 10 RK_FUNC_1 &pcfg_pull_up>;
793                         };
794
795                         spi0m0_cs1: spi0m0-cs1 {
796                                 rockchip,pins =
797                                         <2 12 RK_FUNC_1 &pcfg_pull_up>;
798                         };
799                 };
800
801                 spi0-1 {
802                         spi0m1_clk: spi0m1-clk {
803                                 rockchip,pins =
804                                         <3 23 RK_FUNC_2 &pcfg_pull_up>;
805                         };
806
807                         spi0m1_cs0: spi0m1-cs0 {
808                                 rockchip,pins =
809                                         <3 26 RK_FUNC_2 &pcfg_pull_up>;
810                         };
811
812                         spi0m1_tx: spi0m1-tx {
813                                 rockchip,pins =
814                                         <3 25 RK_FUNC_2 &pcfg_pull_up>;
815                         };
816
817                         spi0m1_rx: spi0m1-rx {
818                                 rockchip,pins =
819                                         <3 24 RK_FUNC_2 &pcfg_pull_up>;
820                         };
821
822                         spi0m1_cs1: spi0m1-cs1 {
823                                 rockchip,pins =
824                                         <3 27 RK_FUNC_2 &pcfg_pull_up>;
825                         };
826                 };
827
828                 spi0-2 {
829                         spi0m2_clk: spi0m2-clk {
830                                 rockchip,pins =
831                                         <3 0 RK_FUNC_4 &pcfg_pull_up>;
832                         };
833
834                         spi0m2_cs0: spi0m2-cs0 {
835                                 rockchip,pins =
836                                         <3 8 RK_FUNC_3 &pcfg_pull_up>;
837                         };
838
839                         spi0m2_tx: spi0m2-tx {
840                                 rockchip,pins =
841                                         <3 1 RK_FUNC_4 &pcfg_pull_up>;
842                         };
843
844                         spi0m2_rx: spi0m2-rx {
845                                 rockchip,pins =
846                                         <3 2 RK_FUNC_4 &pcfg_pull_up>;
847                         };
848                 };
849
850                 i2s1 {
851                         i2s1_mclk: i2s1-mclk {
852                                 rockchip,pins =
853                                         <2 15 RK_FUNC_1 &pcfg_pull_none>;
854                         };
855
856                         i2s1_sclk: i2s1-sclk {
857                                 rockchip,pins =
858                                         <2 18 RK_FUNC_1 &pcfg_pull_none>;
859                         };
860
861                         i2s1_lrckrx: i2s1-lrckrx {
862                                 rockchip,pins =
863                                         <2 16 RK_FUNC_1 &pcfg_pull_none>;
864                         };
865
866                         i2s1_lrcktx: i2s1-lrcktx {
867                                 rockchip,pins =
868                                         <2 17 RK_FUNC_1 &pcfg_pull_none>;
869                         };
870
871                         i2s1_sdi: i2s1-sdi {
872                                 rockchip,pins =
873                                         <2 19 RK_FUNC_1 &pcfg_pull_none>;
874                         };
875
876                         i2s1_sdo: i2s1-sdo {
877                                 rockchip,pins =
878                                         <2 23 RK_FUNC_1 &pcfg_pull_none>;
879                         };
880
881                         i2s1_sdio1: i2s1-sdio1 {
882                                 rockchip,pins =
883                                         <2 20 RK_FUNC_1 &pcfg_pull_none>;
884                         };
885
886                         i2s1_sdio2: i2s1-sdio2 {
887                                 rockchip,pins =
888                                         <2 21 RK_FUNC_1 &pcfg_pull_none>;
889                         };
890
891                         i2s1_sdio3: i2s1-sdio3 {
892                                 rockchip,pins =
893                                         <2 22 RK_FUNC_1 &pcfg_pull_none>;
894                         };
895
896                         i2s1_sleep: i2s1-sleep {
897                                 rockchip,pins =
898                                         <2 15 RK_FUNC_GPIO &pcfg_input_high>,
899                                         <2 16 RK_FUNC_GPIO &pcfg_input_high>,
900                                         <2 17 RK_FUNC_GPIO &pcfg_input_high>,
901                                         <2 18 RK_FUNC_GPIO &pcfg_input_high>,
902                                         <2 19 RK_FUNC_GPIO &pcfg_input_high>,
903                                         <2 20 RK_FUNC_GPIO &pcfg_input_high>,
904                                         <2 21 RK_FUNC_GPIO &pcfg_input_high>,
905                                         <2 22 RK_FUNC_GPIO &pcfg_input_high>,
906                                         <2 23 RK_FUNC_GPIO &pcfg_input_high>;
907                         };
908                 };
909
910                 i2s2-0 {
911                         i2s2m0_mclk: i2s2m0-mclk {
912                                 rockchip,pins =
913                                         <1 21 RK_FUNC_1 &pcfg_pull_none>;
914                         };
915
916                         i2s2m0_sclk: i2s2m0-sclk {
917                                 rockchip,pins =
918                                         <1 22 RK_FUNC_1 &pcfg_pull_none>;
919                         };
920
921                         i2s2m0_lrckrx: i2s2m0-lrckrx {
922                                 rockchip,pins =
923                                         <1 26 RK_FUNC_1 &pcfg_pull_none>;
924                         };
925
926                         i2s2m0_lrcktx: i2s2m0-lrcktx {
927                                 rockchip,pins =
928                                         <1 23 RK_FUNC_1 &pcfg_pull_none>;
929                         };
930
931                         i2s2m0_sdi: i2s2m0-sdi {
932                                 rockchip,pins =
933                                         <1 24 RK_FUNC_1 &pcfg_pull_none>;
934                         };
935
936                         i2s2m0_sdo: i2s2m0-sdo {
937                                 rockchip,pins =
938                                         <1 25 RK_FUNC_1 &pcfg_pull_none>;
939                         };
940
941                         i2s2m0_sleep: i2s2m0-sleep {
942                                 rockchip,pins =
943                                         <1 21 RK_FUNC_GPIO &pcfg_input_high>,
944                                         <1 22 RK_FUNC_GPIO &pcfg_input_high>,
945                                         <1 26 RK_FUNC_GPIO &pcfg_input_high>,
946                                         <1 23 RK_FUNC_GPIO &pcfg_input_high>,
947                                         <1 24 RK_FUNC_GPIO &pcfg_input_high>,
948                                         <1 25 RK_FUNC_GPIO &pcfg_input_high>;
949                         };
950                 };
951
952                 i2s2-1 {
953                         i2s2m1_mclk: i2s2m1-mclk {
954                                 rockchip,pins =
955                                         <1 21 RK_FUNC_1 &pcfg_pull_none>;
956                         };
957
958                         i2s2m1_sclk: i2s2m1-sclk {
959                                 rockchip,pins =
960                                         <3 0 RK_FUNC_6 &pcfg_pull_none>;
961                         };
962
963                         i2s2m1_lrckrx: i2sm1-lrckrx {
964                                 rockchip,pins =
965                                         <3 8 RK_FUNC_6 &pcfg_pull_none>;
966                         };
967
968                         i2s2m1_lrcktx: i2s2m1-lrcktx {
969                                 rockchip,pins =
970                                         <3 8 RK_FUNC_4 &pcfg_pull_none>;
971                         };
972
973                         i2s2m1_sdi: i2s2m1-sdi {
974                                 rockchip,pins =
975                                         <3 2 RK_FUNC_6 &pcfg_pull_none>;
976                         };
977
978                         i2s2m1_sdo: i2s2m1-sdo {
979                                 rockchip,pins =
980                                         <3 1 RK_FUNC_6 &pcfg_pull_none>;
981                         };
982
983                         i2s2m1_sleep: i2s2m1-sleep {
984                                 rockchip,pins =
985                                         <1 21 RK_FUNC_GPIO &pcfg_input_high>,
986                                         <3 0 RK_FUNC_GPIO &pcfg_input_high>,
987                                         <3 8 RK_FUNC_GPIO &pcfg_input_high>,
988                                         <3 2 RK_FUNC_GPIO &pcfg_input_high>,
989                                         <3 1 RK_FUNC_GPIO &pcfg_input_high>;
990                         };
991                 };
992
993                 spdif-0 {
994                         spdifm0_tx: spdifm0-tx {
995                                 rockchip,pins =
996                                         <0 27 RK_FUNC_1 &pcfg_pull_none>;
997                         };
998                 };
999
1000                 spdif-1 {
1001                         spdifm1_tx: spdifm1-tx {
1002                                 rockchip,pins =
1003                                         <2 17 RK_FUNC_2 &pcfg_pull_none>;
1004                         };
1005                 };
1006
1007                 spdif-2 {
1008                         spdifm2_tx: spdifm2-tx {
1009                                 rockchip,pins =
1010                                         <0 2 RK_FUNC_2 &pcfg_pull_none>;
1011                         };
1012                 };
1013
1014                 sdmmc0-0 {
1015                         sdmmc0m0_pwren: sdmmc0m0-pwren {
1016                                 rockchip,pins =
1017                                         <2 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
1018                         };
1019
1020                         sdmmc0m0_gpio: sdmmc0m0-gpio {
1021                                 rockchip,pins =
1022                                         <2 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1023                         };
1024                 };
1025
1026                 sdmmc0-1 {
1027                         sdmmc0m1_pwren: sdmmc0m1-pwren {
1028                                 rockchip,pins =
1029                                         <0 30 RK_FUNC_3 &pcfg_pull_up_4ma>;
1030                         };
1031
1032                         sdmmc0m1_gpio: sdmmc0m1-gpio {
1033                                 rockchip,pins =
1034                                         <0 30 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1035                         };
1036                 };
1037
1038                 sdmmc0 {
1039                         sdmmc0_clk: sdmmc0-clk {
1040                                 rockchip,pins =
1041                                         <1 6 RK_FUNC_1 &pcfg_pull_none_4ma>;
1042                         };
1043
1044                         sdmmc0_cmd: sdmmc0-cmd {
1045                                 rockchip,pins =
1046                                         <1 4 RK_FUNC_1 &pcfg_pull_up_4ma>;
1047                         };
1048
1049                         sdmmc0_dectn: sdmmc0-dectn {
1050                                 rockchip,pins =
1051                                         <1 5 RK_FUNC_1 &pcfg_pull_up_4ma>;
1052                         };
1053
1054                         sdmmc0_wrprt: sdmmc0-wrprt {
1055                                 rockchip,pins =
1056                                         <1 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
1057                         };
1058
1059                         sdmmc0_bus1: sdmmc0-bus1 {
1060                                 rockchip,pins =
1061                                         <1 0 RK_FUNC_1 &pcfg_pull_up_4ma>;
1062                         };
1063
1064                         sdmmc0_bus4: sdmmc0-bus4 {
1065                                 rockchip,pins =
1066                                         <1 0 RK_FUNC_1 &pcfg_pull_up_4ma>,
1067                                         <1 1 RK_FUNC_1 &pcfg_pull_up_4ma>,
1068                                         <1 2 RK_FUNC_1 &pcfg_pull_up_4ma>,
1069                                         <1 3 RK_FUNC_1 &pcfg_pull_up_4ma>;
1070                         };
1071
1072                         sdmmc0_gpio: sdmmc0-gpio {
1073                                 rockchip,pins =
1074                                         <1 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1075                                         <1 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1076                                         <1 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1077                                         <1 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1078                                         <1 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1079                                         <1 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1080                                         <1 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1081                                         <1 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1082                         };
1083                 };
1084
1085                 sdmmc0ext {
1086                         sdmmc0ext_clk: sdmmc0ext-clk {
1087                                 rockchip,pins =
1088                                         <3 2 RK_FUNC_3 &pcfg_pull_none_4ma>;
1089                         };
1090
1091                         sdmmc0ext_cmd: sdmmc0ext-cmd {
1092                                 rockchip,pins =
1093                                         <3 0 RK_FUNC_3 &pcfg_pull_up_4ma>;
1094                         };
1095
1096                         sdmmc0ext_wrprt: sdmmc0ext-wrprt {
1097                                 rockchip,pins =
1098                                         <3 3 RK_FUNC_3 &pcfg_pull_up_4ma>;
1099                         };
1100
1101                         sdmmc0ext_dectn: sdmmc0ext-dectn {
1102                                 rockchip,pins =
1103                                         <3 1 RK_FUNC_3 &pcfg_pull_up_4ma>;
1104                         };
1105
1106                         sdmmc0ext_bus1: sdmmc0ext-bus1 {
1107                                 rockchip,pins =
1108                                         <3 4 RK_FUNC_3 &pcfg_pull_up_4ma>;
1109                         };
1110
1111                         sdmmc0ext_bus4: sdmmc0ext-bus4 {
1112                                 rockchip,pins =
1113                                         <3 4 RK_FUNC_3 &pcfg_pull_up_4ma>,
1114                                         <3 5 RK_FUNC_3 &pcfg_pull_up_4ma>,
1115                                         <3 6 RK_FUNC_3 &pcfg_pull_up_4ma>,
1116                                         <3 7 RK_FUNC_3 &pcfg_pull_up_4ma>;
1117                         };
1118
1119                         sdmmc0ext_gpio: sdmmc0ext-gpio {
1120                                 rockchip,pins =
1121                                         <3 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1122                                         <3 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1123                                         <3 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1124                                         <3 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1125                                         <3 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1126                                         <3 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1127                                         <3 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1128                                         <3 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1129                         };
1130                 };
1131
1132                 sdmmc1 {
1133                         sdmmc1_clk: sdmmc1-clk {
1134                                 rockchip,pins =
1135                                         <1 12 RK_FUNC_1 &pcfg_pull_none_8ma>;
1136                         };
1137
1138                         sdmmc1_cmd: sdmmc1-cmd {
1139                                 rockchip,pins =
1140                                         <1 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
1141                         };
1142
1143                         sdmmc1_pwren: sdmmc1-pwren {
1144                                 rockchip,pins =
1145                                         <1 18 RK_FUNC_1 &pcfg_pull_up_8ma>;
1146                         };
1147
1148                         sdmmc1_wrprt: sdmmc1-wrprt {
1149                                 rockchip,pins =
1150                                         <1 20 RK_FUNC_1 &pcfg_pull_up_8ma>;
1151                         };
1152
1153                         sdmmc1_dectn: sdmmc1-dectn {
1154                                 rockchip,pins =
1155                                         <1 19 RK_FUNC_1 &pcfg_pull_up_8ma>;
1156                         };
1157
1158                         sdmmc1_bus1: sdmmc1-bus1 {
1159                                 rockchip,pins =
1160                                         <1 14 RK_FUNC_1 &pcfg_pull_up_8ma>;
1161                         };
1162
1163                         sdmmc1_bus4: sdmmc1-bus4 {
1164                                 rockchip,pins =
1165                                         <1 12 RK_FUNC_1 &pcfg_pull_up_8ma>,
1166                                         <1 13 RK_FUNC_1 &pcfg_pull_up_8ma>,
1167                                         <1 16 RK_FUNC_1 &pcfg_pull_up_8ma>,
1168                                         <1 17 RK_FUNC_1 &pcfg_pull_up_8ma>;
1169                         };
1170
1171                         sdmmc1_gpio: sdmmc1-gpio {
1172                                 rockchip,pins =
1173                                         <1 12 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1174                                         <1 13 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1175                                         <1 14 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1176                                         <1 15 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1177                                         <1 16 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1178                                         <1 17 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1179                                         <1 18 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1180                                         <1 19 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1181                                         <1 20 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1182                         };
1183                 };
1184
1185                 emmc {
1186                         emmc_clk: emmc-clk {
1187                                 rockchip,pins =
1188                                         <3 21 RK_FUNC_2 &pcfg_pull_none_12ma>;
1189                         };
1190
1191                         emmc_cmd: emmc-cmd {
1192                                 rockchip,pins =
1193                                         <3 19 RK_FUNC_2 &pcfg_pull_up_12ma>;
1194                         };
1195
1196                         emmc_pwren: emmc-pwren {
1197                                 rockchip,pins =
1198                                         <3 22 RK_FUNC_2 &pcfg_pull_none>;
1199                         };
1200
1201                         emmc_rstnout: emmc-rstnout {
1202                                 rockchip,pins =
1203                                         <3 20 RK_FUNC_2 &pcfg_pull_none>;
1204                         };
1205
1206                         emmc_bus1: emmc-bus1 {
1207                                 rockchip,pins =
1208                                         <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>;
1209                         };
1210
1211                         emmc_bus4: emmc-bus4 {
1212                                 rockchip,pins =
1213                                         <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1214                                         <2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1215                                         <2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1216                                         <2 30 RK_FUNC_2 &pcfg_pull_up_12ma>;
1217                         };
1218
1219                         emmc_bus8: emmc-bus8 {
1220                                 rockchip,pins =
1221                                         <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1222                                         <2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1223                                         <2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1224                                         <2 30 RK_FUNC_2 &pcfg_pull_up_12ma>,
1225                                         <2 31 RK_FUNC_2 &pcfg_pull_up_12ma>,
1226                                         <3 16 RK_FUNC_2 &pcfg_pull_up_12ma>,
1227                                         <3 17 RK_FUNC_2 &pcfg_pull_up_12ma>,
1228                                         <3 18 RK_FUNC_2 &pcfg_pull_up_12ma>;
1229                         };
1230                 };
1231
1232                 pwm0 {
1233                         pwm0_pin: pwm0-pin {
1234                                 rockchip,pins =
1235                                         <2 4 RK_FUNC_1 &pcfg_pull_none>;
1236                         };
1237                 };
1238
1239                 pwm1 {
1240                         pwm1_pin: pwm1-pin {
1241                                 rockchip,pins =
1242                                         <2 5 RK_FUNC_1 &pcfg_pull_none>;
1243                         };
1244                 };
1245
1246                 pwm2 {
1247                         pwm2_pin: pwm2-pin {
1248                                 rockchip,pins =
1249                                         <2 6 RK_FUNC_1 &pcfg_pull_none>;
1250                         };
1251                 };
1252
1253                 pwmir {
1254                         pwmir_pin: pwmir-pin {
1255                                 rockchip,pins =
1256                                         <2 2 RK_FUNC_1 &pcfg_pull_none>;
1257                         };
1258                 };
1259
1260                 gmac-0 {
1261                         rgmiim0_pins: rgmiim0-pins {
1262                                 rockchip,pins =
1263                                         /* mac_txclk */
1264                                         <0 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
1265                                         /* mac_rxclk */
1266                                         <0 10 RK_FUNC_1 &pcfg_pull_none>,
1267                                         /* mac_mdio */
1268                                         <0 11 RK_FUNC_1 &pcfg_pull_none>,
1269                                         /* mac_txen */
1270                                         <0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1271                                         /* mac_clk */
1272                                         <0 24 RK_FUNC_1 &pcfg_pull_none>,
1273                                         /* mac_rxdv */
1274                                         <0 25 RK_FUNC_1 &pcfg_pull_none>,
1275                                         /* mac_mdc */
1276                                         <0 19 RK_FUNC_1 &pcfg_pull_none>,
1277                                         /* mac_rxd1 */
1278                                         <0 14 RK_FUNC_1 &pcfg_pull_none>,
1279                                         /* mac_rxd0 */
1280                                         <0 15 RK_FUNC_1 &pcfg_pull_none>,
1281                                         /* mac_txd1 */
1282                                         <0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1283                                         /* mac_txd0 */
1284                                         <0 17 RK_FUNC_1 &pcfg_pull_none_12ma>,
1285                                         /* mac_rxd3 */
1286                                         <0 20 RK_FUNC_1 &pcfg_pull_none>,
1287                                         /* mac_rxd2 */
1288                                         <0 21 RK_FUNC_1 &pcfg_pull_none>,
1289                                         /* mac_txd3 */
1290                                         <0 23 RK_FUNC_1 &pcfg_pull_none_12ma>,
1291                                         /* mac_txd2 */
1292                                         <0 22 RK_FUNC_1 &pcfg_pull_none_12ma>;
1293                         };
1294
1295                         rmiim0_pins: rmiim0-pins {
1296                                 rockchip,pins =
1297                                         /* mac_mdio */
1298                                         <0 11 RK_FUNC_1 &pcfg_pull_none>,
1299                                         /* mac_txen */
1300                                         <0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1301                                         /* mac_clk */
1302                                         <0 24 RK_FUNC_1 &pcfg_pull_none>,
1303                                         /* mac_rxer */
1304                                         <0 13 RK_FUNC_1 &pcfg_pull_none>,
1305                                         /* mac_rxdv */
1306                                         <0 25 RK_FUNC_1 &pcfg_pull_none>,
1307                                         /* mac_mdc */
1308                                         <0 19 RK_FUNC_1 &pcfg_pull_none>,
1309                                         /* mac_rxd1 */
1310                                         <0 14 RK_FUNC_1 &pcfg_pull_none>,
1311                                         /* mac_rxd0 */
1312                                         <0 15 RK_FUNC_1 &pcfg_pull_none>,
1313                                         /* mac_txd1 */
1314                                         <0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1315                                         /* mac_txd0 */
1316                                         <0 17 RK_FUNC_1 &pcfg_pull_none_12ma>;
1317                         };
1318                 };
1319
1320                 gmac-1 {
1321                         rgmiim1_pins: rgmiim1-pins {
1322                                 rockchip,pins =
1323                                         /* mac_txclk */
1324                                         <1 12 RK_FUNC_2 &pcfg_pull_none_12ma>,
1325                                         /* mac_rxclk */
1326                                         <1 13 RK_FUNC_2 &pcfg_pull_none_2ma>,
1327                                         /* mac_mdio */
1328                                         <1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1329                                         /* mac_txen */
1330                                         <1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1331                                         /* mac_clk */
1332                                         <1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1333                                         /* mac_rxdv */
1334                                         <1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1335                                         /* mac_mdc */
1336                                         <1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1337                                         /* mac_rxd1 */
1338                                         <1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1339                                         /* mac_rxd0 */
1340                                         <1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1341                                         /* mac_txd1 */
1342                                         <1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1343                                         /* mac_txd0 */
1344                                         <1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1345                                         /* mac_rxd3 */
1346                                         <1 14 RK_FUNC_2 &pcfg_pull_none_2ma>,
1347                                         /* mac_rxd2 */
1348                                         <1 15 RK_FUNC_2 &pcfg_pull_none_2ma>,
1349                                         /* mac_txd3 */
1350                                         <1 16 RK_FUNC_2 &pcfg_pull_none_12ma>,
1351                                         /* mac_txd2 */
1352                                         <1 17 RK_FUNC_2 &pcfg_pull_none_12ma>,
1353
1354                                         /* mac_txclk */
1355                                         <0 8 RK_FUNC_1 &pcfg_pull_none>,
1356                                         /* mac_txen */
1357                                         <0 12 RK_FUNC_1 &pcfg_pull_none>,
1358                                         /* mac_clk */
1359                                         <0 24 RK_FUNC_1 &pcfg_pull_none>,
1360                                         /* mac_txd1 */
1361                                         <0 16 RK_FUNC_1 &pcfg_pull_none>,
1362                                         /* mac_txd0 */
1363                                         <0 17 RK_FUNC_1 &pcfg_pull_none>,
1364                                         /* mac_txd3 */
1365                                         <0 23 RK_FUNC_1 &pcfg_pull_none>,
1366                                         /* mac_txd2 */
1367                                         <0 22 RK_FUNC_1 &pcfg_pull_none>;
1368                         };
1369
1370                         rmiim1_pins: rmiim1-pins {
1371                                 rockchip,pins =
1372                                         /* mac_mdio */
1373                                         <1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1374                                         /* mac_txen */
1375                                         <1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1376                                         /* mac_clk */
1377                                         <1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1378                                         /* mac_rxer */
1379                                         <1 24 RK_FUNC_2 &pcfg_pull_none_2ma>,
1380                                         /* mac_rxdv */
1381                                         <1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1382                                         /* mac_mdc */
1383                                         <1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1384                                         /* mac_rxd1 */
1385                                         <1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1386                                         /* mac_rxd0 */
1387                                         <1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1388                                         /* mac_txd1 */
1389                                         <1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1390                                         /* mac_txd0 */
1391                                         <1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1392
1393                                         /* mac_mdio */
1394                                         <0 11 RK_FUNC_1 &pcfg_pull_none>,
1395                                         /* mac_txen */
1396                                         <0 12 RK_FUNC_1 &pcfg_pull_none>,
1397                                         /* mac_clk */
1398                                         <0 24 RK_FUNC_1 &pcfg_pull_none>,
1399                                         /* mac_mdc */
1400                                         <0 19 RK_FUNC_1 &pcfg_pull_none>,
1401                                         /* mac_txd1 */
1402                                         <0 16 RK_FUNC_1 &pcfg_pull_none>,
1403                                         /* mac_txd0 */
1404                                         <0 17 RK_FUNC_1 &pcfg_pull_none>;
1405                         };
1406                 };
1407
1408                 gmac2phy {
1409                         fephyled_speed100: fephyled-speed100 {
1410                                 rockchip,pins =
1411                                         <0 31 RK_FUNC_1 &pcfg_pull_none>;
1412                         };
1413
1414                         fephyled_speed10: fephyled-speed10 {
1415                                 rockchip,pins =
1416                                         <0 30 RK_FUNC_1 &pcfg_pull_none>;
1417                         };
1418
1419                         fephyled_duplex: fephyled-duplex {
1420                                 rockchip,pins =
1421                                         <0 30 RK_FUNC_2 &pcfg_pull_none>;
1422                         };
1423
1424                         fephyled_rxm0: fephyled-rxm0 {
1425                                 rockchip,pins =
1426                                         <0 29 RK_FUNC_1 &pcfg_pull_none>;
1427                         };
1428
1429                         fephyled_txm0: fephyled-txm0 {
1430                                 rockchip,pins =
1431                                         <0 29 RK_FUNC_2 &pcfg_pull_none>;
1432                         };
1433
1434                         fephyled_linkm0: fephyled-linkm0 {
1435                                 rockchip,pins =
1436                                         <0 28 RK_FUNC_1 &pcfg_pull_none>;
1437                         };
1438
1439                         fephyled_rxm1: fephyled-rxm1 {
1440                                 rockchip,pins =
1441                                         <2 25 RK_FUNC_2 &pcfg_pull_none>;
1442                         };
1443
1444                         fephyled_txm1: fephyled-txm1 {
1445                                 rockchip,pins =
1446                                         <2 25 RK_FUNC_3 &pcfg_pull_none>;
1447                         };
1448
1449                         fephyled_linkm1: fephyled-linkm1 {
1450                                 rockchip,pins =
1451                                         <2 24 RK_FUNC_2 &pcfg_pull_none>;
1452                         };
1453                 };
1454
1455                 tsadc_pin {
1456                         tsadc_int: tsadc-int {
1457                                 rockchip,pins =
1458                                         <2 13 RK_FUNC_2 &pcfg_pull_none>;
1459                         };
1460                         tsadc_gpio: tsadc-gpio {
1461                                 rockchip,pins =
1462                                         <2 13 RK_FUNC_GPIO &pcfg_pull_none>;
1463                         };
1464                 };
1465
1466                 hdmi_pin {
1467                         hdmi_cec: hdmi-cec {
1468                                 rockchip,pins =
1469                                         <0 3 RK_FUNC_1 &pcfg_pull_none>;
1470                         };
1471
1472                         hdmi_hpd: hdmi-hpd {
1473                                 rockchip,pins =
1474                                         <0 4 RK_FUNC_1 &pcfg_pull_down>;
1475                         };
1476                 };
1477
1478                 cif-0 {
1479                         dvp_d2d9_m0:dvp-d2d9-m0 {
1480                                 rockchip,pins =
1481                                         /* cif_d0 */
1482                                         <3 4 RK_FUNC_2 &pcfg_pull_none>,
1483                                         /* cif_d1 */
1484                                         <3 5 RK_FUNC_2 &pcfg_pull_none>,
1485                                         /* cif_d2 */
1486                                         <3 6 RK_FUNC_2 &pcfg_pull_none>,
1487                                         /* cif_d3 */
1488                                         <3 7 RK_FUNC_2 &pcfg_pull_none>,
1489                                         /* cif_d4 */
1490                                         <3 8 RK_FUNC_2 &pcfg_pull_none>,
1491                                         /* cif_d5m0 */
1492                                         <3 9 RK_FUNC_2 &pcfg_pull_none>,
1493                                         /* cif_d6m0 */
1494                                         <3 10 RK_FUNC_2 &pcfg_pull_none>,
1495                                         /* cif_d7m0 */
1496                                         <3 11 RK_FUNC_2 &pcfg_pull_none>,
1497                                         /* cif_href */
1498                                         <3 1 RK_FUNC_2 &pcfg_pull_none>,
1499                                         /* cif_vsync */
1500                                         <3 0 RK_FUNC_2 &pcfg_pull_none>,
1501                                         /* cif_clkoutm0 */
1502                                         <3 3 RK_FUNC_2 &pcfg_pull_none>,
1503                                         /* cif_clkin */
1504                                         <3 2 RK_FUNC_2 &pcfg_pull_none>;
1505                         };
1506                 };
1507
1508                 cif-1 {
1509                         dvp_d2d9_m1:dvp-d2d9-m1 {
1510                                 rockchip,pins =
1511                                         /* cif_d0 */
1512                                         <3 4 RK_FUNC_2 &pcfg_pull_none>,
1513                                         /* cif_d1 */
1514                                         <3 5 RK_FUNC_2 &pcfg_pull_none>,
1515                                         /* cif_d2 */
1516                                         <3 6 RK_FUNC_2 &pcfg_pull_none>,
1517                                         /* cif_d3 */
1518                                         <3 7 RK_FUNC_2 &pcfg_pull_none>,
1519                                         /* cif_d4 */
1520                                         <3 8 RK_FUNC_2 &pcfg_pull_none>,
1521                                         /* cif_d5m1 */
1522                                         <2 16 RK_FUNC_4 &pcfg_pull_none>,
1523                                         /* cif_d6m1 */
1524                                         <2 17 RK_FUNC_4 &pcfg_pull_none>,
1525                                         /* cif_d7m1 */
1526                                         <2 18 RK_FUNC_4 &pcfg_pull_none>,
1527                                         /* cif_href */
1528                                         <3 1 RK_FUNC_2 &pcfg_pull_none>,
1529                                         /* cif_vsync */
1530                                         <3 0 RK_FUNC_2 &pcfg_pull_none>,
1531                                         /* cif_clkoutm1 */
1532                                         <2 15 RK_FUNC_4 &pcfg_pull_none>,
1533                                         /* cif_clkin */
1534                                         <3 2 RK_FUNC_2 &pcfg_pull_none>;
1535                         };
1536                 };
1537         };
1538 };