]> git.sur5r.net Git - u-boot/blob - arch/arm/dts/rk3128.dtsi
SPDX: Convert all of our single license tags to Linux Kernel style
[u-boot] / arch / arm / dts / rk3128.dtsi
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
4  */
5
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/interrupt-controller/irq.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/pinctrl/rockchip.h>
10 #include <dt-bindings/clock/rk3128-cru.h>
11 #include "skeleton.dtsi"
12
13 / {
14         compatible = "rockchip,rk3128";
15         rockchip,sram = <&sram>;
16         interrupt-parent = <&gic>;
17         #address-cells = <1>;
18         #size-cells = <1>;
19
20         aliases {
21                 gpio0 = &gpio0;
22                 gpio1 = &gpio1;
23                 gpio2 = &gpio2;
24                 gpio3 = &gpio3;
25                 i2c0 = &i2c0;
26                 i2c1 = &i2c1;
27                 i2c2 = &i2c2;
28                 i2c3 = &i2c3;
29                 spi0 = &spi0;
30                 serial0 = &uart0;
31                 serial1 = &uart1;
32                 serial2 = &uart2;
33                 mmc0 = &emmc;
34                 mmc1 = &sdmmc;
35         };
36
37         memory {
38                 device_type = "memory";
39                 reg = <0x60000000 0x40000000>;
40         };
41
42         arm-pmu {
43                 compatible = "arm,cortex-a7-pmu";
44                 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
45                              <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
46                              <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
47                              <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
48         };
49
50         cpus {
51                 #address-cells = <1>;
52                 #size-cells = <0>;
53                 enable-method = "rockchip,rk3128-smp";
54
55                 cpu0:cpu@0x000 {
56                         device_type = "cpu";
57                         compatible = "arm,cortex-a7";
58                         reg = <0x000>;
59                         operating-points = <
60                                 /* KHz    uV */
61                                  816000 1000000
62                         >;
63                         #cooling-cells = <2>; /* min followed by max */
64                         clock-latency = <40000>;
65                         clocks = <&cru ARMCLK>;
66                 };
67
68                 cpu1:cpu@0x001 {
69                         device_type = "cpu";
70                         compatible = "arm,cortex-a7";
71                         reg = <0x001>;
72                 };
73
74                 cpu2:cpu@0x002 {
75                         device_type = "cpu";
76                         compatible = "arm,cortex-a7";
77                         reg = <0x002>;
78                 };
79
80                 cpu3:cpu@0x003 {
81                         device_type = "cpu";
82                         compatible = "arm,cortex-a7";
83                         reg = <0x003>;
84                 };
85         };
86
87         cpu_axi_bus: cpu_axi_bus {
88                 compatible = "rockchip,cpu_axi_bus";
89                 #address-cells = <1>;
90                 #size-cells = <1>;
91                 ranges;
92
93                 qos {
94                         #address-cells = <1>;
95                         #size-cells = <1>;
96                         ranges;
97
98                         crypto {
99                                 reg = <0x10128080 0x20>;
100                         };
101
102                         core {
103                                 reg = <0x1012a000 0x20>;
104                         };
105
106                         peri {
107                                 reg = <0x1012c000 0x20>;
108                         };
109
110                         gpu {
111                                 reg = <0x1012d000 0x20>;
112                         };
113
114                         vpu {
115                                 reg = <0x1012e000 0x20>;
116                         };
117
118                         rga {
119                                 reg = <0x1012f000 0x20>;
120                         };
121                         ebc {
122                                 reg = <0x1012f080 0x20>;
123                         };
124
125                         iep {
126                                 reg = <0x1012f100 0x20>;
127                         };
128
129                         lcdc {
130                                 reg = <0x1012f180 0x20>;
131                                 rockchip,priority = <3 3>;
132                         };
133
134                         vip {
135                                 reg = <0x1012f200 0x20>;
136                                 rockchip,priority = <3 3>;
137                         };
138                 };
139
140                 msch {
141                         #address-cells = <1>;
142                         #size-cells = <1>;
143                         ranges;
144
145                         msch@10128000 {
146                                 reg = <0x10128000 0x20>;
147                                 rockchip,read-latency = <0x3f>;
148                         };
149                 };
150         };
151
152         psci {
153                 compatible      = "arm,psci";
154                 method          = "smc";
155                 cpu_suspend     = <0x84000001>;
156                 cpu_off         = <0x84000002>;
157                 cpu_on          = <0x84000003>;
158                 migrate         = <0x84000005>;
159         };
160
161         amba {
162                 compatible = "arm,amba-bus";
163                 #address-cells = <1>;
164                 #size-cells = <1>;
165                 interrupt-parent = <&gic>;
166                 ranges;
167
168                 pdma: pdma@20078000 {
169                         compatible = "arm,pl330", "arm,primecell";
170                         reg = <0x20078000 0x4000>;
171                         arm,pl330-broken-no-flushp;//2
172                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
173                                      <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
174                         #dma-cells = <1>;
175                         clocks = <&cru ACLK_DMAC2>;
176                         clock-names = "apb_pclk";
177                 };
178         };
179
180         xin24m: xin24m {
181                 compatible = "fixed-clock";
182                 clock-frequency = <24000000>;
183                 clock-output-names = "xin24m";
184                 #clock-cells = <0>;
185         };
186
187         xin12m: xin12m {
188                 compatible = "fixed-clock";
189                 clocks = <&xin24m>;
190                 clock-frequency = <12000000>;
191                 clock-output-names = "xin12m";
192                 #clock-cells = <0>;
193         };
194
195         timer {
196                 compatible = "arm,armv7-timer";
197                 arm,cpu-registers-not-fw-configured;
198                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
199                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
200                 clock-frequency = <24000000>;
201         };
202
203         timer@20044000 {
204                 compatible = "arm,armv7-timer";
205                 reg = <0x20044000 0xb8>;
206                 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
207                 rockchip,broadcast = <1>;
208         };
209
210         watchdog: wdt@2004c000 {
211                 compatible = "rockchip,watch dog";
212                 reg = <0x2004c000 0x100>;
213                 clock-names = "pclk_wdt";
214                 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
215                 rockchip,irq = <1>;
216                 rockchip,timeout = <60>;
217                 rockchip,atboot = <1>;
218                 rockchip,debug = <0>;
219         };
220
221         reset: reset@20000110 {
222                 compatible = "rockchip,reset";
223                 reg = <0x20000110 0x24>;
224                 #reset-cells = <1>;
225         };
226
227         nandc: nandc@10500000 {
228                 compatible = "rockchip,rk-nandc";
229                 reg = <0x10500000 0x4000>;
230                 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
231                 pinctrl-names = "default";
232                 pinctrl-0 = <&nandc_ale &nandc_cle &nandc_wrn &nandc_rdn &nandc_rdy &nandc_cs0 &nandc_data>;
233                 nandc_id = <0>;
234                 clocks = <&cru SCLK_NANDC>,
235                          <&cru HCLK_NANDC>,
236                          <&cru SRST_NANDC>;
237                 clock-names = "clk_nandc", "g_clk_nandc", "hclk_nandc";
238         };
239
240         dmc: dmc@20004000 {
241                 u-boot,dm-pre-reloc;
242                 compatible = "rockchip,rk3128-dmc", "syscon";
243                 reg = <0x0 0x20004000 0x0 0x1000>;
244         };
245
246         cru: clock-controller@20000000 {
247                 u-boot,dm-pre-reloc;
248                 compatible = "rockchip,rk3128-cru";
249                 reg = <0x20000000 0x1000>;
250                 rockchip,grf = <&grf>;
251                 #clock-cells = <1>;
252                 #reset-cells = <1>;
253                 assigned-clocks = <&cru PLL_GPLL>;
254                 assigned-clock-rates = <594000000>;
255         };
256
257         uart0: serial0@20060000 {
258                 compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
259                 reg = <0x20060000 0x100>;
260                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
261                 reg-shift = <2>;
262                 reg-io-width = <4>;
263                 clock-frequency = <24000000>;
264                 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
265                 clock-names = "baudclk", "apb_pclk";
266                 pinctrl-names = "default";
267                 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
268                 dmas = <&pdma 2>, <&pdma 3>;
269                 #dma-cells = <2>;
270         };
271
272         uart1: serial1@20064000 {
273                 compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
274                 reg = <0x20064000 0x100>;
275                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
276                 reg-shift = <2>;
277                 reg-io-width = <4>;
278                 clock-frequency = <24000000>;
279                 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
280                 clock-names = "baudclk", "apb_pclk";
281                 pinctrl-names = "default";
282                 pinctrl-0 = <&uart1_xfer>;
283                 dmas = <&pdma 4>, <&pdma 5>;
284                 #dma-cells = <2>;
285         };
286
287         uart2: serial2@20068000 {
288                 compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
289                 reg = <0x20068000 0x100>;
290                 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
291                 reg-shift = <2>;
292                 reg-io-width = <4>;
293                 clock-frequency = <24000000>;
294                 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
295                 clock-names = "baudclk", "apb_pclk";
296                 pinctrl-names = "default";
297                 pinctrl-0 = <&uart2_xfer>;
298                 dmas = <&pdma 6>, <&pdma 7>;
299                 #dma-cells = <2>;
300         };
301
302         saradc: saradc@2006c000 {
303                 compatible = "rockchip,saradc";
304                 reg = <0x2006c000 0x100>;
305                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
306                 #io-channel-cells = <1>;
307                 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
308                 clock-names = "saradc", "apb_pclk";
309                 resets = <&cru SRST_SARADC>;
310                 reset-names = "saradc-apb";
311                 status = "disabled";
312         };
313
314         pwm0: pwm0@20050000 {
315                 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
316                 reg = <0x20050000 0x10>;
317                 #pwm-cells = <3>;
318                 pinctrl-names = "default";
319                 pinctrl-0 = <&pwm0_pin>;
320                 clocks = <&cru PCLK_PWM>;
321                 clock-names = "pwm";
322         };
323
324         pwm1: pwm1@20050010 {
325                 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
326                 reg = <0x20050010 0x10>;
327                 #pwm-cells = <3>;
328                 pinctrl-names = "default";
329                 pinctrl-0 = <&pwm1_pin>;
330                 clocks = <&cru PCLK_PWM>;
331                 clock-names = "pwm";
332         };
333
334         pwm2: pwm2@20050020 {
335                 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
336                 reg = <0x20050020 0x10>;
337                 #pwm-cells = <3>;
338                 pinctrl-names = "default";
339                 pinctrl-0 = <&pwm2_pin>;
340                 clocks = <&cru PCLK_PWM>;
341                 clock-names = "pwm";
342         };
343
344         pwm3: pwm3@20050030 {
345                 compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
346                 reg = <0x20050030 0x10>;
347                 #pwm-cells = <3>;
348                 pinctrl-names = "default";
349                 pinctrl-0 = <&pwm3_pin>;
350                 clocks = <&cru PCLK_PWM>;
351                 clock-names = "pwm";
352         };
353
354         sram: sram@10080400 {
355                 compatible = "rockchip,rk3128-smp-sram", "mmio-sram";
356                 reg = <0x10080400 0x1C00>;
357                 map-exec;
358                 map-cacheable;
359         };
360
361         pmu: syscon@100a0000 {
362                 compatible = "rockchip,rk3128-pmu", "syscon", "simple-mfd";
363                 reg = <0x100a0000 0x1000>;
364                 #address-cells = <1>;
365                 #size-cells = <1>;
366         };
367
368         gic: interrupt-controller@10139000 {
369                 compatible = "arm,gic-400";
370                 interrupt-controller;
371                 #interrupt-cells = <3>;
372                 #address-cells = <0>;
373                 reg = <0x10139000 0x1000>,
374                       <0x1013a000 0x1000>,
375                       <0x1013c000 0x2000>,
376                       <0x1013e000 0x2000>;
377                 interrupts = <GIC_PPI 9 0xf04>;
378         };
379
380         u2phy: usb2-phy {
381                 compatible = "rockchip,rk3128-usb2phy";
382                 reg = <0x017c 0x0c>;
383                 rockchip,grf = <&grf>;
384                 clocks = <&cru SCLK_OTGPHY0>;
385                 clock-names = "phyclk";
386                 #clock-cells = <0>;
387                 clock-output-names = "usb480m_phy";
388                 #phy-cells = <1>;
389                 status = "disabled";
390
391                 u2phy_otg: otg-port {
392                         #phy-cells = <0>;
393                         interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
394                                      <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
395                                      <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
396                         interrupt-names = "otg-bvalid", "otg-id",
397                                           "linestate";
398                         status = "disabled";
399                 };
400
401                 u2phy_host: host-port {
402                         #phy-cells = <0>;
403                         interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
404                         interrupt-names = "linestate";
405                         status = "disabled";
406                 };
407         };
408
409         usb_otg: usb@10180000 {
410                 compatible = "rockchip,rk3128-usb", "rockchip,rk3288-usb",
411                              "snps,dwc2";
412                 reg = <0x10180000 0x40000>;
413                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
414                 dr_mode = "otg";
415                 g-use-dma;
416                 hnp-srp-disable;
417                 phys = <&u2phy 0>;
418                 phy-names = "usb";
419                 status = "disabled";
420         };
421
422         usb_host_ehci: usb@101c0000 {
423                 compatible = "generic-ehci";
424                 reg = <0x101c0000 0x20000>;
425                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
426                 phys = <&u2phy 1>;
427                 phy-names = "usb";
428                 status = "disabled";
429         };
430
431         usb_host_ohci: usb@101e0000 {
432                 compatible = "generic-ohci";
433                 reg = <0x101e0000 0x20000>;
434                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
435                 phys = <&u2phy 1>;
436                 phy-names = "usb";
437                 status = "disabled";
438         };
439
440         sdmmc: dwmmc@10214000 {
441                 compatible = "rockchip,rk312x-dw-mshc", "rockchip,rk3288-dw-mshc";
442                 reg = <0x10214000 0x4000>;
443                 max-frequency = <150000000>;
444                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
445                 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
446                          <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
447                 clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
448                 fifo-depth = <0x100>;
449                 pinctrl-names = "default";
450                 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
451                 bus-width = <4>;
452                 status = "disabled";
453         };
454
455         emmc: dwmmc@1021c000 {
456                 u-boot,dm-pre-reloc;
457                 compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
458                 reg = <0x1021c000 0x4000>;
459                 max-frequency = <150000000>;
460                 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
461                 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
462                          <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
463                 clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
464                 bus-width = <8>;
465                 default-sample-phase = <158>;
466                 num-slots = <1>;
467                 fifo-depth = <0x100>;
468                 pinctrl-names = "default";
469                 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
470                 resets = <&cru SRST_EMMC>;
471                 reset-names = "reset";
472                 status = "disabled";
473         };
474
475         i2c0: i2c0@20072000 {
476                 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
477                 reg = <20072000 0x1000>;
478                 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
479                 #address-cells = <1>;
480                 #size-cells = <0>;
481                 clock-names = "i2c";
482                 clocks = <&cru PCLK_I2C0>;
483                 pinctrl-names = "default";
484                 pinctrl-0 = <&i2c0_xfer>;
485         };
486
487         i2c1: i2c1@20056000 {
488                 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
489                 reg = <0x20056000 0x1000>;
490                 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
491                 #address-cells = <1>;
492                 #size-cells = <0>;
493                 clock-names = "i2c";
494                 clocks = <&cru PCLK_I2C1>;
495                 pinctrl-names = "default";
496                 pinctrl-0 = <&i2c1_xfer>;
497         };
498
499         i2c2: i2c2@2005a000 {
500                 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
501                 reg = <0x2005a000 0x1000>;
502                 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
503                 #address-cells = <1>;
504                 #size-cells = <0>;
505                 clock-names = "i2c";
506                 clocks = <&cru PCLK_I2C2>;
507                 pinctrl-names = "default";
508                 pinctrl-0 = <&i2c2_xfer>;
509         };
510
511         i2c3: i2c3@2005e000 {
512                 compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
513                 reg = <0x2005e000 0x1000>;
514                 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
515                 #address-cells = <1>;
516                 #size-cells = <0>;
517                 clock-names = "i2c";
518                 clocks = <&cru PCLK_I2C3>;
519                 pinctrl-names = "default";
520                 pinctrl-0 = <&i2c3_xfer>;
521         };
522
523         spi0: spi@20074000 {
524                 compatible = "rockchip,rk3128-spi", "rockchip,rk3288-spi";
525                 reg = <0x20074000 0x1000>;
526                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
527                 #address-cells = <1>;
528                 #size-cells = <0>;
529                 pinctrl-names = "default";
530                 pinctrl-0 = <&spi0_txd_mux0 &spi0_rxd_mux0 &spi0_clk_mux0 &spi0_cs0_mux0 &spi0_cs1_mux0>;
531                 rockchip,spi-src-clk = <0>;
532                 num-cs = <2>;
533                 clocks =<&cru SCLK_SPI>, <&cru PCLK_SPI>;
534                 clock-names = "spi","pclk_spi0";
535                 dmas = <&pdma 8>, <&pdma 9>;
536                 #dma-cells = <2>;
537                 dma-names = "tx", "rx";
538         };
539
540         grf: syscon@20008000 {
541                 u-boot,dm-pre-reloc;
542                 compatible = "rockchip,rk3128-grf", "syscon";
543                 reg = <0x20008000 0x1000>;
544         };
545
546         pinctrl: pinctrl@20008000 {
547                 compatible = "rockchip,rk3128-pinctrl";
548                 reg = <0x20008000 0xA8>,
549                       <0x200080A8 0x4C>,
550                       <0x20008118 0x20>,
551                       <0x20008100 0x04>;
552                 reg-names = "base", "mux", "pull", "drv";
553                 rockchip,grf = <&grf>;
554                 #address-cells = <1>;
555                 #size-cells = <1>;
556                 ranges;
557
558                 gpio0: gpio0@2007c000 {
559                         compatible = "rockchip,gpio-bank";
560                         reg = <0x2007c000 0x100>;
561                         interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
562                         clocks = <&cru PCLK_GPIO0>;
563                         gpio-controller;
564                         #gpio-cells = <2>;
565                         interrupt-controller;
566                         #interrupt-cells = <2>;
567                 };
568
569                 gpio1: gpio1@20080000 {
570                         compatible = "rockchip,gpio-bank";
571                         reg = <0x20080000 0x100>;
572                         interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
573                         clocks = <&cru PCLK_GPIO1>;
574                         gpio-controller;
575                         #gpio-cells = <2>;
576                         interrupt-controller;
577                         #interrupt-cells = <2>;
578                 };
579
580                 gpio2: gpio2@20084000 {
581                         compatible = "rockchip,gpio-bank";
582                         reg = <0x20084000 0x100>;
583                         interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
584                         clocks = <&cru PCLK_GPIO2>;
585                         gpio-controller;
586                         #gpio-cells = <2>;
587                         interrupt-controller;
588                         #interrupt-cells = <2>;
589                 };
590
591                 gpio3: gpio2@20088000 {
592                         compatible = "rockchip,gpio-bank";
593                         reg = <0x20088000 0x100>;
594                         interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
595                         clocks = <&cru PCLK_GPIO3>;
596                         gpio-controller;
597                         #gpio-cells = <2>;
598                         interrupt-controller;
599                         #interrupt-cells = <2>;
600                 };
601
602                 pcfg_pull_up: pcfg-pull-up {
603                         bias-pull-up;
604                 };
605
606                 pcfg_pull_down: pcfg-pull-down {
607                         bias-pull-down;
608                 };
609
610                 pcfg_pull_none: pcfg-pull-none {
611                         bias-disable;
612                 };
613
614                 emmc {
615                         /*
616                          * We run eMMC at max speed; bump up drive strength.
617                          * We also have external pulls, so disable the internal ones.
618                          */
619
620                         emmc_clk: emmc-clk {
621                                 rockchip,pins = <2 7 RK_FUNC_2 &pcfg_pull_none>;
622                         };
623
624                         emmc_cmd: emmc-cmd {
625                                 rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
626                         };
627
628                         emmc_pwren: emmc-pwren {
629                                 rockchip,pins = <2 5 RK_FUNC_2 &pcfg_pull_none>;
630                         };
631
632                         emmc_bus8: emmc-bus8 {
633                                 rockchip,pins = <1 24 RK_FUNC_2 &pcfg_pull_none>,
634                                                 <1 25 RK_FUNC_2 &pcfg_pull_none>,
635                                                 <1 26 RK_FUNC_2 &pcfg_pull_none>,
636                                                 <1 27 RK_FUNC_2 &pcfg_pull_none>,
637                                                 <1 28 RK_FUNC_2 &pcfg_pull_none>,
638                                                 <1 29 RK_FUNC_2 &pcfg_pull_none>,
639                                                 <1 30 RK_FUNC_2 &pcfg_pull_none>,
640                                                 <1 31 RK_FUNC_2 &pcfg_pull_none>;
641                         };
642                 };
643
644                 nandc{
645                         nandc_ale:nandc-ale {
646                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
647                         };
648
649                         nandc_cle:nandc-cle {
650                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
651                         };
652
653                         nandc_wrn:nandc-wrn {
654                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
655                         };
656
657                         nandc_rdn:nandc-rdn {
658                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
659                         };
660
661                         nandc_rdy:nandc-rdy {
662                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
663                         };
664
665                         nandc_cs0:nandc-cs0 {
666                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
667                         };
668
669                         nandc_data: nandc-data {
670                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
671                         };
672                 };
673
674                 uart0 {
675                         uart0_xfer: uart0-xfer {
676                                 rockchip,pins = <0 16 RK_FUNC_1 &pcfg_pull_none>,
677                                                 <0 17 RK_FUNC_1 &pcfg_pull_none>;
678                         };
679
680                         uart0_cts: uart0-cts {
681                                 rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
682                         };
683
684                         uart0_rts: uart0-rts {
685                                 rockchip,pins = <0 19 RK_FUNC_1 &pcfg_pull_none>;
686                         };
687                 };
688
689                 uart1 {
690                         uart1_xfer: uart1-xfer {
691                                 rockchip,pins = <2 22 RK_FUNC_1 &pcfg_pull_none>,
692                                                 <2 23 RK_FUNC_1 &pcfg_pull_none>;
693                         };
694                 };
695
696                 uart2 {
697                         uart2_xfer: uart2-xfer {
698                                 rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_none>,
699                                 <1 19 RK_FUNC_2 &pcfg_pull_none>;
700                         };
701                 };
702
703                 sdmmc {
704                         sdmmc_clk: sdmmc-clk {
705                                 rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>;
706                         };
707
708                         sdmmc_cmd: sdmmc-cmd {
709                                 rockchip,pins = <1 RK_PC1 1 &pcfg_pull_up>;
710                         };
711
712                         sdmmc_wp: sdmmc-wp {
713                                 rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up>;
714                         };
715
716                         sdmmc_pwren: sdmmc-pwren {
717                                 rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up>;
718                         };
719
720                         sdmmc_bus4: sdmmc-bus4 {
721                                 rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up>,
722                                                 <1 RK_PC3 1 &pcfg_pull_up>,
723                                                 <1 RK_PC4 1 &pcfg_pull_up>,
724                                                 <1 RK_PC5 1 &pcfg_pull_up>;
725                         };
726                 };
727
728                 pwm0 {
729                         pwm0_pin: pwm0-pin {
730                                 rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>;
731                         };
732                 };
733
734                 pwm1 {
735                         pwm1_pin: pwm1-pin {
736                                 rockchip,pins = <0 1 RK_FUNC_2 &pcfg_pull_none>;
737                         };
738                 };
739
740                 pwm2 {
741                         pwm2_pin: pwm2-pin {
742                                 rockchip,pins = <0 1 2 &pcfg_pull_none>;
743                         };
744                 };
745
746                 pwm3 {
747                         pwm3_pin: pwm3-pin {
748                                 rockchip,pins = <0 27 1 &pcfg_pull_none>;
749                         };
750                 };
751
752                 i2c0 {
753                         i2c0_xfer: i2c0-xfer {
754                                 rockchip,pins = <0 0 RK_FUNC_1 &pcfg_pull_none>,
755                                                 <0 1 RK_FUNC_1 &pcfg_pull_none>;
756                         };
757                 };
758
759                 i2c1 {
760                         i2c1_xfer: i2c1-xfer {
761                                 rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_none>,
762                                                 <0 3 RK_FUNC_1 &pcfg_pull_none>;
763                         };
764                 };
765
766                 i2c2 {
767                         i2c2_xfer: i2c2-xfer {
768                                 rockchip,pins = <2 20 3 &pcfg_pull_none>,
769                                                 <2 21 3 &pcfg_pull_none>;
770                         };
771                 };
772
773                 i2c3 {
774                         i2c3_xfer: i2c3-xfer {
775                                 rockchip,pins = <0 6 RK_FUNC_1 &pcfg_pull_none>,
776                                                 <0 7 RK_FUNC_1 &pcfg_pull_none>;
777                         };
778                 };
779
780                 spi0 {
781                         spi0_txd_mux0:spi0-txd-mux0 {
782                                 rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
783                         };
784
785                         spi0_rxd_mux0:spi0-rxd-mux0 {
786                                 rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
787                         };
788
789                         spi0_clk_mux0:spi0-clk-mux0 {
790                                 rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
791                         };
792
793                         spi0_cs0_mux0:spi0-cs0-mux0 {
794                                 rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
795                         };
796
797                         spi0_cs1_mux0:spi0-cs1-mux0 {
798                                 rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
799                         };
800                 };
801
802         };
803 };