2 * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
43 #include <dt-bindings/clock/rk3328-cru.h>
44 #include <dt-bindings/gpio/gpio.h>
45 #include <dt-bindings/interrupt-controller/arm-gic.h>
46 #include <dt-bindings/interrupt-controller/irq.h>
47 #include <dt-bindings/pinctrl/rockchip.h>
48 #include <dt-bindings/soc/rockchip,boot-mode.h>
49 #include <dt-bindings/power/rk3328-power.h>
50 #include <dt-bindings/thermal/thermal.h>
53 compatible = "rockchip,rk3328";
55 interrupt-parent = <&gic>;
75 compatible = "arm,cortex-a53", "arm,armv8";
77 enable-method = "psci";
78 clocks = <&cru ARMCLK>;
79 operating-points-v2 = <&cpu0_opp_table>;
83 compatible = "arm,cortex-a53", "arm,armv8";
85 enable-method = "psci";
86 operating-points-v2 = <&cpu0_opp_table>;
90 compatible = "arm,cortex-a53", "arm,armv8";
92 enable-method = "psci";
93 operating-points-v2 = <&cpu0_opp_table>;
97 compatible = "arm,cortex-a53", "arm,armv8";
99 enable-method = "psci";
100 operating-points-v2 = <&cpu0_opp_table>;
104 cpu0_opp_table: opp_table0 {
105 compatible = "operating-points-v2";
109 opp-hz = /bits/ 64 <408000000>;
110 opp-microvolt = <950000>;
111 clock-latency-ns = <40000>;
115 opp-hz = /bits/ 64 <600000000>;
116 opp-microvolt = <950000>;
117 clock-latency-ns = <40000>;
120 opp-hz = /bits/ 64 <816000000>;
121 opp-microvolt = <1000000>;
122 clock-latency-ns = <40000>;
125 opp-hz = /bits/ 64 <1008000000>;
126 opp-microvolt = <1100000>;
127 clock-latency-ns = <40000>;
130 opp-hz = /bits/ 64 <1200000000>;
131 opp-microvolt = <1225000>;
132 clock-latency-ns = <40000>;
135 opp-hz = /bits/ 64 <1296000000>;
136 opp-microvolt = <1300000>;
137 clock-latency-ns = <40000>;
142 compatible = "arm,cortex-a53-pmu";
143 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
144 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
145 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
146 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
147 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
151 compatible = "arm,psci-1.0";
156 compatible = "arm,armv8-timer";
157 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
158 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
159 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
160 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
164 compatible = "fixed-clock";
166 clock-frequency = <24000000>;
167 clock-output-names = "xin24m";
171 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
172 reg = <0x0 0xff000000 0x0 0x1000>;
173 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
174 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
175 clock-names = "i2s_clk", "i2s_hclk";
176 dmas = <&dmac 11>, <&dmac 12>;
178 dma-names = "tx", "rx";
183 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
184 reg = <0x0 0xff010000 0x0 0x1000>;
185 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
186 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
187 clock-names = "i2s_clk", "i2s_hclk";
188 dmas = <&dmac 14>, <&dmac 15>;
190 dma-names = "tx", "rx";
195 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
196 reg = <0x0 0xff020000 0x0 0x1000>;
197 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
198 clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
199 clock-names = "i2s_clk", "i2s_hclk";
200 dmas = <&dmac 0>, <&dmac 1>;
202 dma-names = "tx", "rx";
203 pinctrl-names = "default", "sleep";
204 pinctrl-0 = <&i2s2m0_mclk
210 pinctrl-1 = <&i2s2m0_sleep>;
214 spdif: spdif@ff030000 {
215 compatible = "rockchip,rk3328-spdif";
216 reg = <0x0 0xff030000 0x0 0x1000>;
217 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
218 clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
219 clock-names = "mclk", "hclk";
223 pinctrl-names = "default";
224 pinctrl-0 = <&spdifm2_tx>;
228 grf: syscon@ff100000 {
229 compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
230 reg = <0x0 0xff100000 0x0 0x1000>;
231 #address-cells = <1>;
234 io_domains: io-domains {
235 compatible = "rockchip,rk3328-io-voltage-domain";
239 power: power-controller {
240 compatible = "rockchip,rk3328-power-controller";
241 #power-domain-cells = <1>;
242 #address-cells = <1>;
246 pd_hevc@RK3328_PD_HEVC {
247 reg = <RK3328_PD_HEVC>;
249 pd_video@RK3328_PD_VIDEO {
250 reg = <RK3328_PD_VIDEO>;
252 pd_vpu@RK3328_PD_VPU {
253 reg = <RK3328_PD_VPU>;
258 compatible = "syscon-reboot-mode";
260 mode-bootloader = <BOOT_BL_DOWNLOAD>;
261 mode-charge = <BOOT_CHARGING>;
262 mode-fastboot = <BOOT_FASTBOOT>;
263 mode-loader = <BOOT_BL_DOWNLOAD>;
264 mode-normal = <BOOT_NORMAL>;
265 mode-recovery = <BOOT_RECOVERY>;
266 mode-ums = <BOOT_UMS>;
271 soc_thermal: soc-thermal {
272 polling-delay-passive = <20>; /* milliseconds */
273 polling-delay = <1000>; /* milliseconds */
274 sustainable-power = <1000>; /* milliwatts */
276 thermal-sensors = <&tsadc 0>;
279 threshold: trip-point@0 {
280 temperature = <70000>; /* millicelsius */
281 hysteresis = <2000>; /* millicelsius */
284 target: trip-point@1 {
285 temperature = <85000>; /* millicelsius */
286 hysteresis = <2000>; /* millicelsius */
290 temperature = <95000>; /* millicelsius */
291 hysteresis = <2000>; /* millicelsius */
300 tsadc: tsadc@ff250000 {
301 compatible = "rockchip,rk3328-tsadc";
302 reg = <0x0 0xff250000 0x0 0x100>;
303 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
304 rockchip,grf = <&grf>;
305 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
306 clock-names = "tsadc", "apb_pclk";
307 assigned-clocks = <&cru SCLK_TSADC>;
308 assigned-clock-rates = <50000>;
309 resets = <&cru SRST_TSADC>;
310 reset-names = "tsadc-apb";
311 pinctrl-names = "init", "default", "sleep";
312 pinctrl-0 = <&otp_gpio>;
313 pinctrl-1 = <&otp_out>;
314 pinctrl-2 = <&otp_gpio>;
315 #thermal-sensor-cells = <1>;
316 rockchip,hw-tshut-temp = <100000>;
320 uart0: serial@ff110000 {
321 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
322 reg = <0x0 0xff110000 0x0 0x100>;
323 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
324 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
325 clock-names = "baudclk", "apb_pclk";
328 dmas = <&dmac 2>, <&dmac 3>;
330 pinctrl-names = "default";
331 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
335 uart1: serial@ff120000 {
336 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
337 reg = <0x0 0xff120000 0x0 0x100>;
338 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
339 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
340 clock-names = "sclk_uart", "pclk_uart";
343 dmas = <&dmac 4>, <&dmac 5>;
345 pinctrl-names = "default";
346 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
350 uart2: serial@ff130000 {
351 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
352 reg = <0x0 0xff130000 0x0 0x100>;
353 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
354 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
355 clock-names = "baudclk", "apb_pclk";
358 dmas = <&dmac 6>, <&dmac 7>;
360 pinctrl-names = "default";
361 pinctrl-0 = <&uart2m1_xfer>;
365 pmu: power-management@ff140000 {
366 compatible = "rockchip,rk3328-pmu", "syscon", "simple-mfd";
367 reg = <0x0 0xff140000 0x0 0x1000>;
371 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
372 reg = <0x0 0xff150000 0x0 0x1000>;
373 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
374 #address-cells = <1>;
376 clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
377 clock-names = "i2c", "pclk";
378 pinctrl-names = "default";
379 pinctrl-0 = <&i2c0_xfer>;
384 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
385 reg = <0x0 0xff160000 0x0 0x1000>;
386 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
387 #address-cells = <1>;
389 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
390 clock-names = "i2c", "pclk";
391 pinctrl-names = "default";
392 pinctrl-0 = <&i2c1_xfer>;
397 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
398 reg = <0x0 0xff170000 0x0 0x1000>;
399 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
400 #address-cells = <1>;
402 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
403 clock-names = "i2c", "pclk";
404 pinctrl-names = "default";
405 pinctrl-0 = <&i2c2_xfer>;
410 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
411 reg = <0x0 0xff180000 0x0 0x1000>;
412 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
413 #address-cells = <1>;
415 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
416 clock-names = "i2c", "pclk";
417 pinctrl-names = "default";
418 pinctrl-0 = <&i2c3_xfer>;
423 compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi";
424 reg = <0x0 0xff190000 0x0 0x1000>;
425 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
426 #address-cells = <1>;
428 clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
429 clock-names = "spiclk", "apb_pclk";
430 dmas = <&dmac 8>, <&dmac 9>;
432 dma-names = "tx", "rx";
433 pinctrl-names = "default";
434 pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>;
438 wdt: watchdog@ff1a0000 {
439 compatible = "snps,dw-wdt";
440 reg = <0x0 0xff1a0000 0x0 0x100>;
441 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
446 compatible = "rockchip,rk3328-pwm";
447 reg = <0x0 0xff1b0000 0x0 0x10>;
449 pinctrl-names = "default";
450 pinctrl-0 = <&pwm0_pin>;
451 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
452 clock-names = "pwm", "pclk";
457 compatible = "rockchip,rk3328-pwm";
458 reg = <0x0 0xff1b0010 0x0 0x10>;
460 pinctrl-names = "default";
461 pinctrl-0 = <&pwm1_pin>;
462 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
463 clock-names = "pwm", "pclk";
468 compatible = "rockchip,rk3328-pwm";
469 reg = <0x0 0xff1b0020 0x0 0x10>;
471 pinctrl-names = "default";
472 pinctrl-0 = <&pwm2_pin>;
473 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
474 clock-names = "pwm", "pclk";
479 compatible = "rockchip,rk3328-pwm";
480 reg = <0x0 0xff1b0030 0x0 0x10>;
481 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
483 pinctrl-names = "default";
484 pinctrl-0 = <&pwmir_pin>;
485 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
486 clock-names = "pwm", "pclk";
491 compatible = "simple-bus";
492 #address-cells = <2>;
496 dmac: dmac@ff1f0000 {
497 compatible = "arm,pl330", "arm,primecell";
498 reg = <0x0 0xff1f0000 0x0 0x4000>;
499 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
500 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
501 clocks = <&cru ACLK_DMAC>;
502 clock-names = "apb_pclk";
507 saradc: saradc@ff280000 {
508 compatible = "rockchip,rk3328-saradc", "rockchip,saradc";
509 reg = <0x0 0xff280000 0x0 0x100>;
510 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
511 #io-channel-cells = <1>;
512 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
513 clock-names = "saradc", "apb_pclk";
514 resets = <&cru SRST_SARADC_P>;
515 reset-names = "saradc-apb";
519 cru: clock-controller@ff440000 {
520 compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
521 reg = <0x0 0xff440000 0x0 0x1000>;
522 rockchip,grf = <&grf>;
526 <&cru DCLK_LCDC>, <&cru SCLK_PDM>,
527 <&cru SCLK_RTC32K>, <&cru SCLK_UART0>,
528 <&cru SCLK_UART1>, <&cru SCLK_UART2>,
529 <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
530 <&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>,
531 <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
532 <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
533 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
534 <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
535 <&cru SCLK_SDIO>, <&cru SCLK_TSP>,
536 <&cru SCLK_WIFI>, <&cru ARMCLK>,
537 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
538 <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
539 <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
540 <&cru HCLK_PERI>, <&cru PCLK_PERI>,
541 <&cru ACLK_VIO_PRE>, <&cru HCLK_VIO_PRE>,
542 <&cru ACLK_RGA_PRE>, <&cru SCLK_RGA>,
543 <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
544 <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
545 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
546 <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
547 <&cru SCLK_EFUSE>, <&cru PCLK_DDR>,
548 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>,
549 <&cru SCLK_RTC32K>, <&cru SCLK_USB3OTG_SUSPEND>;
550 assigned-clock-parents =
551 <&cru HDMIPHY>, <&cru PLL_APLL>,
552 <&cru PLL_GPLL>, <&xin24m>,
553 <&xin24m>, <&xin24m>;
554 assigned-clock-rates =
557 <24000000>, <24000000>,
558 <15000000>, <15000000>,
559 <100000000>, <100000000>,
560 <100000000>, <100000000>,
561 <50000000>, <100000000>,
562 <100000000>, <100000000>,
563 <50000000>, <50000000>,
564 <50000000>, <50000000>,
565 <24000000>, <600000000>,
566 <491520000>, <1200000000>,
567 <150000000>, <75000000>,
568 <75000000>, <150000000>,
569 <75000000>, <75000000>,
570 <300000000>, <100000000>,
571 <300000000>, <200000000>,
572 <400000000>, <500000000>,
573 <200000000>, <300000000>,
574 <300000000>, <250000000>,
575 <200000000>, <100000000>,
576 <24000000>, <100000000>,
577 <150000000>, <50000000>,
581 usb2phy_grf: syscon@ff450000 {
582 compatible = "rockchip,rk3328-usb2phy-grf", "syscon",
584 reg = <0x0 0xff450000 0x0 0x10000>;
585 #address-cells = <1>;
588 u2phy: usb2-phy@100 {
589 compatible = "rockchip,rk3328-usb2phy";
592 clock-names = "phyclk";
594 assigned-clocks = <&cru USB480M>;
595 assigned-clock-parents = <&u2phy>;
596 clock-output-names = "usb480m_phy";
599 u2phy_host: host-port {
601 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
602 interrupt-names = "linestate";
606 u2phy_otg: otg-port {
608 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
609 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
610 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
611 interrupt-names = "otg-bvalid", "otg-id",
618 usb3phy_grf: syscon@ff460000 {
619 compatible = "rockchip,usb3phy-grf", "syscon";
620 reg = <0x0 0xff460000 0x0 0x1000>;
623 u3phy: usb3-phy@ff470000 {
624 compatible = "rockchip,rk3328-u3phy";
625 reg = <0x0 0xff470000 0x0 0x0>;
626 rockchip,u3phygrf = <&usb3phy_grf>;
627 rockchip,grf = <&grf>;
628 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
629 interrupt-names = "linestate";
630 clocks = <&cru PCLK_USB3PHY_OTG>, <&cru PCLK_USB3PHY_PIPE>;
631 clock-names = "u3phy-otg", "u3phy-pipe";
632 resets = <&cru SRST_USB3PHY_U2>,
633 <&cru SRST_USB3PHY_U3>,
634 <&cru SRST_USB3PHY_PIPE>,
635 <&cru SRST_USB3OTG_UTMI>,
636 <&cru SRST_USB3PHY_OTG_P>,
637 <&cru SRST_USB3PHY_PIPE_P>;
638 reset-names = "u3phy-u2-por", "u3phy-u3-por",
639 "u3phy-pipe-mac", "u3phy-utmi-mac",
640 "u3phy-utmi-apb", "u3phy-pipe-apb";
641 #address-cells = <2>;
646 u3phy_utmi: utmi@ff470000 {
647 reg = <0x0 0xff470000 0x0 0x8000>;
652 u3phy_pipe: pipe@ff478000 {
653 reg = <0x0 0xff478000 0x0 0x8000>;
659 sdmmc: rksdmmc@ff500000 {
660 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
661 reg = <0x0 0xff500000 0x0 0x4000>;
662 clock-freq-min-max = <400000 150000000>;
663 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
664 clock-names = "biu", "ciu";
665 fifo-depth = <0x100>;
666 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
670 sdio: dwmmc@ff510000 {
671 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
672 reg = <0x0 0xff510000 0x0 0x4000>;
673 clock-freq-min-max = <400000 150000000>;
674 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
675 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
676 clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
677 fifo-depth = <0x100>;
678 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
682 emmc: rksdmmc@ff520000 {
683 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
684 reg = <0x0 0xff520000 0x0 0x4000>;
685 clock-freq-min-max = <400000 150000000>;
686 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
687 clock-names = "biu", "ciu";
688 fifo-depth = <0x100>;
689 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
693 gmac2io: eth@ff540000 {
694 compatible = "rockchip,rk3328-gmac";
695 reg = <0x0 0xff540000 0x0 0x10000>;
696 rockchip,grf = <&grf>;
697 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
698 interrupt-names = "macirq";
699 clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>,
700 <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>,
701 <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>,
703 clock-names = "stmmaceth", "mac_clk_rx",
704 "mac_clk_tx", "clk_mac_ref",
705 "clk_mac_refout", "aclk_mac",
707 resets = <&cru SRST_GMAC2IO_A>;
708 reset-names = "stmmaceth";
712 usb20_otg: usb@ff580000 {
713 compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb",
715 reg = <0x0 0xff580000 0x0 0x40000>;
716 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
717 clocks = <&cru HCLK_OTG>, <&cru HCLK_OTG_PMU>;
718 clock-names = "otg", "otg_pmu";
720 g-np-tx-fifo-size = <16>;
721 g-rx-fifo-size = <275>;
722 g-tx-fifo-size = <256 128 128 64 64 32>;
725 phy-names = "usb2-phy";
729 usb_host0_ehci: usb@ff5c0000 {
730 compatible = "generic-ehci";
731 reg = <0x0 0xff5c0000 0x0 0x10000>;
732 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
733 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
735 clock-names = "usbhost", "arbiter", "utmi";
736 phys = <&u2phy_host>;
741 usb_host0_ohci: usb@ff5d0000 {
742 compatible = "generic-ohci";
743 reg = <0x0 0xff5d0000 0x0 0x10000>;
744 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
745 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
747 clock-names = "usbhost", "arbiter", "utmi";
748 phys = <&u2phy_host>;
753 sdmmc_ext: rksdmmc@ff5f0000 {
754 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
755 reg = <0x0 0xff5f0000 0x0 0x4000>;
756 clock-freq-min-max = <400000 150000000>;
757 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
758 clock-names = "biu", "ciu";
759 fifo-depth = <0x100>;
760 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
764 usbdrd3: usb@ff600000 {
765 compatible = "rockchip,rk3328-dwc3";
766 clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>,
768 clock-names = "ref_clk", "suspend_clk",
770 #address-cells = <2>;
775 usbdrd_dwc3: dwc3@ff600000 {
776 compatible = "snps,dwc3";
777 reg = <0x0 0xff600000 0x0 0x100000>;
778 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
780 phys = <&u3phy_utmi>, <&u3phy_pipe>;
781 phy-names = "usb2-phy", "usb3-phy";
782 phy_type = "utmi_wide";
783 snps,dis_enblslpm_quirk;
784 snps,dis-u2-freeclk-exists-quirk;
785 snps,dis_u2_susphy_quirk;
786 snps,dis-u3-autosuspend-quirk;
787 snps,dis_u3_susphy_quirk;
788 snps,dis-del-phy-power-chg-quirk;
793 gic: interrupt-controller@ff811000 {
794 compatible = "arm,gic-400";
795 #interrupt-cells = <3>;
796 #address-cells = <0>;
797 interrupt-controller;
798 reg = <0x0 0xff811000 0 0x1000>,
799 <0x0 0xff812000 0 0x2000>,
800 <0x0 0xff814000 0 0x2000>,
801 <0x0 0xff816000 0 0x2000>;
802 interrupts = <GIC_PPI 9
803 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
807 compatible = "rockchip,rk3328-pinctrl";
808 rockchip,grf = <&grf>;
809 #address-cells = <2>;
813 gpio0: gpio0@ff210000 {
814 compatible = "rockchip,gpio-bank";
815 reg = <0x0 0xff210000 0x0 0x100>;
816 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
817 clocks = <&cru PCLK_GPIO0>;
822 interrupt-controller;
823 #interrupt-cells = <2>;
826 gpio1: gpio1@ff220000 {
827 compatible = "rockchip,gpio-bank";
828 reg = <0x0 0xff220000 0x0 0x100>;
829 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
830 clocks = <&cru PCLK_GPIO1>;
835 interrupt-controller;
836 #interrupt-cells = <2>;
839 gpio2: gpio2@ff230000 {
840 compatible = "rockchip,gpio-bank";
841 reg = <0x0 0xff230000 0x0 0x100>;
842 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
843 clocks = <&cru PCLK_GPIO2>;
848 interrupt-controller;
849 #interrupt-cells = <2>;
852 gpio3: gpio3@ff240000 {
853 compatible = "rockchip,gpio-bank";
854 reg = <0x0 0xff240000 0x0 0x100>;
855 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
856 clocks = <&cru PCLK_GPIO3>;
861 interrupt-controller;
862 #interrupt-cells = <2>;
865 pcfg_pull_up: pcfg-pull-up {
869 pcfg_pull_down: pcfg-pull-down {
873 pcfg_pull_none: pcfg-pull-none {
877 pcfg_pull_none_2ma: pcfg-pull-none-2ma {
879 drive-strength = <2>;
882 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
884 drive-strength = <2>;
887 pcfg_pull_up_4ma: pcfg-pull-up-4ma {
889 drive-strength = <4>;
892 pcfg_pull_none_4ma: pcfg-pull-none-4ma {
894 drive-strength = <4>;
897 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
899 drive-strength = <4>;
902 pcfg_pull_none_8ma: pcfg-pull-none-8ma {
904 drive-strength = <8>;
907 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
909 drive-strength = <8>;
912 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
914 drive-strength = <12>;
917 pcfg_pull_up_12ma: pcfg-pull-up-12ma {
919 drive-strength = <12>;
922 pcfg_output_high: pcfg-output-high {
926 pcfg_output_low: pcfg-output-low {
930 pcfg_input_high: pcfg-input-high {
935 pcfg_input: pcfg-input {
940 i2c0_xfer: i2c0-xfer {
942 <2 24 RK_FUNC_1 &pcfg_pull_none>,
943 <2 25 RK_FUNC_1 &pcfg_pull_none>;
948 i2c1_xfer: i2c1-xfer {
950 <2 4 RK_FUNC_2 &pcfg_pull_none>,
951 <2 5 RK_FUNC_2 &pcfg_pull_none>;
956 i2c2_xfer: i2c2-xfer {
958 <2 13 RK_FUNC_1 &pcfg_pull_none>,
959 <2 14 RK_FUNC_1 &pcfg_pull_none>;
964 i2c3_xfer: i2c3-xfer {
966 <0 5 RK_FUNC_2 &pcfg_pull_none>,
967 <0 6 RK_FUNC_2 &pcfg_pull_none>;
969 i2c3_gpio: i2c3-gpio {
971 <0 5 RK_FUNC_GPIO &pcfg_pull_none>,
972 <0 6 RK_FUNC_GPIO &pcfg_pull_none>;
977 hdmii2c_xfer: hdmii2c-xfer {
979 <0 5 RK_FUNC_1 &pcfg_pull_none>,
980 <0 6 RK_FUNC_1 &pcfg_pull_none>;
986 rockchip,pins = <2 13 RK_FUNC_GPIO &pcfg_pull_none>;
990 rockchip,pins = <2 13 RK_FUNC_1 &pcfg_pull_none>;
995 uart0_xfer: uart0-xfer {
997 <1 9 RK_FUNC_1 &pcfg_pull_up>,
998 <1 8 RK_FUNC_1 &pcfg_pull_none>;
1001 uart0_cts: uart0-cts {
1003 <1 11 RK_FUNC_1 &pcfg_pull_none>;
1006 uart0_rts: uart0-rts {
1008 <1 10 RK_FUNC_1 &pcfg_pull_none>;
1011 uart0_rts_gpio: uart0-rts-gpio {
1013 <1 10 RK_FUNC_GPIO &pcfg_pull_none>;
1018 uart1_xfer: uart1-xfer {
1020 <3 4 RK_FUNC_4 &pcfg_pull_up>,
1021 <3 6 RK_FUNC_4 &pcfg_pull_none>;
1024 uart1_cts: uart1-cts {
1026 <3 7 RK_FUNC_4 &pcfg_pull_none>;
1029 uart1_rts: uart1-rts {
1031 <3 5 RK_FUNC_4 &pcfg_pull_none>;
1034 uart1_rts_gpio: uart1-rts-gpio {
1036 <3 5 RK_FUNC_GPIO &pcfg_pull_none>;
1041 uart2m0_xfer: uart2m0-xfer {
1043 <1 0 RK_FUNC_2 &pcfg_pull_up>,
1044 <1 1 RK_FUNC_2 &pcfg_pull_none>;
1049 uart2m1_xfer: uart2m1-xfer {
1051 <2 0 RK_FUNC_1 &pcfg_pull_up>,
1052 <2 1 RK_FUNC_1 &pcfg_pull_none>;
1057 spi0m0_clk: spi0m0-clk {
1059 <2 8 RK_FUNC_1 &pcfg_pull_up>;
1062 spi0m0_cs0: spi0m0-cs0 {
1064 <2 11 RK_FUNC_1 &pcfg_pull_up>;
1067 spi0m0_tx: spi0m0-tx {
1069 <2 9 RK_FUNC_1 &pcfg_pull_up>;
1072 spi0m0_rx: spi0m0-rx {
1074 <2 10 RK_FUNC_1 &pcfg_pull_up>;
1077 spi0m0_cs1: spi0m0-cs1 {
1079 <2 12 RK_FUNC_1 &pcfg_pull_up>;
1084 spi0m1_clk: spi0m1-clk {
1086 <3 23 RK_FUNC_2 &pcfg_pull_up>;
1089 spi0m1_cs0: spi0m1-cs0 {
1091 <3 26 RK_FUNC_2 &pcfg_pull_up>;
1094 spi0m1_tx: spi0m1-tx {
1096 <3 25 RK_FUNC_2 &pcfg_pull_up>;
1099 spi0m1_rx: spi0m1-rx {
1101 <3 24 RK_FUNC_2 &pcfg_pull_up>;
1104 spi0m1_cs1: spi0m1-cs1 {
1106 <3 27 RK_FUNC_2 &pcfg_pull_up>;
1111 spi0m2_clk: spi0m2-clk {
1113 <3 0 RK_FUNC_4 &pcfg_pull_up>;
1116 spi0m2_cs0: spi0m2-cs0 {
1118 <3 8 RK_FUNC_3 &pcfg_pull_up>;
1121 spi0m2_tx: spi0m2-tx {
1123 <3 1 RK_FUNC_4 &pcfg_pull_up>;
1126 spi0m2_rx: spi0m2-rx {
1128 <3 2 RK_FUNC_4 &pcfg_pull_up>;
1133 i2s1_mclk: i2s1-mclk {
1135 <2 15 RK_FUNC_1 &pcfg_pull_none>;
1138 i2s1_sclk: i2s1-sclk {
1140 <2 18 RK_FUNC_1 &pcfg_pull_none>;
1143 i2s1_lrckrx: i2s1-lrckrx {
1145 <2 16 RK_FUNC_1 &pcfg_pull_none>;
1148 i2s1_lrcktx: i2s1-lrcktx {
1150 <2 17 RK_FUNC_1 &pcfg_pull_none>;
1153 i2s1_sdi: i2s1-sdi {
1155 <2 19 RK_FUNC_1 &pcfg_pull_none>;
1158 i2s1_sdo: i2s1-sdo {
1160 <2 23 RK_FUNC_1 &pcfg_pull_none>;
1163 i2s1_sdio1: i2s1-sdio1 {
1165 <2 20 RK_FUNC_1 &pcfg_pull_none>;
1168 i2s1_sdio2: i2s1-sdio2 {
1170 <2 21 RK_FUNC_1 &pcfg_pull_none>;
1173 i2s1_sdio3: i2s1-sdio3 {
1175 <2 22 RK_FUNC_1 &pcfg_pull_none>;
1178 i2s1_sleep: i2s1-sleep {
1180 <2 15 RK_FUNC_GPIO &pcfg_input_high>,
1181 <2 16 RK_FUNC_GPIO &pcfg_input_high>,
1182 <2 17 RK_FUNC_GPIO &pcfg_input_high>,
1183 <2 18 RK_FUNC_GPIO &pcfg_input_high>,
1184 <2 19 RK_FUNC_GPIO &pcfg_input_high>,
1185 <2 20 RK_FUNC_GPIO &pcfg_input_high>,
1186 <2 21 RK_FUNC_GPIO &pcfg_input_high>,
1187 <2 22 RK_FUNC_GPIO &pcfg_input_high>,
1188 <2 23 RK_FUNC_GPIO &pcfg_input_high>;
1193 i2s2m0_mclk: i2s2m0-mclk {
1195 <1 21 RK_FUNC_1 &pcfg_pull_none>;
1198 i2s2m0_sclk: i2s2m0-sclk {
1200 <1 22 RK_FUNC_1 &pcfg_pull_none>;
1203 i2s2m0_lrckrx: i2s2m0-lrckrx {
1205 <1 26 RK_FUNC_1 &pcfg_pull_none>;
1208 i2s2m0_lrcktx: i2s2m0-lrcktx {
1210 <1 23 RK_FUNC_1 &pcfg_pull_none>;
1213 i2s2m0_sdi: i2s2m0-sdi {
1215 <1 24 RK_FUNC_1 &pcfg_pull_none>;
1218 i2s2m0_sdo: i2s2m0-sdo {
1220 <1 25 RK_FUNC_1 &pcfg_pull_none>;
1223 i2s2m0_sleep: i2s2m0-sleep {
1225 <1 21 RK_FUNC_GPIO &pcfg_input_high>,
1226 <1 22 RK_FUNC_GPIO &pcfg_input_high>,
1227 <1 26 RK_FUNC_GPIO &pcfg_input_high>,
1228 <1 23 RK_FUNC_GPIO &pcfg_input_high>,
1229 <1 24 RK_FUNC_GPIO &pcfg_input_high>,
1230 <1 25 RK_FUNC_GPIO &pcfg_input_high>;
1235 i2s2m1_mclk: i2s2m1-mclk {
1237 <1 21 RK_FUNC_1 &pcfg_pull_none>;
1240 i2s2m1_sclk: i2s2m1-sclk {
1242 <3 0 RK_FUNC_6 &pcfg_pull_none>;
1245 i2s2m1_lrckrx: i2sm1-lrckrx {
1247 <3 8 RK_FUNC_6 &pcfg_pull_none>;
1250 i2s2m1_lrcktx: i2s2m1-lrcktx {
1252 <3 8 RK_FUNC_4 &pcfg_pull_none>;
1255 i2s2m1_sdi: i2s2m1-sdi {
1257 <3 2 RK_FUNC_6 &pcfg_pull_none>;
1260 i2s2m1_sdo: i2s2m1-sdo {
1262 <3 1 RK_FUNC_6 &pcfg_pull_none>;
1265 i2s2m1_sleep: i2s2m1-sleep {
1267 <1 21 RK_FUNC_GPIO &pcfg_input_high>,
1268 <3 0 RK_FUNC_GPIO &pcfg_input_high>,
1269 <3 8 RK_FUNC_GPIO &pcfg_input_high>,
1270 <3 2 RK_FUNC_GPIO &pcfg_input_high>,
1271 <3 1 RK_FUNC_GPIO &pcfg_input_high>;
1276 spdifm0_tx: spdifm0-tx {
1278 <0 27 RK_FUNC_1 &pcfg_pull_none>;
1283 spdifm1_tx: spdifm1-tx {
1285 <2 17 RK_FUNC_2 &pcfg_pull_none>;
1290 spdifm2_tx: spdifm2-tx {
1292 <0 2 RK_FUNC_2 &pcfg_pull_none>;
1297 sdmmc0m0_pwren: sdmmc0m0-pwren {
1299 <2 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
1302 sdmmc0m0_gpio: sdmmc0m0-gpio {
1304 <2 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1309 sdmmc0m1_pwren: sdmmc0m1-pwren {
1311 <0 30 RK_FUNC_3 &pcfg_pull_up_4ma>;
1314 sdmmc0m1_gpio: sdmmc0m1-gpio {
1316 <0 30 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1321 sdmmc0_clk: sdmmc0-clk {
1323 <1 6 RK_FUNC_1 &pcfg_pull_none_4ma>;
1326 sdmmc0_cmd: sdmmc0-cmd {
1328 <1 4 RK_FUNC_1 &pcfg_pull_up_4ma>;
1331 sdmmc0_dectn: sdmmc0-dectn {
1333 <1 5 RK_FUNC_1 &pcfg_pull_up_4ma>;
1336 sdmmc0_wrprt: sdmmc0-wrprt {
1338 <1 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
1341 sdmmc0_bus1: sdmmc0-bus1 {
1343 <1 0 RK_FUNC_1 &pcfg_pull_up_4ma>;
1346 sdmmc0_bus4: sdmmc0-bus4 {
1348 <1 0 RK_FUNC_1 &pcfg_pull_up_4ma>,
1349 <1 1 RK_FUNC_1 &pcfg_pull_up_4ma>,
1350 <1 2 RK_FUNC_1 &pcfg_pull_up_4ma>,
1351 <1 3 RK_FUNC_1 &pcfg_pull_up_4ma>;
1354 sdmmc0_gpio: sdmmc0-gpio {
1356 <1 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1357 <1 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1358 <1 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1359 <1 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1360 <1 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1361 <1 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1362 <1 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1363 <1 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1368 sdmmc0ext_clk: sdmmc0ext-clk {
1370 <3 2 RK_FUNC_3 &pcfg_pull_none_4ma>;
1373 sdmmc0ext_cmd: sdmmc0ext-cmd {
1375 <3 0 RK_FUNC_3 &pcfg_pull_up_4ma>;
1378 sdmmc0ext_wrprt: sdmmc0ext-wrprt {
1380 <3 3 RK_FUNC_3 &pcfg_pull_up_4ma>;
1383 sdmmc0ext_dectn: sdmmc0ext-dectn {
1385 <3 1 RK_FUNC_3 &pcfg_pull_up_4ma>;
1388 sdmmc0ext_bus1: sdmmc0ext-bus1 {
1390 <3 4 RK_FUNC_3 &pcfg_pull_up_4ma>;
1393 sdmmc0ext_bus4: sdmmc0ext-bus4 {
1395 <3 4 RK_FUNC_3 &pcfg_pull_up_4ma>,
1396 <3 5 RK_FUNC_3 &pcfg_pull_up_4ma>,
1397 <3 6 RK_FUNC_3 &pcfg_pull_up_4ma>,
1398 <3 7 RK_FUNC_3 &pcfg_pull_up_4ma>;
1401 sdmmc0ext_gpio: sdmmc0ext-gpio {
1403 <3 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1404 <3 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1405 <3 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1406 <3 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1407 <3 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1408 <3 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1409 <3 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1410 <3 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1415 sdmmc1_clk: sdmmc1-clk {
1417 <1 12 RK_FUNC_1 &pcfg_pull_none_8ma>;
1420 sdmmc1_cmd: sdmmc1-cmd {
1422 <1 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
1425 sdmmc1_pwren: sdmmc1-pwren {
1427 <1 18 RK_FUNC_1 &pcfg_pull_up_8ma>;
1430 sdmmc1_wrprt: sdmmc1-wrprt {
1432 <1 20 RK_FUNC_1 &pcfg_pull_up_8ma>;
1435 sdmmc1_dectn: sdmmc1-dectn {
1437 <1 19 RK_FUNC_1 &pcfg_pull_up_8ma>;
1440 sdmmc1_bus1: sdmmc1-bus1 {
1442 <1 14 RK_FUNC_1 &pcfg_pull_up_8ma>;
1445 sdmmc1_bus4: sdmmc1-bus4 {
1447 <1 12 RK_FUNC_1 &pcfg_pull_up_8ma>,
1448 <1 13 RK_FUNC_1 &pcfg_pull_up_8ma>,
1449 <1 16 RK_FUNC_1 &pcfg_pull_up_8ma>,
1450 <1 17 RK_FUNC_1 &pcfg_pull_up_8ma>;
1453 sdmmc1_gpio: sdmmc1-gpio {
1455 <1 12 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1456 <1 13 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1457 <1 14 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1458 <1 15 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1459 <1 16 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1460 <1 17 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1461 <1 18 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1462 <1 19 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1463 <1 20 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1468 emmc_clk: emmc-clk {
1470 <3 21 RK_FUNC_2 &pcfg_pull_none_12ma>;
1473 emmc_cmd: emmc-cmd {
1475 <3 19 RK_FUNC_2 &pcfg_pull_up_12ma>;
1478 emmc_pwren: emmc-pwren {
1480 <3 22 RK_FUNC_2 &pcfg_pull_none>;
1483 emmc_rstnout: emmc-rstnout {
1485 <3 20 RK_FUNC_2 &pcfg_pull_none>;
1488 emmc_bus1: emmc-bus1 {
1490 <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>;
1493 emmc_bus4: emmc-bus4 {
1495 <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1496 <2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1497 <2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1498 <2 30 RK_FUNC_2 &pcfg_pull_up_12ma>;
1501 emmc_bus8: emmc-bus8 {
1503 <0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1504 <2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1505 <2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1506 <2 30 RK_FUNC_2 &pcfg_pull_up_12ma>,
1507 <2 31 RK_FUNC_2 &pcfg_pull_up_12ma>,
1508 <3 16 RK_FUNC_2 &pcfg_pull_up_12ma>,
1509 <3 17 RK_FUNC_2 &pcfg_pull_up_12ma>,
1510 <3 18 RK_FUNC_2 &pcfg_pull_up_12ma>;
1515 pwm0_pin: pwm0-pin {
1517 <2 4 RK_FUNC_1 &pcfg_pull_none>;
1522 pwm1_pin: pwm1-pin {
1524 <2 5 RK_FUNC_1 &pcfg_pull_none>;
1529 pwm2_pin: pwm2-pin {
1531 <2 6 RK_FUNC_1 &pcfg_pull_none>;
1536 pwmir_pin: pwmir-pin {
1538 <2 2 RK_FUNC_1 &pcfg_pull_none>;
1543 rgmiim0_pins: rgmiim0-pins {
1546 <0 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
1548 <0 10 RK_FUNC_1 &pcfg_pull_none>,
1550 <0 11 RK_FUNC_1 &pcfg_pull_none>,
1552 <0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1554 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1556 <0 25 RK_FUNC_1 &pcfg_pull_none>,
1558 <0 19 RK_FUNC_1 &pcfg_pull_none>,
1560 <0 14 RK_FUNC_1 &pcfg_pull_none>,
1562 <0 15 RK_FUNC_1 &pcfg_pull_none>,
1564 <0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1566 <0 17 RK_FUNC_1 &pcfg_pull_none_12ma>,
1568 <0 20 RK_FUNC_1 &pcfg_pull_none>,
1570 <0 21 RK_FUNC_1 &pcfg_pull_none>,
1572 <0 23 RK_FUNC_1 &pcfg_pull_none_12ma>,
1574 <0 22 RK_FUNC_1 &pcfg_pull_none_12ma>;
1577 rmiim0_pins: rmiim0-pins {
1580 <0 11 RK_FUNC_1 &pcfg_pull_none>,
1582 <0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1584 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1586 <0 13 RK_FUNC_1 &pcfg_pull_none>,
1588 <0 25 RK_FUNC_1 &pcfg_pull_none>,
1590 <0 19 RK_FUNC_1 &pcfg_pull_none>,
1592 <0 14 RK_FUNC_1 &pcfg_pull_none>,
1594 <0 15 RK_FUNC_1 &pcfg_pull_none>,
1596 <0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1598 <0 17 RK_FUNC_1 &pcfg_pull_none_12ma>;
1603 rgmiim1_pins: rgmiim1-pins {
1606 <1 12 RK_FUNC_2 &pcfg_pull_none_12ma>,
1608 <1 13 RK_FUNC_2 &pcfg_pull_none_2ma>,
1610 <1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1612 <1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1614 <1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1616 <1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1618 <1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1620 <1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1622 <1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1624 <1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1626 <1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1628 <1 14 RK_FUNC_2 &pcfg_pull_none_2ma>,
1630 <1 15 RK_FUNC_2 &pcfg_pull_none_2ma>,
1632 <1 16 RK_FUNC_2 &pcfg_pull_none_12ma>,
1634 <1 17 RK_FUNC_2 &pcfg_pull_none_12ma>,
1637 <0 8 RK_FUNC_1 &pcfg_pull_none>,
1639 <0 12 RK_FUNC_1 &pcfg_pull_none>,
1641 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1643 <0 16 RK_FUNC_1 &pcfg_pull_none>,
1645 <0 17 RK_FUNC_1 &pcfg_pull_none>,
1647 <0 23 RK_FUNC_1 &pcfg_pull_none>,
1649 <0 22 RK_FUNC_1 &pcfg_pull_none>;
1652 rmiim1_pins: rmiim1-pins {
1655 <1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1657 <1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1659 <1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1661 <1 24 RK_FUNC_2 &pcfg_pull_none_2ma>,
1663 <1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1665 <1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1667 <1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1669 <1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1671 <1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1673 <1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1676 <0 11 RK_FUNC_1 &pcfg_pull_none>,
1678 <0 12 RK_FUNC_1 &pcfg_pull_none>,
1680 <0 24 RK_FUNC_1 &pcfg_pull_none>,
1682 <0 19 RK_FUNC_1 &pcfg_pull_none>,
1684 <0 16 RK_FUNC_1 &pcfg_pull_none>,
1686 <0 17 RK_FUNC_1 &pcfg_pull_none>;
1691 fephyled_speed100: fephyled-speed100 {
1693 <0 31 RK_FUNC_1 &pcfg_pull_none>;
1696 fephyled_speed10: fephyled-speed10 {
1698 <0 30 RK_FUNC_1 &pcfg_pull_none>;
1701 fephyled_duplex: fephyled-duplex {
1703 <0 30 RK_FUNC_2 &pcfg_pull_none>;
1706 fephyled_rxm0: fephyled-rxm0 {
1708 <0 29 RK_FUNC_1 &pcfg_pull_none>;
1711 fephyled_txm0: fephyled-txm0 {
1713 <0 29 RK_FUNC_2 &pcfg_pull_none>;
1716 fephyled_linkm0: fephyled-linkm0 {
1718 <0 28 RK_FUNC_1 &pcfg_pull_none>;
1721 fephyled_rxm1: fephyled-rxm1 {
1723 <2 25 RK_FUNC_2 &pcfg_pull_none>;
1726 fephyled_txm1: fephyled-txm1 {
1728 <2 25 RK_FUNC_3 &pcfg_pull_none>;
1731 fephyled_linkm1: fephyled-linkm1 {
1733 <2 24 RK_FUNC_2 &pcfg_pull_none>;
1738 tsadc_int: tsadc-int {
1740 <2 13 RK_FUNC_2 &pcfg_pull_none>;
1742 tsadc_gpio: tsadc-gpio {
1744 <2 13 RK_FUNC_GPIO &pcfg_pull_none>;
1749 hdmi_cec: hdmi-cec {
1751 <0 3 RK_FUNC_1 &pcfg_pull_none>;
1754 hdmi_hpd: hdmi-hpd {
1756 <0 4 RK_FUNC_1 &pcfg_pull_down>;
1761 dvp_d2d9_m0:dvp-d2d9-m0 {
1764 <3 4 RK_FUNC_2 &pcfg_pull_none>,
1766 <3 5 RK_FUNC_2 &pcfg_pull_none>,
1768 <3 6 RK_FUNC_2 &pcfg_pull_none>,
1770 <3 7 RK_FUNC_2 &pcfg_pull_none>,
1772 <3 8 RK_FUNC_2 &pcfg_pull_none>,
1774 <3 9 RK_FUNC_2 &pcfg_pull_none>,
1776 <3 10 RK_FUNC_2 &pcfg_pull_none>,
1778 <3 11 RK_FUNC_2 &pcfg_pull_none>,
1780 <3 1 RK_FUNC_2 &pcfg_pull_none>,
1782 <3 0 RK_FUNC_2 &pcfg_pull_none>,
1784 <3 3 RK_FUNC_2 &pcfg_pull_none>,
1786 <3 2 RK_FUNC_2 &pcfg_pull_none>;
1791 dvp_d2d9_m1:dvp-d2d9-m1 {
1794 <3 4 RK_FUNC_2 &pcfg_pull_none>,
1796 <3 5 RK_FUNC_2 &pcfg_pull_none>,
1798 <3 6 RK_FUNC_2 &pcfg_pull_none>,
1800 <3 7 RK_FUNC_2 &pcfg_pull_none>,
1802 <3 8 RK_FUNC_2 &pcfg_pull_none>,
1804 <2 16 RK_FUNC_4 &pcfg_pull_none>,
1806 <2 17 RK_FUNC_4 &pcfg_pull_none>,
1808 <2 18 RK_FUNC_4 &pcfg_pull_none>,
1810 <3 1 RK_FUNC_2 &pcfg_pull_none>,
1812 <3 0 RK_FUNC_2 &pcfg_pull_none>,
1814 <2 15 RK_FUNC_4 &pcfg_pull_none>,
1816 <3 2 RK_FUNC_2 &pcfg_pull_none>;