290794661a1b239fb7db24db1b0aa8e5181a055f
[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_gates7 0>;
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                 clocks = <&clk_sdmmc0>, <&clk_gates5 10>;
639                 clock-names = "clk_mmc", "hclk_mmc";
640                 num-slots = <1>;
641                 fifo-depth = <0x100>;
642                 bus-width = <4>;
643                 cru_regsbase = <0x124>;
644                 cru_reset_offset = <1>;
645         };
646
647         sdio: rksdmmc@30010000 {
648                 compatible = "rockchip,rk_mmc", "rockchip,rk3228-sdmmc";
649                 reg = <0x30010000 0x10000>;
650                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
651                 #address-cells = <1>;
652                 #size-cells = <0>;
653                 clocks = <&clk_sdio>, <&clk_gates5 11>;
654                 clock-names = "clk_mmc", "hclk_mmc";
655                 num-slots = <1>;
656                 fifo-depth = <0x100>;
657                 bus-width = <4>;
658                 cru_regsbase = <0x124>;
659                 cru_reset_offset = <2>;
660         };
661
662         nandc: nandc@30030000 {
663                 compatible = "rockchip,rk-nandc";
664                 reg = <0x30030000 0x4000>;
665                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
666                 nandc_id = <0>;
667                 clocks = <&clk_nandc>, <&clk_gates1 0>, <&clk_gates11 3>;
668                 clock-names = "clk_nandc", "g_clk_nandc", "hclk_nandc";
669         };
670
671         otg: usb@30040000 {
672                 compatible = "rockchip,rk3228_usb20_otg";
673                 reg = <0x30040000 0x40000>;
674                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
675                 clocks = <&clk_gates1 5>, <&clk_gates11 12>;
676                 clock-names = "clk_usbphy0", "hclk_usb0";
677                 resets = <&reset RK3228_RST_USBOTG0>, <&reset RK3228_RST_UTMI0>,
678                                 <&reset RK3228_RST_OTGC0>;
679                 reset-names = "otg_ahb", "otg_phy", "otg_controller";
680                 /*0 - Normal, 1 - Force Host, 2 - Force Device*/
681                 rockchip,usb-mode = <0>;
682         };
683
684         ehci0: usb@30080000 {
685                 compatible = "generic-ehci";
686                 reg = <0x30080000 0x20000>;
687                 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
688                 clocks = <&clk_gates1 6>, <&clk_gates11 6>;
689                 clock-names = "clk_usbphy1", "hclk_host0";
690                 resets = <&reset RK3228_RST_USBHOST0>, <&reset RK3228_RST_UTMI1>,
691                                 <&reset RK3228_RST_HOST_CTRL0>;
692                 reset-names = "host_ahb", "host_phy", "host_controller";
693         };
694
695         ohci0: usb@300a0000 {
696                 compatible = "generic-ohci";
697                 reg = <0x300a0000 0x20000>;
698                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
699         };
700
701         ehci1: usb@300c0000 {
702                 compatible = "generic-ehci";
703                 reg = <0x300c0000 0x20000>;
704                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
705                 clocks = <&clk_gates1 6>, <&clk_gates11 8>;
706                 clock-names = "clk_usbphy1", "hclk_host0";
707                 resets = <&reset RK3228_RST_USBHOST1>, <&reset RK3228_RST_UTMI2>,
708                                 <&reset RK3228_RST_HOST_CTRL1>;
709                 reset-names = "host_ahb", "host_phy", "host_controller";
710         };
711
712         ohci1: usb@300e0000 {
713                 compatible = "generic-ohci";
714                 reg = <0x300e0000 0x20000>;
715                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
716         };
717
718         ehci2: usb@30100000 {
719                 compatible = "generic-ehci";
720                 reg = <0x30100000 0x20000>;
721                 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
722                 clocks = <&clk_gates1 6>, <&clk_gates11 10>;
723                 clock-names = "clk_usbphy1", "hclk_host0";
724                 resets = <&reset RK3228_RST_USBHOST2>, <&reset RK3228_RST_UTMI3>,
725                                 <&reset RK3228_RST_HOST_CTRL2>;
726                 reset-names = "host_ahb", "host_phy", "host_controller";
727         };
728
729         ohci2: usb@30120000 {
730                 compatible = "generic-ohci";
731                 reg = <0x30120000 0x20000>;
732                 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
733         };
734
735         pinctrl: pinctrl {
736                 compatible = "rockchip,rk3228-pinctrl";
737                 rockchip,grf = <&grf>;
738                 #address-cells = <1>;
739                 #size-cells = <1>;
740                 ranges;
741
742                 gpio0: gpio0@11110000 {
743                         compatible = "rockchip,gpio-bank";
744                         reg =   <0x11110000 0x100>;
745                         interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
746                         clocks = <&clk_gates9 9>;
747
748                         gpio-controller;
749                         #gpio-cells = <2>;
750
751                         interrupt-controller;
752                         #interrupt-cells = <2>;
753                 };
754
755                 gpio1: gpio1@11120000 {
756                         compatible = "rockchip,gpio-bank";
757                         reg = <0x11120000 0x100>;
758                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
759                         clocks = <&clk_gates9 9>;
760
761                         gpio-controller;
762                         #gpio-cells = <2>;
763
764                         interrupt-controller;
765                         #interrupt-cells = <2>;
766                 };
767
768                 gpio2: gpio2@11130000 {
769                         compatible = "rockchip,gpio-bank";
770                         reg = <0x11130000 0x100>;
771                         interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
772                         clocks = <&clk_gates9 10>;
773
774                         gpio-controller;
775                         #gpio-cells = <2>;
776
777                         interrupt-controller;
778                         #interrupt-cells = <2>;
779                 };
780
781                 gpio3: gpio3@11140000 {
782                         compatible = "rockchip,gpio-bank";
783                         reg = <0x11140000 0x100>;
784                         interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
785                         clocks = <&clk_gates9 11>;
786
787                         gpio-controller;
788                         #gpio-cells = <2>;
789
790                         interrupt-controller;
791                         #interrupt-cells = <2>;
792                 };
793
794                 pcfg_pull_up: pcfg-pull-up {
795                         bias-pull-up;
796                 };
797
798                 pcfg_pull_down: pcfg-pull-down {
799                         bias-pull-down;
800                 };
801
802                 pcfg_pull_none: pcfg-pull-none {
803                         bias-disable;
804                 };
805
806                 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
807                         drive-strength = <8>;
808                 };
809
810                 pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma {
811                         drive-strength = <12>;
812                 };
813
814                 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
815                         bias-pull-up;
816                         drive-strength = <8>;
817                 };
818
819                 pcfg_pull_none_drv_4ma: pcfg-pull-none-drv-4ma {
820                         drive-strength = <4>;
821                 };
822
823                 pcfg_pull_up_drv_4ma: pcfg-pull-up-drv-4ma {
824                         bias-pull-up;
825                         drive-strength = <4>;
826                 };
827
828                 pcfg_pull_down_drv_12ma: pcfg-pull-down-drv-12ma {
829                         bias-pull-down;
830                         drive-strength = <12>;
831                 };
832
833                 pcfg_output_high: pcfg-output-high {
834                         output-high;
835                 };
836
837                 pcfg_output_low: pcfg-output-low {
838                         output-low;
839                 };
840
841                 pcfg_input_high: pcfg-input-high {
842                         bias-pull-up;
843                         input-enable;
844                 };
845
846                 i2c0 {
847                         i2c0_xfer: i2c0-xfer {
848                                 rockchip,pins = <0 GPIO_A0 RK_FUNC_1 &pcfg_pull_none>,
849                                                 <0 GPIO_A1 RK_FUNC_1 &pcfg_pull_none>;
850                         };
851                         i2c0_gpio: i2c0-gpio {
852                                 rockchip,pins = <0 GPIO_A0 RK_FUNC_GPIO &pcfg_pull_none>,
853                                                 <0 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_none>;
854                         };
855                         i2c0_sleep: i2c0-sleep {
856                                 rockchip,pins = <0 GPIO_A0 RK_FUNC_GPIO &pcfg_input_high>,
857                                                 <0 GPIO_A1 RK_FUNC_GPIO &pcfg_input_high>;
858                         };
859                 };
860
861                 i2c1 {
862                         i2c1_xfer: i2c1-xfer {
863                                 rockchip,pins = <0 GPIO_A2 RK_FUNC_1 &pcfg_pull_none>,
864                                                 <0 GPIO_A3 RK_FUNC_1 &pcfg_pull_none>;
865                         };
866                         i2c1_gpio: i2c1-gpio {
867                                 rockchip,pins = <0 GPIO_A2  RK_FUNC_GPIO &pcfg_pull_none>,
868                                                 <0 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_none>;
869                         };
870                         i2c1_sleep: i2c1-sleep {
871                                 rockchip,pins = <0 GPIO_A2 RK_FUNC_GPIO &pcfg_input_high>,
872                                                 <0 GPIO_A3 RK_FUNC_GPIO &pcfg_input_high>;
873
874                         };
875                 };
876
877                 i2c2 {
878                         i2c2_xfer: i2c2-xfer {
879                                 rockchip,pins = <2 GPIO_C5 RK_FUNC_1 &pcfg_pull_none>,
880                                                 <2 GPIO_C4 RK_FUNC_1 &pcfg_pull_none>;
881                         };
882                         i2c2_gpio: i2c2-gpio {
883                                 rockchip,pins = <2 GPIO_C5 RK_FUNC_GPIO &pcfg_pull_none>,
884                                                 <2 GPIO_C4 RK_FUNC_GPIO &pcfg_pull_none>;
885                         };
886                         i2c2_sleep: i2c2-sleep {
887                                 rockchip,pins = <2 GPIO_C5 RK_FUNC_GPIO &pcfg_input_high>,
888                                                 <2 GPIO_C4 RK_FUNC_GPIO &pcfg_input_high>;
889                         };
890                 };
891
892                 i2c3 {
893                         i2c3_xfer: i2c3-xfer {
894                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_1 &pcfg_pull_none>,
895                                                 <0 GPIO_A7 RK_FUNC_1 &pcfg_pull_none>;
896                         };
897                         i2c3_gpio: i2c3-gpio {
898                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_GPIO &pcfg_pull_none>,
899                                                 <0 GPIO_A7 RK_FUNC_GPIO &pcfg_pull_none>;
900                         };
901                         i2c3_sleep: i2c3-sleep {
902                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_GPIO &pcfg_input_high>,
903                                                 <0 GPIO_A7 RK_FUNC_GPIO &pcfg_input_high>;
904                         };
905                 };
906
907                 uart0 {
908                         uart0_xfer: uart0-xfer {
909                                 rockchip,pins = <2 GPIO_D2 RK_FUNC_1 &pcfg_pull_up>,
910                                                 <2 GPIO_D3 RK_FUNC_1 &pcfg_pull_none>;
911                         };
912
913                         uart0_cts: uart0-cts {
914                                 rockchip,pins = <2 GPIO_D5 RK_FUNC_1 &pcfg_pull_none>;
915                         };
916
917                         uart0_rts: uart0-rts {
918                                 rockchip,pins = <0 GPIO_C1 RK_FUNC_1 &pcfg_pull_none>;
919                         };
920
921                         uart0_rts_gpio: uart0-rts-gpio {
922                                 rockchip,pins = <0 GPIO_C1 RK_FUNC_GPIO &pcfg_pull_none>;
923                         };
924                 };
925
926                 uart1 {
927                         uart1_xfer: uart1-xfer {
928                                 rockchip,pins = <1 GPIO_B2 RK_FUNC_1 &pcfg_pull_up>,
929                                                 <1 GPIO_B1 RK_FUNC_1 &pcfg_pull_none>;
930                         };
931
932                         uart1_cts: uart1-cts {
933                                 rockchip,pins = <1 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>;
934                         };
935
936                         uart1_rts: uart1-rts {
937                                 rockchip,pins = <1 GPIO_B3 RK_FUNC_1 &pcfg_pull_none>;
938                         };
939                 };
940
941                 uart11 {
942                         uart11_xfer: uart11-xfer {
943                                 rockchip,pins = <3 GPIO_B6 RK_FUNC_1 &pcfg_pull_up>,
944                                                 <3 GPIO_B5 RK_FUNC_1 &pcfg_pull_none>;
945                         };
946
947                         uart11_cts: uart11-cts {
948                                 rockchip,pins = <3 GPIO_A7 RK_FUNC_1 &pcfg_pull_none>;
949                         };
950
951                         uart11_rts: uart11-rts {
952                                 rockchip,pins = <3 GPIO_A6 RK_FUNC_1 &pcfg_pull_none>;
953                         };
954                 };
955
956                 uart2 {
957                         uart2_xfer: uart2-xfer {
958                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_2 &pcfg_pull_up>,
959                                                 <1 GPIO_C3 RK_FUNC_2 &pcfg_pull_none>;
960                         };
961
962                         uart2_cts: uart2-cts {
963                                 rockchip,pins = <0 GPIO_D1 RK_FUNC_1 &pcfg_pull_none>;
964                         };
965
966                         uart2_rts: uart2-rts {
967                                 rockchip,pins = <0 GPIO_D0 RK_FUNC_1 &pcfg_pull_none>;
968                         };
969                 };
970
971                 uart21 {
972                         uart21_xfer: uart21-xfer {
973                                 rockchip,pins = <1 GPIO_B2 RK_FUNC_2 &pcfg_pull_up>,
974                                                 <1 GPIO_B1 RK_FUNC_2 &pcfg_pull_none>;
975                         };
976                 };
977
978                 spi0 {
979                         spi0_clk: spi0-clk {
980                                 rockchip,pins = <0 GPIO_B1 RK_FUNC_2 &pcfg_pull_up>;
981                         };
982                         spi0_cs0: spi0-cs0 {
983                                 rockchip,pins = <0 GPIO_B6 RK_FUNC_2 &pcfg_pull_up>;
984                         };
985                         spi0_tx: spi0-tx {
986                                 rockchip,pins = <0 GPIO_B3 RK_FUNC_2 &pcfg_pull_up>;
987                         };
988                         spi0_rx: spi0-rx {
989                                 rockchip,pins = <0 GPIO_B5 RK_FUNC_2 &pcfg_pull_up>;
990                         };
991                         spi0_cs1: spi0-cs1 {
992                                 rockchip,pins = <1 GPIO_B4 RK_FUNC_1 &pcfg_pull_up>;
993                         };
994                 };
995
996                 spi1 {
997                         spi1_clk: spi1-clk {
998                                 rockchip,pins = <0 GPIO_C7 RK_FUNC_2 &pcfg_pull_up>;
999                         };
1000                         spi1_cs0: spi1-cs0 {
1001                                 rockchip,pins = <2 GPIO_A2 RK_FUNC_2 &pcfg_pull_up>;
1002                         };
1003                         spi1_rx: spi1-rx {
1004                                 rockchip,pins = <2 GPIO_A0 RK_FUNC_2 &pcfg_pull_up>;
1005                         };
1006                         spi1_tx: spi1-tx {
1007                                 rockchip,pins = <2 GPIO_A1 RK_FUNC_2 &pcfg_pull_up>;
1008                         };
1009                         spi1_cs1: spi1-cs1 {
1010                                 rockchip,pins = <2 GPIO_A3 RK_FUNC_2 &pcfg_pull_up>;
1011                         };
1012                 };
1013
1014                 i2s {
1015                         i2s_mclk: i2s-mclk {
1016                                 rockchip,pins = <0 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>;
1017                         };
1018
1019                         i2s_sclk:i2s-sclk {
1020                                 rockchip,pins = <0 GPIO_B1 RK_FUNC_1 &pcfg_pull_none>;
1021                         };
1022
1023                         i2s_lrckrx:i2s-lrckrx {
1024                                 rockchip,pins = <0 GPIO_B3 RK_FUNC_1 &pcfg_pull_none>;
1025                         };
1026
1027                         i2s_lrcktx:i2s-lrcktx {
1028                                 rockchip,pins = <0 GPIO_B4 RK_FUNC_1 &pcfg_pull_none>;
1029                         };
1030
1031                         i2s_sdi:i2s-sdi {
1032                                 rockchip,pins = <0 GPIO_B6 RK_FUNC_1 &pcfg_pull_none>;
1033                         };
1034
1035                         i2s_sdo0:i2s-sdo0 {
1036                                 rockchip,pins = <0 GPIO_B5 RK_FUNC_1 &pcfg_pull_none>;
1037                         };
1038
1039                         i2s_sdo1:i2s-sdo1 {
1040                                 rockchip,pins = <1 GPIO_A2 RK_FUNC_2 &pcfg_pull_none>;
1041                         };
1042
1043                         i2s_sdo2:i2s-sdo2 {
1044                                 rockchip,pins = <1 GPIO_A4 RK_FUNC_2 &pcfg_pull_none>;
1045                         };
1046
1047                         i2s_sdo3:i2s-sdo3 {
1048                                 rockchip,pins = <1 GPIO_A5 RK_FUNC_2 &pcfg_pull_none>;
1049                         };
1050
1051                         i2s_gpio: i2s-gpio {
1052                                 rockchip,pins = <0 GPIO_B0  RK_FUNC_GPIO &pcfg_pull_none>,
1053                                                 <0 GPIO_B1 RK_FUNC_GPIO &pcfg_pull_none>,
1054                                                 <0 GPIO_B3 RK_FUNC_GPIO &pcfg_pull_none>,
1055                                                 <0 GPIO_B4 RK_FUNC_GPIO &pcfg_pull_none>,
1056                                                 <0 GPIO_B6 RK_FUNC_GPIO &pcfg_pull_none>,
1057                                                 <0 GPIO_B5 RK_FUNC_GPIO &pcfg_pull_none>,
1058                                                 <1 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_none>,
1059                                                 <1 GPIO_A4 RK_FUNC_GPIO &pcfg_pull_none>,
1060                                                 <1 GPIO_A5 RK_FUNC_GPIO &pcfg_pull_none>;
1061                         };
1062                 };
1063
1064                 spdif0 {
1065                         spdif0_tx: spdif0-tx {
1066                                 rockchip,pins = <3 GPIO_D3 RK_FUNC_1 &pcfg_pull_none>;
1067                         };
1068                 };
1069
1070                 spdif1 {
1071                         spdif1_tx: spdif1-tx {
1072                                 rockchip,pins = <3 GPIO_D7 RK_FUNC_2 &pcfg_pull_none>;
1073                         };
1074                 };
1075
1076                 sdmmc {
1077                         sdmmc_clk: sdmmc-clk {
1078                                 rockchip,pins = <1 GPIO_C0 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
1079                         };
1080
1081                         sdmmc_cmd: sdmmc-cmd {
1082                                 rockchip,pins = <1 GPIO_B7 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1083                         };
1084
1085                         sdmmc_dectn: sdmmc-dectn {
1086                                 rockchip,pins = <1 GPIO_C1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1087                         };
1088
1089                         sdmmc_wrprt: sdmmc-wrprt {
1090                                 rockchip,pins = <1 GPIO_A7 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1091                         };
1092
1093                         sdmmc_pwren: sdmmc-pwren {
1094                                 rockchip,pins = <1 GPIO_B6 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1095                         };
1096
1097                         sdmmc_bus1: sdmmc-bus1 {
1098                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1099                         };
1100
1101                         sdmmc_bus4: sdmmc-bus4 {
1102                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1103                                                 <1 GPIO_C3 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1104                                                 <1 GPIO_C4 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1105                                                 <1 GPIO_C5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1106                         };
1107
1108                         sdmmc_gpio: sdmmc-gpio {
1109                                 rockchip,pins = <1 GPIO_C0 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1110                                                 <1 GPIO_B7 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1111                                                 <1 GPIO_C1 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1112                                                 <1 GPIO_A7 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1113                                                 <1 GPIO_B6 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1114                                                 <1 GPIO_C2 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1115                                                 <1 GPIO_C3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1116                                                 <1 GPIO_C4 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1117                                                 <1 GPIO_C5 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>;
1118                         };
1119                 };
1120
1121                 sdio0 {
1122                         sdio0_bus1: sdio0-bus1 {
1123                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1124                         };
1125
1126                         sdio0_bus4: sdio0-bus4 {
1127                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1128                                                 <1 GPIO_A2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1129                                                 <1 GPIO_A4 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1130                                                 <1 GPIO_A5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1131                         };
1132
1133                         sdio0_cmd: sdio0-cmd {
1134                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_2 &pcfg_pull_up_drv_4ma>;
1135                         };
1136
1137                         sdio0_clk: sdio0-clk {
1138                                 rockchip,pins = <1 GPIO_A0 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
1139                         };
1140
1141                         sdio0_pwren: sdio0-pwren {
1142                                 rockchip,pins = <0 GPIO_D6 RK_FUNC_1 &pcfg_pull_up>;
1143                         };
1144
1145                         sdio0_gpio: sdio0-gpio {
1146                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1147                                                 <1 GPIO_A0 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1148                                                 <0 GPIO_D6 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1149                                                 <1 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1150                                                 <1 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1151                                                 <1 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1152                                                 <1 GPIO_A4 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>;
1153                         };
1154                 };
1155
1156
1157                 sdio1 {
1158                         sdio1_bus1: sdio1-bus1 {
1159                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1160                         };
1161
1162                         sdio1_bus4: sdio1-bus4 {
1163                                 rockchip,pins = <1 GPIO_A1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1164                                                 <1 GPIO_A2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1165                                                 <1 GPIO_A4 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
1166                                                 <1 GPIO_A5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
1167                         };
1168
1169                         sdio1_cmd: sdio1-cmd {
1170                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_2 &pcfg_pull_up_drv_4ma>;
1171                         };
1172
1173                         sdio1_clk: sdio1-clk {
1174                                 rockchip,pins = <1 GPIO_A0 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
1175                         };
1176
1177                         sdio1_pwren: sdio1-pwren {
1178                                 rockchip,pins = <0 GPIO_D6 RK_FUNC_1 &pcfg_pull_up>;
1179                         };
1180
1181                         sdio1_gpio: sdio1-gpio {
1182                                 rockchip,pins = <0 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1183                                                 <1 GPIO_A0 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1184                                                 <0 GPIO_D6 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1185                                                 <1 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1186                                                 <1 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1187                                                 <1 GPIO_A3 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>,
1188                                                 <1 GPIO_A4 RK_FUNC_GPIO &pcfg_pull_up_drv_4ma>;
1189                         };
1190                 };
1191
1192                 emmc {
1193                         emmc_clk: emmc-clk {
1194                                 rockchip,pins = <2 GPIO_A7 RK_FUNC_2 &pcfg_pull_none_drv_8ma>;
1195                         };
1196
1197                         emmc_cmd: emmc-cmd {
1198                                 rockchip,pins = <1 GPIO_C6 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
1199                         };
1200
1201                         emmc_pwren: emmc-pwren {
1202                                 rockchip,pins = <2 GPIO_A5 RK_FUNC_2 &pcfg_pull_none>;
1203                         };
1204
1205                         emmc_rstnout: emmc_rstnout {
1206                                 rockchip,pins = <1 GPIO_C7 RK_FUNC_2 &pcfg_pull_none>;
1207                         };
1208
1209                         emmc_bus1: emmc-bus1 {
1210                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
1211                         };
1212
1213                         emmc_bus4: emmc-bus4 {
1214                                 rockchip,pins = <1 GPIO_C2 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
1215                                                 <1 GPIO_C3 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
1216                                                 <1 GPIO_C4 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
1217                                                 <1 GPIO_C5 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
1218                         };
1219                 };
1220
1221                 pwm0 {
1222                         pwm0_pin: pwm0-pin {
1223                                 rockchip,pins = <0 GPIO_D2 RK_FUNC_1 &pcfg_pull_none>;
1224                         };
1225                 };
1226
1227                 pwm1 {
1228                         pwm1_pin: pwm1-pin {
1229                                 rockchip,pins = <0 GPIO_D3 RK_FUNC_1 &pcfg_pull_none>;
1230                         };
1231                 };
1232
1233                 pwm2 {
1234                         pwm2_pin: pwm2-pin {
1235                                 rockchip,pins = <0 GPIO_D4 RK_FUNC_1 &pcfg_pull_none>;
1236                         };
1237                 };
1238
1239                 pwmir {
1240                         pwmir_pin: pwmir-pin {
1241                                 rockchip,pins = <3 GPIO_D2 RK_FUNC_1 &pcfg_pull_none>;
1242                         };
1243                 };
1244
1245                 pwm10 {
1246                         pwm10_pin: pwm10-pin {
1247                                 rockchip,pins = <3 GPIO_C5 RK_FUNC_1 &pcfg_pull_none>;
1248                         };
1249                 };
1250
1251                 pwm11 {
1252                         pwm11_pin: pwm11-pin {
1253                                 rockchip,pins = <0 GPIO_D6 RK_FUNC_2 &pcfg_pull_none>;
1254                         };
1255                 };
1256
1257                 pwm12 {
1258                         pwm12_pin: pwm12-pin {
1259                                 rockchip,pins = <1 GPIO_B4 RK_FUNC_2 &pcfg_pull_none>;
1260                         };
1261                 };
1262
1263                 pwm1ir {
1264                         pwm1ir_pin: pwm1ir-pin {
1265                                 rockchip,pins = <1 GPIO_B3 RK_FUNC_2 &pcfg_pull_none>;
1266                         };
1267                 };
1268
1269                 gmac {
1270                         rgmii_pins: rgmii-pins {
1271                                 rockchip,pins = <2 GPIO_B6 RK_FUNC_1 &pcfg_pull_none>,
1272                                                 <2 GPIO_B4 RK_FUNC_1 &pcfg_pull_none>,
1273                                                 <2 GPIO_D1 RK_FUNC_1 &pcfg_pull_none>,
1274                                                 <2 GPIO_C3 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1275                                                 <2 GPIO_C2 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1276                                                 <2 GPIO_C6 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1277                                                 <2 GPIO_C7 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1278                                                 <2 GPIO_B1 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1279                                                 <2 GPIO_B5 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1280                                                 <2 GPIO_C1 RK_FUNC_1 &pcfg_pull_none>,
1281                                                 <2 GPIO_C0 RK_FUNC_1 &pcfg_pull_none>,
1282                                                 <2 GPIO_C5 RK_FUNC_1 &pcfg_pull_none>,
1283                                                 <2 GPIO_C4 RK_FUNC_1 &pcfg_pull_none>,
1284                                                 <2 GPIO_B3 RK_FUNC_1 &pcfg_pull_none>,
1285                                                 <2 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>;
1286                         };
1287
1288                         rmii_pins: rmii-pins {
1289                                 rockchip,pins = <2 GPIO_B6 RK_FUNC_1 &pcfg_pull_none>,
1290                                                 <2 GPIO_B4 RK_FUNC_1 &pcfg_pull_none>,
1291                                                 <2 GPIO_D1 RK_FUNC_1 &pcfg_pull_none>,
1292                                                 <2 GPIO_C3 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1293                                                 <2 GPIO_C2 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1294                                                 <2 GPIO_B5 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
1295                                                 <2 GPIO_C1 RK_FUNC_1 &pcfg_pull_none>,
1296                                                 <2 GPIO_C0 RK_FUNC_1 &pcfg_pull_none>,
1297                                                 <2 GPIO_B0 RK_FUNC_1 &pcfg_pull_none>,
1298                                                 <2 GPIO_B7 RK_FUNC_1 &pcfg_pull_none>;
1299                         };
1300                 };
1301
1302                 tsadc_pin {
1303                         tsadc_int: tsadc-int {
1304                                 rockchip,pins = <0 GPIO_D0 RK_FUNC_2 &pcfg_pull_none>;
1305                         };
1306                         tsadc_gpio: tsadc-gpio {
1307                                 rockchip,pins = <0 GPIO_D0 RK_FUNC_GPIO &pcfg_pull_none>;
1308                         };
1309                 };
1310
1311                 hdmi_pin {
1312                         hdmi_cec: hdmi-cec {
1313                                 rockchip,pins = <0 GPIO_C4 RK_FUNC_1 &pcfg_pull_none>;
1314                         };
1315
1316                         hdmi_hpd: hdmi-hpd {
1317                                 rockchip,pins = <0 GPIO_B7 RK_FUNC_1 &pcfg_pull_none>;
1318                         };
1319                 };
1320
1321                 hdmi_i2c {
1322                         hdmii2c_xfer: hdmii2c-xfer {
1323                                 rockchip,pins = <0 GPIO_A6 RK_FUNC_2 &pcfg_pull_none>,
1324                                                 <0 GPIO_A7 RK_FUNC_2 &pcfg_pull_none>;
1325                         };
1326                 };
1327         };
1328 };