ARM: dts: fix emmc/sdio/sd clkgates and offset for rk3228
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3228.dtsi
1 #include <dt-bindings/interrupt-controller/arm-gic.h>
2 #include <dt-bindings/rkfb/rk_fb.h>
3
4 #include "skeleton.dtsi"
5 #include "rk3228-clocks.dtsi"
6
7 #include <dt-bindings/pinctrl/rockchip.h>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <rk3228_dram_default_timing.dtsi>
10
11 / {
12         compatible = "rockchip,rk3228";
13         interrupt-parent = <&gic>;
14
15         aliases {
16                 serial0 = &uart0;
17                 serial1 = &uart1;
18                 serial2 = &uart2;
19                 i2c0 = &i2c0;
20                 i2c1 = &i2c1;
21                 i2c2 = &i2c2;
22                 i2c3 = &i2c3;
23         };
24
25         cpus {
26                 #address-cells = <1>;
27                 #size-cells = <0>;
28
29                 cpu@0 {
30                         device_type = "cpu";
31                         compatible = "arm,cortex-a7";
32                         reg = <0xf00>;
33                 };
34                 cpu@1 {
35                         device_type = "cpu";
36                         compatible = "arm,cortex-a7";
37                         reg = <0xf01>;
38                 };
39                 cpu@2 {
40                         device_type = "cpu";
41                         compatible = "arm,cortex-a7";
42                         reg = <0xf02>;
43                 };
44                 cpu@3 {
45                         device_type = "cpu";
46                         compatible = "arm,cortex-a7";
47                         reg = <0xf03>;
48                 };
49         };
50
51         psci {
52                 compatible      = "arm,psci";
53                 method          = "smc";
54                 cpu_suspend     = <0x84000001>;
55                 cpu_off         = <0x84000002>;
56                 cpu_on          = <0x84000003>;
57         };
58
59         gic: interrupt-controller@32010000 {
60                 compatible = "arm,cortex-a15-gic";
61                 interrupt-controller;
62                 #interrupt-cells = <3>;
63                 #address-cells = <0>;
64                 reg = <0x32011000 0x1000>,
65                       <0x32012000 0x1000>;
66         };
67
68         sgrf: syscon@10140000 {
69                 compatible = "rockchip,rk3228-sgrf", "rockchip,sgrf", "syscon";
70                 reg = <0x10140000 0x1000>;
71         };
72
73         grf: syscon@11000000 {
74                 compatible = "rockchip,rk3228-grf", "rockchip,grf", "syscon";
75                 reg = <0x11000000 0x1000>;
76         };
77
78         cru: syscon@110e0000 {
79                 compatible = "rockchip,rk3228-cru", "rockchip,cru", "syscon";
80                 reg = <0x110e0000 0x1000>;
81         };
82
83         ddrpctl: syscon@11200000 {
84                 compatible = "rockchip,rk3228-ddrpctl", "syscon";
85                 reg = <0x11200000 0x400>;
86         };
87
88         msch: syscon@31020000 {
89                 compatible = "rockchip,rk32288-msch", "rockchip,msch", "syscon";
90                 reg = <0x31020000 0x3000>;
91         };
92
93         arm-pmu {
94                 compatible = "arm,cortex-a7-pmu";
95                 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
96                              <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
97                              <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
98                              <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
99         };
100
101         reset: reset@110e0110{
102                 compatible = "rockchip,reset";
103                 reg = <0x110e0110 0x20>;
104                 rockchip,reset-flag = <ROCKCHIP_RESET_HIWORD_MASK>;
105                 #reset-cells = <1>;
106         };
107
108         timer {
109                 compatible = "arm,armv7-timer";
110                 interrupts = <GIC_PPI 13
111                               (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
112                              <GIC_PPI 14
113                               (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
114                 clock-frequency = <24000000>;
115         };
116
117         fiq-debugger {
118                 compatible = "rockchip,fiq-debugger";
119                 rockchip,serial-id = <2>;
120                 rockchip,signal-irq = <159>;
121                 rockchip,wake-irq = <0>;
122                 rockchip,irq-mode-enable = <1>;  /* If enable uart uses irq instead of fiq */
123                 rockchip,baudrate = <1500000>;  /* Only 115200 and 1500000 */
124                 status = "disabled";
125         };
126
127         rockchip_ion: rockchip-ion {
128                 compatible = "rockchip,ion";
129                 #address-cells = <1>;
130                 #size-cells = <0>;
131
132                 ion_cma: cma-heap {
133                          compatible = "rockchip,ion-heap";
134                          status = "disabled";
135                          rockchip,ion_heap = <4>;
136                          reg = <0x10000000 0x08000000>; /* 128 MB */
137                 };
138                 system_heap: system-heap {
139                         compatible = "rockchip,ion-heap";
140                         rockchip,ion_heap = <0>;
141                 };
142         };
143
144         dram: dram {
145                 compatible = "rockchip,rk3228-dram";
146                 status = "okay";
147                 dram_freq = <600000000>;
148                 rockchip,dram_timing = <&dram_timing>;
149         };
150
151         rockchip_clocks_init: clocks-init{
152                 compatible = "rockchip,clocks-init";
153                 rockchip,clocks-init-parent =
154                         <&clk_i2s0_pll &clk_cpll>, <&clk_i2s1_pll &clk_cpll>,
155                         <&clk_i2s2_pll &clk_cpll>, <&clk_spdif_pll &clk_cpll>,
156                         <&clk_gpu &clk_cpll>, <&dclk_vop0 &hdmi_phy_clk>,
157                         <&aclk_bus &clk_cpll>, <&aclk_peri &clk_cpll>,
158                         <&clk_sdmmc0 &clk_cpll>, <&clk_emmc &clk_cpll>,
159                         <&clk_sdio &clk_cpll>, <&aclk_vpu &clk_cpll>,
160                         <&hdmi_phy_clk &hdmiphy_out>, <&usb480m &usb480m_phy>;
161                 rockchip,clocks-init-rate =
162                         <&clk_gpll 600000000>, <&clk_core 700000000>,
163                         <&clk_cpll 500000000>, <&aclk_bus 250000000>,
164                         <&hclk_bus 125000000>, <&pclk_bus 62500000>,
165                         <&aclk_peri 250000000>, <&hclk_peri 125000000>,
166                         <&pclk_peri 62500000>, <&clk_mac 125000000>,
167                         <&aclk_iep 250000000>, <&hclk_vio 125000000>,
168                         <&aclk_rga 250000000>, <&clk_gpu 250000000>,
169                         <&aclk_vpu 25000000>, <&clk_vdec_core 250000000>,
170                         <&clk_vdec_cabac 250000000>;
171 /*
172                 rockchip,clocks-uboot-has-init =
173                         <&aclk_vio0>;
174 */
175         };
176
177         rockchip_clocks_enable: clocks-enable {
178                 compatible = "rockchip,clocks-enable";
179                 clocks =
180                         /*PLL*/
181                         <&clk_apll>,
182                         <&clk_dpll>,
183                         <&clk_gpll>,
184                         <&clk_cpll>,
185
186                         /*PD_CORE*/
187                         <&clk_core>,
188                         <&pclk_dbg>,
189                         <&aclk_core>,
190                         <&clk_gates4 2>,
191
192                         /*PD_BUS*/
193                         <&aclk_bus>,
194                         <&hclk_bus>,
195                         <&pclk_bus>,
196                         <&clk_gates8 0>,/*aclk_intmem*/
197                         <&clk_gates8 1>,/*clk_intmem_mbist*/
198                         <&clk_gates8 2>,/*aclk_dmac_bus*/
199                         <&clk_gates10 1>,/*g_aclk_bus*/
200                         <&clk_gates13 9>,/*aclk_gic400*/
201                         <&clk_gates8 3>,/*hclk_rom*/
202                         <&clk_gates8 4>,/*pclk_ddrupctl*/
203                         <&clk_gates8 6>,/*pclk_ddrmon*/
204                         <&clk_gates9 4>,/*pclk_timer0*/
205                         <&clk_gates9 5>,/*pclk_stimer*/
206                         <&clk_gates10 0>,/*pclk_grf*/
207                         <&clk_gates10 4>,/*pclk_cru*/
208                         <&clk_gates10 6>,/*pclk_sgrf*/
209                         <&clk_gates10 3>,/*pclk_ddrphy*/
210                         <&clk_gates10 9>,/*pclk_phy_noc*/
211
212                         /*PD_PERI*/
213                         <&aclk_peri>,
214                         <&hclk_peri>,
215                         <&pclk_peri>,
216                         <&clk_gates12 0>,/*aclk_peri_noc*/
217                         <&clk_gates12 1>,/*hclk_peri_noc*/
218                         <&clk_gates12 2>,/*pclk_peri_noc*/
219
220                         <&clk_gates6 5>, /* g_clk_timer0 */
221                         <&clk_gates6 6>, /* g_clk_timer1 */
222
223                         <&clk_gates7 14>, /* g_aclk_gpu */
224                         <&clk_gates7 15>, /* g_aclk_gpu_noc */
225
226                         <&clk_gates1 3>;/*clk_jtag*/
227         };
228
229         uart0: serial@11010000 {
230                 compatible = "rockchip,serial";
231                 reg = <0x11010000 0x100>;
232                 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
233                 clock-frequency = <24000000>;
234                 clocks = <&clk_uart0>, <&clk_gates9 12>;
235                 clock-names = "sclk_uart", "pclk_uart";
236                 reg-shift = <2>;
237                 reg-io-width = <4>;
238                 dmas = <&pdma 2>, <&pdma 3>;
239                 #dma-cells = <2>;
240                 pinctrl-names = "default";
241                 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
242                 status = "disabled";
243         };
244
245         uart1: serial@11020000 {
246                 compatible = "rockchip,serial";
247                 reg = <0x11020000 0x100>;
248                 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
249                 clock-frequency = <24000000>;
250                 clocks = <&clk_uart1>, <&clk_gates9 13>;
251                 clock-names = "sclk_uart", "pclk_uart";
252                 reg-shift = <2>;
253                 reg-io-width = <4>;
254                 dmas = <&pdma 4>, <&pdma 5>;
255                 #dma-cells = <2>;
256                 pinctrl-names = "default";
257                 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
258                 status = "disabled";
259         };
260
261         uart2: serial@11030000 {
262                 compatible = "rockchip,serial";
263                 reg = <0x11030000 0x100>;
264                 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
265                 clock-frequency = <24000000>;
266                 clocks = <&clk_uart2>, <&clk_gates9 14>;
267                 lock-names = "sclk_uart", "pclk_uart";
268                 reg-shift = <2>;
269                 reg-io-width = <4>;
270                 dmas = <&pdma 6>, <&pdma 7>;
271                 #dma-cells = <2>;
272                 pinctrl-names = "default";
273                 pinctrl-0 = <&uart2_xfer>;
274                 status = "disabled";
275         };
276
277         i2c0: i2c@11050000 {
278                 compatible = "rockchip,rk30-i2c";
279                 reg = <0x11050000 0x1000>;
280                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
281                 #address-cells = <1>;
282                 #size-cells = <0>;
283                 pinctrl-names = "default", "gpio", "sleep";
284                 pinctrl-0 = <&i2c0_xfer>;
285                 pinctrl-1 = <&i2c0_gpio>;
286                 pinctrl-2 = <&i2c0_sleep>;
287                 gpios = <&gpio0 GPIO_A1 GPIO_ACTIVE_LOW>,
288                         <&gpio0 GPIO_A0 GPIO_ACTIVE_LOW>;
289                 clocks = <&clk_gates8 15>;
290                 rockchip,check-idle = <1>;
291                 status = "disabled";
292         };
293
294         i2c1: i2c@11060000 {
295                 compatible = "rockchip,rk30-i2c";
296                 reg = <0x11060000 0x1000>;
297                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
298                 #address-cells = <1>;
299                 #size-cells = <0>;
300                 pinctrl-names = "default", "gpio", "sleep";
301                 pinctrl-0 = <&i2c1_xfer>;
302                 pinctrl-1 = <&i2c1_gpio>;
303                 pinctrl-2 = <&i2c1_sleep>;
304                 gpios = <&gpio0 GPIO_A3 GPIO_ACTIVE_LOW>,
305                         <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>;
306                 clocks = <&clk_gates9 0>;
307                 rockchip,check-idle = <1>;
308                 status = "disabled";
309         };
310
311         i2c2: i2c@11070000 {
312                 compatible = "rockchip,rk30-i2c";
313                 reg = <0x11070000 0x1000>;
314                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
315                 #address-cells = <1>;
316                 #size-cells = <0>;
317                 pinctrl-names = "default", "gpio", "sleep";
318                 pinctrl-0 = <&i2c2_xfer>;
319                 pinctrl-1 = <&i2c2_gpio>;
320                 pinctrl-2 = <&i2c2_sleep>;
321                 gpios = <&gpio2 GPIO_C4 GPIO_ACTIVE_LOW>,
322                         <&gpio2 GPIO_C5 GPIO_ACTIVE_LOW>;
323                 clocks = <&clk_gates9 1>;
324                 rockchip,check-idle = <1>;
325                 status = "disabled";
326         };
327
328         i2c3: i2c@11080000 {
329                 compatible = "rockchip,rk30-i2c";
330                 reg = <0x11080000 0x1000>;
331                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
332                 #address-cells = <1>;
333                 #size-cells = <0>;
334                 pinctrl-names = "default", "gpio", "sleep";
335                 pinctrl-0 = <&i2c3_xfer>;
336                 pinctrl-1 = <&i2c3_gpio>;
337                 pinctrl-2 = <&i2c3_sleep>;
338                 gpios = <&gpio0 GPIO_A7 GPIO_ACTIVE_LOW>,
339                         <&gpio0 GPIO_A6 GPIO_ACTIVE_LOW>;
340                 clocks = <&clk_gates9 2>;
341                 rockchip,check-idle = <1>;
342                 status = "disabled";
343         };
344
345         amba {
346                 #address-cells = <1>;
347                 #size-cells = <1>;
348                 compatible = "arm,amba-bus";
349                 interrupt-parent = <&gic>;
350                 ranges;
351
352                 pdma: pdma@110f0000 {
353                         compatible = "arm,pl330", "arm,primecell";
354                         reg = <0x110f0000 0x4000>;
355                         clocks = <&clk_gates8 2>;
356                         clock-names = "apb_pclk";
357                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
358                                      <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
359                         #dma-cells = <1>;
360                 };
361         };
362
363         i2s0: i2s0@100c0000 {
364                 compatible = "rockchip-i2s";
365                 reg = <0x100c0000 0x1000>;
366                 i2s-id = <0>;
367                 clocks = <&clk_i2s0>, <&clk_gates8 7>;
368                 clock-names = "i2s_clk", "i2s_hclk";
369                 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
370                 dmas = <&pdma 11>, <&pdma 12>;
371                 #dma-cells = <2>;
372                 dma-names = "tx", "rx";
373         };
374
375         i2s1: i2s1@100b0000 {
376                 compatible = "rockchip-i2s";
377                 reg = <0x100b0000 0x1000>;
378                 i2s-id = <1>;
379                 clocks = <&clk_i2s1>, <&clk_i2s1_out>, <&clk_gates8 8>;
380                 clock-names = "i2s_clk", "i2s_mclk", "i2s_hclk";
381                 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
382                 dmas = <&pdma 14>, <&pdma 15>;
383                 #dma-cells = <2>;
384                 dma-names = "tx", "rx";
385                 status = "disabled";
386         };
387
388         i2s2: i2s2@100e0000 {
389                 compatible = "rockchip-i2s";
390                 reg = <0x100e0000 0x1000>;
391                 i2s-id = <2>;
392                 clocks = <&clk_i2s2>, <&clk_gates8 9>;
393                 clock-names = "i2s_clk", "i2s_hclk";
394                 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
395                 dmas = <&pdma 0>, <&pdma 1>;
396                 #dma-cells = <2>;
397                 dma-names = "tx", "rx";
398                 status = "disabled";
399         };
400
401         spdif: spdif@100d0000 {
402                 compatible = "rockchip-spdif";
403                 reg = <0x100d0000 0x1000>;
404                 clocks = <&clk_spdif>, <&clk_gates8 10>;
405                 clock-names = "spdif_mclk", "spdif_hclk";
406                 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
407                 dmas = <&pdma 10>;
408                 #dma-cells = <1>;
409                 dma-names = "tx";
410                 status = "disabled";
411         };
412
413         tsadc: tsadc@11150000 {
414                 compatible = "rockchip,rk3228-tsadc";
415                 reg = <0x11150000 0x100>;
416                 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
417                 clock-frequency = <32768>;
418                 clocks = <&clk_tsadc>, <&clk_gates9 15>;
419                 resets = <&reset RK3228_RST_TSADC>;
420                 reset-names = "tsadc-apb";
421                 #thermal-sensor-cells = <1>;
422                 hw-shut-temp = <120000>;
423                 pinctrl-names = "default";
424                 pinctrl-0 = <&tsadc_gpio>;
425                 tsadc-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
426                 tsadc-tshut-polarity = <0>;/* tshut polarity 0:LOW 1:HIGH */
427                 status = "okay";
428         };
429
430         gpu {
431                 compatible = "arm,mali400";
432                 reg = <0x20001000 0x200>,
433                       <0x20000000 0x100>,
434                       <0x20003000 0x100>,
435                       <0x20008000 0x1100>,
436                       <0x20004000 0x100>,
437                       <0x2000A000 0x1100>,
438                       <0x20005000 0x100>;
439
440                 reg-names = "Mali_L2",
441                             "Mali_GP",
442                             "Mali_GP_MMU",
443                             "Mali_PP0",
444                             "Mali_PP0_MMU",
445                             "Mali_PP1",
446                             "Mali_PP1_MMU";
447
448                 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
449                              <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
450                              <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
451                              <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
452                              <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
453                              <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
454
455                 interrupt-names = "Mali_GP_IRQ",
456                                   "Mali_GP_MMU_IRQ",
457                                   "Mali_PP0_IRQ",
458                                   "Mali_PP0_MMU_IRQ",
459                                   "Mali_PP1_IRQ",
460                                   "Mali_PP1_MMU_IRQ";
461         };
462
463         fb: fb {
464                 compatible = "rockchip,rk-fb";
465                 rockchip,disp-mode = <NO_DUAL>;
466         };
467
468         rk_screen: rk_screen {
469                 compatible = "rockchip,screen";
470         };
471
472         pwm0: pwm@110b0000 {
473                 compatible = "rockchip,rk-pwm";
474                 reg = <0x110b0000 0x10>;
475                 /* used by driver on remotectl'pwm */
476                 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
477                 #pwm-cells = <2>;
478                 pinctrl-names = "default";
479                 pinctrl-0 = <&pwm0_pin>;
480                 clocks = <&clk_gates9 7>;
481                 clock-names = "pclk_pwm";
482                 status = "disabled";
483         };
484
485         pwm1: pwm@110b0010 {
486                 compatible = "rockchip,rk-pwm";
487                 reg = <0x110b0010 0x10>;
488                 /* used by driver on remotectl'pwm */
489                 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
490                 #pwm-cells = <2>;
491                 pinctrl-names = "default";
492                 pinctrl-0 = <&pwm1_pin>;
493                 clocks = <&clk_gates9 7>;
494                 clock-names = "pclk_pwm";
495                 status = "disabled";
496         };
497
498         pwm2: pwm@110b0020 {
499                 compatible = "rockchip,rk-pwm";
500                 reg = <0x110b0020 0x10>;
501                 /* used by driver on remotectl'pwm */
502                 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
503                 #pwm-cells = <2>;
504                 pinctrl-names = "default";
505                 pinctrl-0 = <&pwm2_pin>;
506                 clocks = <&clk_gates9 7>;
507                 clock-names = "pclk_pwm";
508                 status = "disabled";
509         };
510
511         pwm3: pwm@110b0030 {
512                 compatible = "rockchip,rk-pwm";
513                 reg = <0x110b0030 0x10>;
514                 /* used by driver on remotectl'pwm */
515                 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
516                 #pwm-cells = <2>;
517                 pinctrl-names = "default";
518                 pinctrl-0 = <&pwmir_pin>;
519                 clocks = <&clk_gates9 7>;
520                 clock-names = "pclk_pwm";
521                 status = "disabled";
522         };
523
524         vop: vop@20050000 {
525                 compatible = "rockchip,rk3228-lcdc";
526
527                 rockchip,cabc_mode = <0>;
528                 rockchip,pwr18 = <0>;
529                 rockchip,iommu-enabled = <1>;
530                 reg = <0x20050000 0x300>;
531                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
532                 clocks = <&aclk_vop>, <&dclk_vop0>, <&hclk_vio>;
533                 clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc";
534         };
535
536         vop_mmu {
537                 dbgname = "vop";
538                 compatible = "rockchip,vop_mmu";
539                 reg = <0x20053f00 0x100>;
540                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
541                 interrupt-names = "vop_mmu";
542         };
543
544         hevc_mmu {
545                 dbgname = "hevc";
546                 compatible = "rockchip,hevc_mmu";
547                 reg = <0x20034440 0x40>,
548                       <0x20034480 0x40>;
549                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
550                 interrupt-names = "hevc_mmu";
551         };
552
553         vpu_mmu {
554                 dbgname = "vpu";
555                 compatible = "rockchip,vpu_mmu";
556                 reg = <0x20026800 0x100>;
557                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
558                 interrupt-names = "vpu_mmu";
559         };
560
561         iep_mmu {
562                 dbgname = "iep";
563                 compatible = "rockchip,iep_mmu";
564                 reg = <0x20078800 0x100>;
565                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
566                 interrupt-names = "iep_mmu";
567         };
568
569         hdmi: hdmi@200a0000 {
570                 compatible = "rockchip,rk3228-hdmi";
571                 reg = <0x200a0000 0x20000>,
572                       <0x12030000 0x10000>;
573                 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
574                              <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
575                 clocks = <&clk_gates3 7>,
576                          <&clk_gates14 6>,
577                          <&clk_gates10 7>,
578                          <&clk_hdmi_cec>;
579                 clock-names = "hdcp_clk_hdmi",
580                               "pclk_hdmi",
581                               "pclk_hdmi_phy",
582                               "cec_clk_hdmi";
583                 pinctrl-names = "default", "gpio";
584                 pinctrl-0 = <&hdmi_cec &hdmii2c_xfer>;
585                 pinctrl-1 = <&i2c3_gpio>;
586                 rockchip,hotplug = <&gpio0 GPIO_B7 GPIO_ACTIVE_LOW>;
587                 rockchip,hdmi_audio_source = <0>;
588                 rockchip,hdcp_enable = <0>;
589                 rockchip,cec_enable = <0>;
590                 status = "disabled";
591         };
592
593         hdmi_hdcp2: hdmi_hdcp2@20090000 {
594                 compatible = "rockchip,rk3228-hdmi-hdcp2";
595                 reg = <0x20090000 0x10000>;
596                 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
597                 clocks = <&aclk_hdcp>,
598                          <&clk_gates14 12>,
599                          <&clk_gates14 11>,
600                          <&clk_hdcp>;
601                 clock-names = "aclk_hdcp2",
602                               "hclk_hdcp2_mmu",
603                               "pclk_hdcp2",
604                               "hdcp2_clk_hdmi";
605                 status = "disabled";
606         };
607
608         tve: tve {
609                 compatible = "rockchip,rk3228-tve";
610                 reg = <0x20053e00 0x100>,
611                       <0x12020000 0x10000>;
612                 clocks = <&clk_gates10 8>;
613                 clock-names = "pclk_vdac";
614                 status = "disabled";
615         };
616
617         emmc: rksdmmc@30020000 {
618                 compatible = "rockchip,rk_mmc", "rockchip,rk3228-sdmmc";
619                 reg = <0x30020000 0x10000>;
620                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
621                 #address-cells = <1>;
622                 #size-cells = <0>;
623                 clocks = <&clk_emmc>, <&clk_gates11 2>;
624                 clock-names = "clk_mmc", "hclk_mmc";
625                 num-slots = <1>;
626                 fifo-depth = <0x100>;
627                 bus-width = <8>;
628                 cru_regsbase = <0x124>;
629                 cru_reset_offset = <3>;
630         };
631
632         sdmmc: rksdmmc@30000000 {
633                 compatible = "rockchip,rk_mmc", "rockchip,rk3228-sdmmc";
634                 reg = <0x30000000 0x10000>;
635                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
636                 #address-cells = <1>;
637                 #size-cells = <0>;
638                 pinctrl-names = "default", "idle";
639                 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_dectn &sdmmc_bus4>;
640                 pinctrl-1 = <&sdmmc_gpio>;
641                 cd-gpios = <&gpio1 GPIO_C1 GPIO_ACTIVE_HIGH>; /* CD GPIO */
642                 clocks = <&clk_sdmmc0>, <&clk_gates11 0>;
643                 clock-names = "clk_mmc", "hclk_mmc";
644                 num-slots = <1>;
645                 fifo-depth = <0x100>;
646                 bus-width = <4>;
647                 cru_regsbase = <0x124>;
648                 cru_reset_offset = <1>;
649         };
650
651         sdio: rksdmmc@30010000 {
652                 compatible = "rockchip,rk_mmc", "rockchip,rk3228-sdmmc";
653                 reg = <0x30010000 0x10000>;
654                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
655                 #address-cells = <1>;
656                 #size-cells = <0>;
657                 pinctrl-names = "default", "idle";
658                 pinctrl-0 = <&sdio0_pwren &sdio0_cmd &sdio0_clk &sdio0_bus4>;
659                 pinctrl-1 = <&sdio0_gpio>;
660                 clocks = <&clk_sdio>, <&clk_gates11 1>;
661                 clock-names = "clk_mmc", "hclk_mmc";
662                 num-slots = <1>;
663                 fifo-depth = <0x100>;
664                 bus-width = <4>;
665                 cru_regsbase = <0x124>;
666                 cru_reset_offset = <2>;
667         };
668
669         nandc: nandc@30030000 {
670                 compatible = "rockchip,rk-nandc";
671                 reg = <0x30030000 0x4000>;
672                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
673                 nandc_id = <0>;
674                 clocks = <&clk_nandc>, <&clk_gates1 0>, <&clk_gates11 3>;
675                 clock-names = "clk_nandc", "g_clk_nandc", "hclk_nandc";
676         };
677
678         otg: usb@30040000 {
679                 compatible = "rockchip,rk3228_usb20_otg";
680                 reg = <0x30040000 0x40000>;
681                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
682                 clocks = <&clk_gates1 5>, <&clk_gates11 12>;
683                 clock-names = "clk_usbphy0", "hclk_usb0";
684                 resets = <&reset RK3228_RST_USBOTG0>, <&reset RK3228_RST_UTMI0>,
685                                 <&reset RK3228_RST_OTGC0>;
686                 reset-names = "otg_ahb", "otg_phy", "otg_controller";
687                 /*0 - Normal, 1 - Force Host, 2 - Force Device*/
688                 rockchip,usb-mode = <0>;
689         };
690
691         ehci0: usb@30080000 {
692                 compatible = "generic-ehci";
693                 reg = <0x30080000 0x20000>;
694                 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
695                 clocks = <&clk_gates1 6>, <&clk_gates11 6>;
696                 clock-names = "clk_usbphy1", "hclk_host0";
697                 resets = <&reset RK3228_RST_USBHOST0>, <&reset RK3228_RST_UTMI1>,
698                                 <&reset RK3228_RST_HOST_CTRL0>;
699                 reset-names = "host_ahb", "host_phy", "host_controller";
700         };
701
702         ohci0: usb@300a0000 {
703                 compatible = "generic-ohci";
704                 reg = <0x300a0000 0x20000>;
705                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
706         };
707
708         ehci1: usb@300c0000 {
709                 compatible = "generic-ehci";
710                 reg = <0x300c0000 0x20000>;
711                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
712                 clocks = <&clk_gates1 6>, <&clk_gates11 8>;
713                 clock-names = "clk_usbphy1", "hclk_host0";
714                 resets = <&reset RK3228_RST_USBHOST1>, <&reset RK3228_RST_UTMI2>,
715                                 <&reset RK3228_RST_HOST_CTRL1>;
716                 reset-names = "host_ahb", "host_phy", "host_controller";
717         };
718
719         ohci1: usb@300e0000 {
720                 compatible = "generic-ohci";
721                 reg = <0x300e0000 0x20000>;
722                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
723         };
724
725         ehci2: usb@30100000 {
726                 compatible = "generic-ehci";
727                 reg = <0x30100000 0x20000>;
728                 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
729                 clocks = <&clk_gates1 6>, <&clk_gates11 10>;
730                 clock-names = "clk_usbphy1", "hclk_host0";
731                 resets = <&reset RK3228_RST_USBHOST2>, <&reset RK3228_RST_UTMI3>,
732                                 <&reset RK3228_RST_HOST_CTRL2>;
733                 reset-names = "host_ahb", "host_phy", "host_controller";
734         };
735
736         ohci2: usb@30120000 {
737                 compatible = "generic-ohci";
738                 reg = <0x30120000 0x20000>;
739                 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
740         };
741
742         pinctrl: pinctrl {
743                 compatible = "rockchip,rk3228-pinctrl";
744                 rockchip,grf = <&grf>;
745                 #address-cells = <1>;
746                 #size-cells = <1>;
747                 ranges;
748
749                 gpio0: gpio0@11110000 {
750                         compatible = "rockchip,gpio-bank";
751                         reg =   <0x11110000 0x100>;
752                         interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
753                         clocks = <&clk_gates9 9>;
754
755                         gpio-controller;
756                         #gpio-cells = <2>;
757
758                         interrupt-controller;
759                         #interrupt-cells = <2>;
760                 };
761
762                 gpio1: gpio1@11120000 {
763                         compatible = "rockchip,gpio-bank";
764                         reg = <0x11120000 0x100>;
765                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
766                         clocks = <&clk_gates9 9>;
767
768                         gpio-controller;
769                         #gpio-cells = <2>;
770
771                         interrupt-controller;
772                         #interrupt-cells = <2>;
773                 };
774
775                 gpio2: gpio2@11130000 {
776                         compatible = "rockchip,gpio-bank";
777                         reg = <0x11130000 0x100>;
778                         interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
779                         clocks = <&clk_gates9 10>;
780
781                         gpio-controller;
782                         #gpio-cells = <2>;
783
784                         interrupt-controller;
785                         #interrupt-cells = <2>;
786                 };
787
788                 gpio3: gpio3@11140000 {
789                         compatible = "rockchip,gpio-bank";
790                         reg = <0x11140000 0x100>;
791                         interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
792                         clocks = <&clk_gates9 11>;
793
794                         gpio-controller;
795                         #gpio-cells = <2>;
796
797                         interrupt-controller;
798                         #interrupt-cells = <2>;
799                 };
800
801                 pcfg_pull_up: pcfg-pull-up {
802                         bias-pull-up;
803                 };
804
805                 pcfg_pull_down: pcfg-pull-down {
806                         bias-pull-down;
807                 };
808
809                 pcfg_pull_none: pcfg-pull-none {
810                         bias-disable;
811                 };
812
813                 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
814                         drive-strength = <8>;
815                 };
816
817                 pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma {
818                         drive-strength = <12>;
819                 };
820
821                 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
822                         bias-pull-up;
823                         drive-strength = <8>;
824                 };
825
826                 pcfg_pull_none_drv_4ma: pcfg-pull-none-drv-4ma {
827                         drive-strength = <4>;
828                 };
829
830                 pcfg_pull_up_drv_4ma: pcfg-pull-up-drv-4ma {
831                         bias-pull-up;
832                         drive-strength = <4>;
833                 };
834
835                 pcfg_pull_down_drv_12ma: pcfg-pull-down-drv-12ma {
836                         bias-pull-down;
837                         drive-strength = <12>;
838                 };
839
840                 pcfg_output_high: pcfg-output-high {
841                         output-high;
842                 };
843
844                 pcfg_output_low: pcfg-output-low {
845                         output-low;
846                 };
847
848                 pcfg_input_high: pcfg-input-high {
849                         bias-pull-up;
850                         input-enable;
851                 };
852
853                 i2c0 {
854                         i2c0_xfer: i2c0-xfer {
855                                 rockchip,pins = <0 GPIO_A0 RK_FUNC_1 &pcfg_pull_none>,
856                                                 <0 GPIO_A1 RK_FUNC_1 &pcfg_pull_none>;
857                         };
858                         i2c0_gpio: i2c0-gpio {
859                                 rockchip,pins = <0 GPIO_A0 RK_FUNC_GPIO &pcfg_pull_none>,
860                                                 <0 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_none>;
861                         };
862                         i2c0_sleep: i2c0-sleep {
863                                 rockchip,pins = <0 GPIO_A0 RK_FUNC_GPIO &pcfg_input_high>,
864                                                 <0 GPIO_A1 RK_FUNC_GPIO &pcfg_input_high>;
865                         };
866                 };
867
868                 i2c1 {
869                         i2c1_xfer: i2c1-xfer {
870                                 rockchip,pins = <0 GPIO_A2 RK_FUNC_1 &pcfg_pull_none>,
871                                                 <0 GPIO_A3 RK_FUNC_1 &pcfg_pull_none>;
872                         };
873                         i2c1_gpio: i2c1-gpio {
874                                 rockchip,pins = <0 GPIO_A2  RK_FUNC_GPIO &pcfg_pull_none>,
875                                                 <0 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_none>;
876                         };
877                         i2c1_sleep: i2c1-sleep {
878                                 rockchip,pins = <0 GPIO_A2 RK_FUNC_GPIO &pcfg_input_high>,
879                                                 <0 GPIO_A3 RK_FUNC_GPIO &pcfg_input_high>;
880
881                         };
882                 };
883
884                 i2c2 {
885                         i2c2_xfer: i2c2-xfer {
886                                 rockchip,pins = <2 GPIO_C5 RK_FUNC_1 &pcfg_pull_none>,
887                                                 <2 GPIO_C4 RK_FUNC_1 &pcfg_pull_none>;
888                         };
889                         i2c2_gpio: i2c2-gpio {
890                                 rockchip,pins = <2 GPIO_C5 RK_FUNC_GPIO &pcfg_pull_none>,
891                                                 <2 GPIO_C4 RK_FUNC_GPIO &pcfg_pull_none>;
892                         };
893                         i2c2_sleep: i2c2-sleep {
894                                 rockchip,pins = <2 GPIO_C5 RK_FUNC_GPIO &pcfg_input_high>,
895                                                 <2 GPIO_C4 RK_FUNC_GPIO &pcfg_input_high>;
896                         };
897                 };
898
899                 i2c3 {
900                         i2c3_xfer: i2c3-xfer {
901                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_1 &pcfg_pull_none>,
902                                                 <0 GPIO_A7 RK_FUNC_1 &pcfg_pull_none>;
903                         };
904                         i2c3_gpio: i2c3-gpio {
905                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_GPIO &pcfg_pull_none>,
906                                                 <0 GPIO_A7 RK_FUNC_GPIO &pcfg_pull_none>;
907                         };
908                         i2c3_sleep: i2c3-sleep {
909                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_GPIO &pcfg_input_high>,
910                                                 <0 GPIO_A7 RK_FUNC_GPIO &pcfg_input_high>;
911                         };
912                 };
913
914                 uart0 {
915                         uart0_xfer: uart0-xfer {
916                                 rockchip,pins = <2 GPIO_D2 RK_FUNC_1 &pcfg_pull_up>,
917                                                 <2 GPIO_D3 RK_FUNC_1 &pcfg_pull_none>;
918                         };
919
920                         uart0_cts: uart0-cts {
921                                 rockchip,pins = <2 GPIO_D5 RK_FUNC_1 &pcfg_pull_none>;
922                         };
923
924                         uart0_rts: uart0-rts {
925                                 rockchip,pins = <0 GPIO_C1 RK_FUNC_1 &pcfg_pull_none>;
926                         };
927
928                         uart0_rts_gpio: uart0-rts-gpio {
929                                 rockchip,pins = <0 GPIO_C1 RK_FUNC_GPIO &pcfg_pull_none>;
930                         };
931                 };
932
933                 uart1 {
934                         uart1_xfer: uart1-xfer {
935                                 rockchip,pins = <1 GPIO_B2 RK_FUNC_1 &pcfg_pull_up>,
936                                                 <1 GPIO_B1 RK_FUNC_1 &pcfg_pull_none>;
937                         };
938
939                         uart1_cts: uart1-cts {
940                                 rockchip,pins = <1 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>;
941                         };
942
943                         uart1_rts: uart1-rts {
944                                 rockchip,pins = <1 GPIO_B3 RK_FUNC_1 &pcfg_pull_none>;
945                         };
946                 };
947
948                 uart11 {
949                         uart11_xfer: uart11-xfer {
950                                 rockchip,pins = <3 GPIO_B6 RK_FUNC_1 &pcfg_pull_up>,
951                                                 <3 GPIO_B5 RK_FUNC_1 &pcfg_pull_none>;
952                         };
953
954                         uart11_cts: uart11-cts {
955                                 rockchip,pins = <3 GPIO_A7 RK_FUNC_1 &pcfg_pull_none>;
956                         };
957
958                         uart11_rts: uart11-rts {
959                                 rockchip,pins = <3 GPIO_A6 RK_FUNC_1 &pcfg_pull_none>;
960                         };
961                 };
962
963                 uart2 {
964                         uart2_xfer: uart2-xfer {
965                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_2 &pcfg_pull_up>,
966                                                 <1 GPIO_C3 RK_FUNC_2 &pcfg_pull_none>;
967                         };
968
969                         uart2_cts: uart2-cts {
970                                 rockchip,pins = <0 GPIO_D1 RK_FUNC_1 &pcfg_pull_none>;
971                         };
972
973                         uart2_rts: uart2-rts {
974                                 rockchip,pins = <0 GPIO_D0 RK_FUNC_1 &pcfg_pull_none>;
975                         };
976                 };
977
978                 uart21 {
979                         uart21_xfer: uart21-xfer {
980                                 rockchip,pins = <1 GPIO_B2 RK_FUNC_2 &pcfg_pull_up>,
981                                                 <1 GPIO_B1 RK_FUNC_2 &pcfg_pull_none>;
982                         };
983                 };
984
985                 spi0 {
986                         spi0_clk: spi0-clk {
987                                 rockchip,pins = <0 GPIO_B1 RK_FUNC_2 &pcfg_pull_up>;
988                         };
989                         spi0_cs0: spi0-cs0 {
990                                 rockchip,pins = <0 GPIO_B6 RK_FUNC_2 &pcfg_pull_up>;
991                         };
992                         spi0_tx: spi0-tx {
993                                 rockchip,pins = <0 GPIO_B3 RK_FUNC_2 &pcfg_pull_up>;
994                         };
995                         spi0_rx: spi0-rx {
996                                 rockchip,pins = <0 GPIO_B5 RK_FUNC_2 &pcfg_pull_up>;
997                         };
998                         spi0_cs1: spi0-cs1 {
999                                 rockchip,pins = <1 GPIO_B4 RK_FUNC_1 &pcfg_pull_up>;
1000                         };
1001                 };
1002
1003                 spi1 {
1004                         spi1_clk: spi1-clk {
1005                                 rockchip,pins = <0 GPIO_C7 RK_FUNC_2 &pcfg_pull_up>;
1006                         };
1007                         spi1_cs0: spi1-cs0 {
1008                                 rockchip,pins = <2 GPIO_A2 RK_FUNC_2 &pcfg_pull_up>;
1009                         };
1010                         spi1_rx: spi1-rx {
1011                                 rockchip,pins = <2 GPIO_A0 RK_FUNC_2 &pcfg_pull_up>;
1012                         };
1013                         spi1_tx: spi1-tx {
1014                                 rockchip,pins = <2 GPIO_A1 RK_FUNC_2 &pcfg_pull_up>;
1015                         };
1016                         spi1_cs1: spi1-cs1 {
1017                                 rockchip,pins = <2 GPIO_A3 RK_FUNC_2 &pcfg_pull_up>;
1018                         };
1019                 };
1020
1021                 i2s {
1022                         i2s_mclk: i2s-mclk {
1023                                 rockchip,pins = <0 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>;
1024                         };
1025
1026                         i2s_sclk:i2s-sclk {
1027                                 rockchip,pins = <0 GPIO_B1 RK_FUNC_1 &pcfg_pull_none>;
1028                         };
1029
1030                         i2s_lrckrx:i2s-lrckrx {
1031                                 rockchip,pins = <0 GPIO_B3 RK_FUNC_1 &pcfg_pull_none>;
1032                         };
1033
1034                         i2s_lrcktx:i2s-lrcktx {
1035                                 rockchip,pins = <0 GPIO_B4 RK_FUNC_1 &pcfg_pull_none>;
1036                         };
1037
1038                         i2s_sdi:i2s-sdi {
1039                                 rockchip,pins = <0 GPIO_B6 RK_FUNC_1 &pcfg_pull_none>;
1040                         };
1041
1042                         i2s_sdo0:i2s-sdo0 {
1043                                 rockchip,pins = <0 GPIO_B5 RK_FUNC_1 &pcfg_pull_none>;
1044                         };
1045
1046                         i2s_sdo1:i2s-sdo1 {
1047                                 rockchip,pins = <1 GPIO_A2 RK_FUNC_2 &pcfg_pull_none>;
1048                         };
1049
1050                         i2s_sdo2:i2s-sdo2 {
1051                                 rockchip,pins = <1 GPIO_A4 RK_FUNC_2 &pcfg_pull_none>;
1052                         };
1053
1054                         i2s_sdo3:i2s-sdo3 {
1055                                 rockchip,pins = <1 GPIO_A5 RK_FUNC_2 &pcfg_pull_none>;
1056                         };
1057
1058                         i2s_gpio: i2s-gpio {
1059                                 rockchip,pins = <0 GPIO_B0  RK_FUNC_GPIO &pcfg_pull_none>,
1060                                                 <0 GPIO_B1 RK_FUNC_GPIO &pcfg_pull_none>,
1061                                                 <0 GPIO_B3 RK_FUNC_GPIO &pcfg_pull_none>,
1062                                                 <0 GPIO_B4 RK_FUNC_GPIO &pcfg_pull_none>,
1063                                                 <0 GPIO_B6 RK_FUNC_GPIO &pcfg_pull_none>,
1064                                                 <0 GPIO_B5 RK_FUNC_GPIO &pcfg_pull_none>,
1065                                                 <1 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_none>,
1066                                                 <1 GPIO_A4 RK_FUNC_GPIO &pcfg_pull_none>,
1067                                                 <1 GPIO_A5 RK_FUNC_GPIO &pcfg_pull_none>;
1068                         };
1069                 };
1070
1071                 spdif0 {
1072                         spdif0_tx: spdif0-tx {
1073                                 rockchip,pins = <3 GPIO_D3 RK_FUNC_1 &pcfg_pull_none>;
1074                         };
1075                 };
1076
1077                 spdif1 {
1078                         spdif1_tx: spdif1-tx {
1079                                 rockchip,pins = <3 GPIO_D7 RK_FUNC_2 &pcfg_pull_none>;
1080                         };
1081                 };
1082
1083                 sdmmc {
1084                         sdmmc_clk: sdmmc-clk {
1085                                 rockchip,pins = <1 GPIO_C0 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
1086                         };
1087
1088                         sdmmc_cmd: sdmmc-cmd {
1089                                 rockchip,pins = <1 GPIO_B7 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1090                         };
1091
1092                         sdmmc_dectn: sdmmc-dectn {
1093                                 rockchip,pins = <1 GPIO_C1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1094                         };
1095
1096                         sdmmc_wrprt: sdmmc-wrprt {
1097                                 rockchip,pins = <1 GPIO_A7 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1098                         };
1099
1100                         sdmmc_pwren: sdmmc-pwren {
1101                                 rockchip,pins = <1 GPIO_B6 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1102                         };
1103
1104                         sdmmc_bus1: sdmmc-bus1 {
1105                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1106                         };
1107
1108                         sdmmc_bus4: sdmmc-bus4 {
1109                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1110                                                 <1 GPIO_C3 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1111                                                 <1 GPIO_C4 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1112                                                 <1 GPIO_C5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1113                         };
1114
1115                         sdmmc_gpio: sdmmc-gpio {
1116                                 rockchip,pins = <1 GPIO_C0 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1117                                                 <1 GPIO_B7 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1118                                                 <1 GPIO_C1 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1119                                                 <1 GPIO_A7 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1120                                                 <1 GPIO_B6 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1121                                                 <1 GPIO_C2 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1122                                                 <1 GPIO_C3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1123                                                 <1 GPIO_C4 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1124                                                 <1 GPIO_C5 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>;
1125                         };
1126                 };
1127
1128                 sdio0 {
1129                         sdio0_bus1: sdio0-bus1 {
1130                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1131                         };
1132
1133                         sdio0_bus4: sdio0-bus4 {
1134                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1135                                                 <1 GPIO_A2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1136                                                 <1 GPIO_A4 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1137                                                 <1 GPIO_A5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1138                         };
1139
1140                         sdio0_cmd: sdio0-cmd {
1141                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_2 &pcfg_pull_up_drv_4ma>;
1142                         };
1143
1144                         sdio0_clk: sdio0-clk {
1145                                 rockchip,pins = <1 GPIO_A0 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
1146                         };
1147
1148                         sdio0_pwren: sdio0-pwren {
1149                                 rockchip,pins = <0 GPIO_D6 RK_FUNC_1 &pcfg_pull_up>;
1150                         };
1151
1152                         sdio0_gpio: sdio0-gpio {
1153                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1154                                                 <1 GPIO_A0 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1155                                                 <0 GPIO_D6 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1156                                                 <1 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1157                                                 <1 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1158                                                 <1 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1159                                                 <1 GPIO_A4 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>;
1160                         };
1161                 };
1162
1163
1164                 sdio1 {
1165                         sdio1_bus1: sdio1-bus1 {
1166                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1167                         };
1168
1169                         sdio1_bus4: sdio1-bus4 {
1170                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1171                                                 <1 GPIO_A2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1172                                                 <1 GPIO_A4 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1173                                                 <1 GPIO_A5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1174                         };
1175
1176                         sdio1_cmd: sdio1-cmd {
1177                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_2 &pcfg_pull_up_drv_4ma>;
1178                         };
1179
1180                         sdio1_clk: sdio1-clk {
1181                                 rockchip,pins = <1 GPIO_A0 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
1182                         };
1183
1184                         sdio1_pwren: sdio1-pwren {
1185                                 rockchip,pins = <0 GPIO_D6 RK_FUNC_1 &pcfg_pull_up>;
1186                         };
1187
1188                         sdio1_gpio: sdio1-gpio {
1189                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1190                                                 <1 GPIO_A0 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1191                                                 <0 GPIO_D6 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1192                                                 <1 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1193                                                 <1 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1194                                                 <1 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1195                                                 <1 GPIO_A4 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>;
1196                         };
1197                 };
1198
1199                 emmc {
1200                         emmc_clk: emmc-clk {
1201                                 rockchip,pins = <2 GPIO_A7 RK_FUNC_2 &pcfg_pull_none_drv_8ma>;
1202                         };
1203
1204                         emmc_cmd: emmc-cmd {
1205                                 rockchip,pins = <1 GPIO_C6 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
1206                         };
1207
1208                         emmc_pwren: emmc-pwren {
1209                                 rockchip,pins = <2 GPIO_A5 RK_FUNC_2 &pcfg_pull_none>;
1210                         };
1211
1212                         emmc_rstnout: emmc_rstnout {
1213                                 rockchip,pins = <1 GPIO_C7 RK_FUNC_2 &pcfg_pull_none>;
1214                         };
1215
1216                         emmc_bus1: emmc-bus1 {
1217                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
1218                         };
1219
1220                         emmc_bus4: emmc-bus4 {
1221                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
1222                                                 <1 GPIO_C3 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
1223                                                 <1 GPIO_C4 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
1224                                                 <1 GPIO_C5 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
1225                         };
1226                 };
1227
1228                 pwm0 {
1229                         pwm0_pin: pwm0-pin {
1230                                 rockchip,pins = <0 GPIO_D2 RK_FUNC_1 &pcfg_pull_none>;
1231                         };
1232                 };
1233
1234                 pwm1 {
1235                         pwm1_pin: pwm1-pin {
1236                                 rockchip,pins = <0 GPIO_D3 RK_FUNC_1 &pcfg_pull_none>;
1237                         };
1238                 };
1239
1240                 pwm2 {
1241                         pwm2_pin: pwm2-pin {
1242                                 rockchip,pins = <0 GPIO_D4 RK_FUNC_1 &pcfg_pull_none>;
1243                         };
1244                 };
1245
1246                 pwmir {
1247                         pwmir_pin: pwmir-pin {
1248                                 rockchip,pins = <3 GPIO_D2 RK_FUNC_1 &pcfg_pull_none>;
1249                         };
1250                 };
1251
1252                 pwm10 {
1253                         pwm10_pin: pwm10-pin {
1254                                 rockchip,pins = <3 GPIO_C5 RK_FUNC_1 &pcfg_pull_none>;
1255                         };
1256                 };
1257
1258                 pwm11 {
1259                         pwm11_pin: pwm11-pin {
1260                                 rockchip,pins = <0 GPIO_D6 RK_FUNC_2 &pcfg_pull_none>;
1261                         };
1262                 };
1263
1264                 pwm12 {
1265                         pwm12_pin: pwm12-pin {
1266                                 rockchip,pins = <1 GPIO_B4 RK_FUNC_2 &pcfg_pull_none>;
1267                         };
1268                 };
1269
1270                 pwm1ir {
1271                         pwm1ir_pin: pwm1ir-pin {
1272                                 rockchip,pins = <1 GPIO_B3 RK_FUNC_2 &pcfg_pull_none>;
1273                         };
1274                 };
1275
1276                 gmac {
1277                         rgmii_pins: rgmii-pins {
1278                                 rockchip,pins = <2 GPIO_B6 RK_FUNC_1 &pcfg_pull_none>,
1279                                                 <2 GPIO_B4 RK_FUNC_1 &pcfg_pull_none>,
1280                                                 <2 GPIO_D1 RK_FUNC_1 &pcfg_pull_none>,
1281                                                 <2 GPIO_C3 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1282                                                 <2 GPIO_C2 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1283                                                 <2 GPIO_C6 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1284                                                 <2 GPIO_C7 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1285                                                 <2 GPIO_B1 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1286                                                 <2 GPIO_B5 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1287                                                 <2 GPIO_C1 RK_FUNC_1 &pcfg_pull_none>,
1288                                                 <2 GPIO_C0 RK_FUNC_1 &pcfg_pull_none>,
1289                                                 <2 GPIO_C5 RK_FUNC_1 &pcfg_pull_none>,
1290                                                 <2 GPIO_C4 RK_FUNC_1 &pcfg_pull_none>,
1291                                                 <2 GPIO_B3 RK_FUNC_1 &pcfg_pull_none>,
1292                                                 <2 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>;
1293                         };
1294
1295                         rmii_pins: rmii-pins {
1296                                 rockchip,pins = <2 GPIO_B6 RK_FUNC_1 &pcfg_pull_none>,
1297                                                 <2 GPIO_B4 RK_FUNC_1 &pcfg_pull_none>,
1298                                                 <2 GPIO_D1 RK_FUNC_1 &pcfg_pull_none>,
1299                                                 <2 GPIO_C3 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1300                                                 <2 GPIO_C2 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1301                                                 <2 GPIO_B5 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1302                                                 <2 GPIO_C1 RK_FUNC_1 &pcfg_pull_none>,
1303                                                 <2 GPIO_C0 RK_FUNC_1 &pcfg_pull_none>,
1304                                                 <2 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>,
1305                                                 <2 GPIO_B7 RK_FUNC_1 &pcfg_pull_none>;
1306                         };
1307                 };
1308
1309                 tsadc_pin {
1310                         tsadc_int: tsadc-int {
1311                                 rockchip,pins = <0 GPIO_D0 RK_FUNC_2 &pcfg_pull_none>;
1312                         };
1313                         tsadc_gpio: tsadc-gpio {
1314                                 rockchip,pins = <0 GPIO_D0 RK_FUNC_GPIO &pcfg_pull_none>;
1315                         };
1316                 };
1317
1318                 hdmi_pin {
1319                         hdmi_cec: hdmi-cec {
1320                                 rockchip,pins = <0 GPIO_C4 RK_FUNC_1 &pcfg_pull_none>;
1321                         };
1322
1323                         hdmi_hpd: hdmi-hpd {
1324                                 rockchip,pins = <0 GPIO_B7 RK_FUNC_1 &pcfg_pull_none>;
1325                         };
1326                 };
1327
1328                 hdmi_i2c {
1329                         hdmii2c_xfer: hdmii2c-xfer {
1330                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_2 &pcfg_pull_none>,
1331                                                 <0 GPIO_A7 RK_FUNC_2 &pcfg_pull_none>;
1332                         };
1333                 };
1334         };
1335 };