1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
6 #include <dt-bindings/clock/rk3328-cru.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/power/rk3328-power.h>
12 #include <dt-bindings/soc/rockchip,boot-mode.h>
13 #include <dt-bindings/thermal/thermal.h>
16 compatible = "rockchip,rk3328";
18 interrupt-parent = <&gic>;
31 ethernet1 = &gmac2phy;
40 compatible = "arm,cortex-a53", "arm,armv8";
42 clocks = <&cru ARMCLK>;
44 dynamic-power-coefficient = <120>;
45 enable-method = "psci";
46 next-level-cache = <&l2>;
47 operating-points-v2 = <&cpu0_opp_table>;
52 compatible = "arm,cortex-a53", "arm,armv8";
54 clocks = <&cru ARMCLK>;
56 dynamic-power-coefficient = <120>;
57 enable-method = "psci";
58 next-level-cache = <&l2>;
59 operating-points-v2 = <&cpu0_opp_table>;
64 compatible = "arm,cortex-a53", "arm,armv8";
66 clocks = <&cru ARMCLK>;
68 dynamic-power-coefficient = <120>;
69 enable-method = "psci";
70 next-level-cache = <&l2>;
71 operating-points-v2 = <&cpu0_opp_table>;
76 compatible = "arm,cortex-a53", "arm,armv8";
78 clocks = <&cru ARMCLK>;
80 dynamic-power-coefficient = <120>;
81 enable-method = "psci";
82 next-level-cache = <&l2>;
83 operating-points-v2 = <&cpu0_opp_table>;
91 cpu0_opp_table: opp_table0 {
92 compatible = "operating-points-v2";
96 opp-hz = /bits/ 64 <408000000>;
97 opp-microvolt = <950000>;
98 clock-latency-ns = <40000>;
102 opp-hz = /bits/ 64 <600000000>;
103 opp-microvolt = <950000>;
104 clock-latency-ns = <40000>;
107 opp-hz = /bits/ 64 <816000000>;
108 opp-microvolt = <1000000>;
109 clock-latency-ns = <40000>;
112 opp-hz = /bits/ 64 <1008000000>;
113 opp-microvolt = <1100000>;
114 clock-latency-ns = <40000>;
117 opp-hz = /bits/ 64 <1200000000>;
118 opp-microvolt = <1225000>;
119 clock-latency-ns = <40000>;
122 opp-hz = /bits/ 64 <1296000000>;
123 opp-microvolt = <1300000>;
124 clock-latency-ns = <40000>;
129 compatible = "simple-bus";
130 #address-cells = <2>;
134 dmac: dmac@ff1f0000 {
135 compatible = "arm,pl330", "arm,primecell";
136 reg = <0x0 0xff1f0000 0x0 0x4000>;
137 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
138 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
139 clocks = <&cru ACLK_DMAC>;
140 clock-names = "apb_pclk";
146 compatible = "arm,cortex-a53-pmu";
147 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
148 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
149 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
151 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
155 compatible = "arm,psci-1.0", "arm,psci-0.2";
160 compatible = "arm,armv8-timer";
161 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
162 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
163 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
164 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
168 compatible = "fixed-clock";
170 clock-frequency = <24000000>;
171 clock-output-names = "xin24m";
175 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
176 reg = <0x0 0xff000000 0x0 0x1000>;
177 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
178 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
179 clock-names = "i2s_clk", "i2s_hclk";
180 dmas = <&dmac 11>, <&dmac 12>;
181 dma-names = "tx", "rx";
186 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
187 reg = <0x0 0xff010000 0x0 0x1000>;
188 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
189 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
190 clock-names = "i2s_clk", "i2s_hclk";
191 dmas = <&dmac 14>, <&dmac 15>;
192 dma-names = "tx", "rx";
197 compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
198 reg = <0x0 0xff020000 0x0 0x1000>;
199 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
200 clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
201 clock-names = "i2s_clk", "i2s_hclk";
202 dmas = <&dmac 0>, <&dmac 1>;
203 dma-names = "tx", "rx";
207 spdif: spdif@ff030000 {
208 compatible = "rockchip,rk3328-spdif";
209 reg = <0x0 0xff030000 0x0 0x1000>;
210 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
211 clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
212 clock-names = "mclk", "hclk";
215 pinctrl-names = "default";
216 pinctrl-0 = <&spdifm2_tx>;
221 compatible = "rockchip,pdm";
222 reg = <0x0 0xff040000 0x0 0x1000>;
223 clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
224 clock-names = "pdm_clk", "pdm_hclk";
227 pinctrl-names = "default", "sleep";
228 pinctrl-0 = <&pdmm0_clk
233 pinctrl-1 = <&pdmm0_clk_sleep
241 grf: syscon@ff100000 {
242 compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
243 reg = <0x0 0xff100000 0x0 0x1000>;
244 #address-cells = <1>;
247 io_domains: io-domains {
248 compatible = "rockchip,rk3328-io-voltage-domain";
252 power: power-controller {
253 compatible = "rockchip,rk3328-power-controller";
254 #power-domain-cells = <1>;
255 #address-cells = <1>;
258 pd_hevc@RK3328_PD_HEVC {
259 reg = <RK3328_PD_HEVC>;
261 pd_video@RK3328_PD_VIDEO {
262 reg = <RK3328_PD_VIDEO>;
264 pd_vpu@RK3328_PD_VPU {
265 reg = <RK3328_PD_VPU>;
270 compatible = "syscon-reboot-mode";
272 mode-normal = <BOOT_NORMAL>;
273 mode-recovery = <BOOT_RECOVERY>;
274 mode-bootloader = <BOOT_FASTBOOT>;
275 mode-loader = <BOOT_BL_DOWNLOAD>;
280 uart0: serial@ff110000 {
281 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
282 reg = <0x0 0xff110000 0x0 0x100>;
283 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
284 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
285 clock-names = "baudclk", "apb_pclk";
286 dmas = <&dmac 2>, <&dmac 3>;
287 dma-names = "tx", "rx";
288 pinctrl-names = "default";
289 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
295 uart1: serial@ff120000 {
296 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
297 reg = <0x0 0xff120000 0x0 0x100>;
298 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
299 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
300 clock-names = "baudclk", "apb_pclk";
301 dmas = <&dmac 4>, <&dmac 5>;
302 dma-names = "tx", "rx";
303 pinctrl-names = "default";
304 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
310 uart2: serial@ff130000 {
311 compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
312 reg = <0x0 0xff130000 0x0 0x100>;
313 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
314 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
315 clock-names = "baudclk", "apb_pclk";
316 dmas = <&dmac 6>, <&dmac 7>;
317 dma-names = "tx", "rx";
318 pinctrl-names = "default";
319 pinctrl-0 = <&uart2m1_xfer>;
326 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
327 reg = <0x0 0xff150000 0x0 0x1000>;
328 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
329 #address-cells = <1>;
331 clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
332 clock-names = "i2c", "pclk";
333 pinctrl-names = "default";
334 pinctrl-0 = <&i2c0_xfer>;
339 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
340 reg = <0x0 0xff160000 0x0 0x1000>;
341 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
342 #address-cells = <1>;
344 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
345 clock-names = "i2c", "pclk";
346 pinctrl-names = "default";
347 pinctrl-0 = <&i2c1_xfer>;
352 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
353 reg = <0x0 0xff170000 0x0 0x1000>;
354 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
355 #address-cells = <1>;
357 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
358 clock-names = "i2c", "pclk";
359 pinctrl-names = "default";
360 pinctrl-0 = <&i2c2_xfer>;
365 compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
366 reg = <0x0 0xff180000 0x0 0x1000>;
367 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
368 #address-cells = <1>;
370 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
371 clock-names = "i2c", "pclk";
372 pinctrl-names = "default";
373 pinctrl-0 = <&i2c3_xfer>;
378 compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi";
379 reg = <0x0 0xff190000 0x0 0x1000>;
380 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
381 #address-cells = <1>;
383 clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
384 clock-names = "spiclk", "apb_pclk";
385 dmas = <&dmac 8>, <&dmac 9>;
386 dma-names = "tx", "rx";
387 pinctrl-names = "default";
388 pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>;
392 wdt: watchdog@ff1a0000 {
393 compatible = "snps,dw-wdt";
394 reg = <0x0 0xff1a0000 0x0 0x100>;
395 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
399 compatible = "rockchip,rk3328-pwm";
400 reg = <0x0 0xff1b0000 0x0 0x10>;
401 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
402 clock-names = "pwm", "pclk";
403 pinctrl-names = "default";
404 pinctrl-0 = <&pwm0_pin>;
410 compatible = "rockchip,rk3328-pwm";
411 reg = <0x0 0xff1b0010 0x0 0x10>;
412 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
413 clock-names = "pwm", "pclk";
414 pinctrl-names = "default";
415 pinctrl-0 = <&pwm1_pin>;
421 compatible = "rockchip,rk3328-pwm";
422 reg = <0x0 0xff1b0020 0x0 0x10>;
423 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
424 clock-names = "pwm", "pclk";
425 pinctrl-names = "default";
426 pinctrl-0 = <&pwm2_pin>;
432 compatible = "rockchip,rk3328-pwm";
433 reg = <0x0 0xff1b0030 0x0 0x10>;
434 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
435 clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
436 clock-names = "pwm", "pclk";
437 pinctrl-names = "default";
438 pinctrl-0 = <&pwmir_pin>;
444 soc_thermal: soc-thermal {
445 polling-delay-passive = <20>;
446 polling-delay = <1000>;
447 sustainable-power = <1000>;
449 thermal-sensors = <&tsadc 0>;
452 threshold: trip-point0 {
453 temperature = <70000>;
457 target: trip-point1 {
458 temperature = <85000>;
463 temperature = <95000>;
472 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
473 contribution = <4096>;
480 tsadc: tsadc@ff250000 {
481 compatible = "rockchip,rk3328-tsadc";
482 reg = <0x0 0xff250000 0x0 0x100>;
483 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
484 assigned-clocks = <&cru SCLK_TSADC>;
485 assigned-clock-rates = <50000>;
486 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
487 clock-names = "tsadc", "apb_pclk";
488 pinctrl-names = "init", "default", "sleep";
489 pinctrl-0 = <&otp_gpio>;
490 pinctrl-1 = <&otp_out>;
491 pinctrl-2 = <&otp_gpio>;
492 resets = <&cru SRST_TSADC>;
493 reset-names = "tsadc-apb";
494 rockchip,grf = <&grf>;
495 rockchip,hw-tshut-temp = <100000>;
496 #thermal-sensor-cells = <1>;
500 efuse: efuse@ff260000 {
501 compatible = "rockchip,rk3328-efuse";
502 reg = <0x0 0xff260000 0x0 0x50>;
503 #address-cells = <1>;
505 clocks = <&cru SCLK_EFUSE>;
506 clock-names = "pclk_efuse";
507 rockchip,efuse-size = <0x20>;
513 cpu_leakage: cpu-leakage@17 {
516 logic_leakage: logic-leakage@19 {
519 efuse_cpu_version: cpu-version@1a {
525 saradc: adc@ff280000 {
526 compatible = "rockchip,rk3328-saradc", "rockchip,rk3399-saradc";
527 reg = <0x0 0xff280000 0x0 0x100>;
528 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
529 #io-channel-cells = <1>;
530 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
531 clock-names = "saradc", "apb_pclk";
532 resets = <&cru SRST_SARADC_P>;
533 reset-names = "saradc-apb";
538 compatible = "rockchip,rk3328-mali", "arm,mali-450";
539 reg = <0x0 0xff300000 0x0 0x40000>;
540 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
541 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
542 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
543 <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
544 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
545 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
546 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
547 interrupt-names = "gp",
554 clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
555 clock-names = "bus", "core";
556 resets = <&cru SRST_GPU_A>;
559 h265e_mmu: iommu@ff330200 {
560 compatible = "rockchip,iommu";
561 reg = <0x0 0xff330200 0 0x100>;
562 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
563 interrupt-names = "h265e_mmu";
564 clocks = <&cru ACLK_H265>, <&cru PCLK_H265>;
565 clock-names = "aclk", "iface";
570 vepu_mmu: iommu@ff340800 {
571 compatible = "rockchip,iommu";
572 reg = <0x0 0xff340800 0x0 0x40>;
573 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
574 interrupt-names = "vepu_mmu";
575 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
576 clock-names = "aclk", "iface";
581 vpu_mmu: iommu@ff350800 {
582 compatible = "rockchip,iommu";
583 reg = <0x0 0xff350800 0x0 0x40>;
584 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
585 interrupt-names = "vpu_mmu";
586 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
587 clock-names = "aclk", "iface";
592 rkvdec_mmu: iommu@ff360480 {
593 compatible = "rockchip,iommu";
594 reg = <0x0 0xff360480 0x0 0x40>, <0x0 0xff3604c0 0x0 0x40>;
595 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
596 interrupt-names = "rkvdec_mmu";
597 clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
598 clock-names = "aclk", "iface";
603 vop_mmu: iommu@ff373f00 {
604 compatible = "rockchip,iommu";
605 reg = <0x0 0xff373f00 0x0 0x100>;
606 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
607 interrupt-names = "vop_mmu";
608 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
609 clock-names = "aclk", "iface";
614 cru: clock-controller@ff440000 {
615 compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
616 reg = <0x0 0xff440000 0x0 0x1000>;
617 rockchip,grf = <&grf>;
622 * CPLL should run at 1200, but that is to high for
623 * the initial dividers of most of its children.
624 * We need set cpll child clk div first,
625 * and then set the cpll frequency.
627 <&cru DCLK_LCDC>, <&cru SCLK_PDM>,
628 <&cru SCLK_RTC32K>, <&cru SCLK_UART0>,
629 <&cru SCLK_UART1>, <&cru SCLK_UART2>,
630 <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
631 <&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>,
632 <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
633 <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
634 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
635 <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
636 <&cru SCLK_SDIO>, <&cru SCLK_TSP>,
637 <&cru SCLK_WIFI>, <&cru ARMCLK>,
638 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
639 <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
640 <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
641 <&cru HCLK_PERI>, <&cru PCLK_PERI>,
643 assigned-clock-parents =
644 <&cru HDMIPHY>, <&cru PLL_APLL>,
645 <&cru PLL_GPLL>, <&xin24m>,
646 <&xin24m>, <&xin24m>;
647 assigned-clock-rates =
650 <24000000>, <24000000>,
651 <15000000>, <15000000>,
652 <100000000>, <100000000>,
653 <100000000>, <100000000>,
654 <50000000>, <100000000>,
655 <100000000>, <100000000>,
656 <50000000>, <50000000>,
657 <50000000>, <50000000>,
658 <24000000>, <600000000>,
659 <491520000>, <1200000000>,
660 <150000000>, <75000000>,
661 <75000000>, <150000000>,
662 <75000000>, <75000000>,
666 usb2phy_grf: syscon@ff450000 {
667 compatible = "rockchip,rk3328-usb2phy-grf", "syscon",
669 reg = <0x0 0xff450000 0x0 0x10000>;
670 #address-cells = <1>;
673 u2phy: usb2-phy@100 {
674 compatible = "rockchip,rk3328-usb2phy";
677 clock-names = "phyclk";
678 clock-output-names = "usb480m_phy";
680 assigned-clocks = <&cru USB480M>;
681 assigned-clock-parents = <&u2phy>;
684 u2phy_otg: otg-port {
686 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
687 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
688 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
689 interrupt-names = "otg-bvalid", "otg-id",
694 u2phy_host: host-port {
696 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
697 interrupt-names = "linestate";
703 sdmmc: dwmmc@ff500000 {
704 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
705 reg = <0x0 0xff500000 0x0 0x4000>;
706 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
707 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
708 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
709 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
710 fifo-depth = <0x100>;
714 sdio: dwmmc@ff510000 {
715 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
716 reg = <0x0 0xff510000 0x0 0x4000>;
717 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
718 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
719 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
720 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
721 fifo-depth = <0x100>;
725 emmc: dwmmc@ff520000 {
726 compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
727 reg = <0x0 0xff520000 0x0 0x4000>;
728 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
729 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
730 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
731 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
732 fifo-depth = <0x100>;
736 gmac2io: ethernet@ff540000 {
737 compatible = "rockchip,rk3328-gmac";
738 reg = <0x0 0xff540000 0x0 0x10000>;
739 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
740 interrupt-names = "macirq";
741 clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>,
742 <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>,
743 <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>,
745 clock-names = "stmmaceth", "mac_clk_rx",
746 "mac_clk_tx", "clk_mac_ref",
747 "clk_mac_refout", "aclk_mac",
749 resets = <&cru SRST_GMAC2IO_A>;
750 reset-names = "stmmaceth";
751 rockchip,grf = <&grf>;
755 gmac2phy: ethernet@ff550000 {
756 compatible = "rockchip,rk3328-gmac";
757 reg = <0x0 0xff550000 0x0 0x10000>;
758 rockchip,grf = <&grf>;
759 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
760 interrupt-names = "macirq";
761 clocks = <&cru SCLK_MAC2PHY_SRC>, <&cru SCLK_MAC2PHY_RXTX>,
762 <&cru SCLK_MAC2PHY_RXTX>, <&cru SCLK_MAC2PHY_REF>,
763 <&cru ACLK_MAC2PHY>, <&cru PCLK_MAC2PHY>,
764 <&cru SCLK_MAC2PHY_OUT>;
765 clock-names = "stmmaceth", "mac_clk_rx",
766 "mac_clk_tx", "clk_mac_ref",
767 "aclk_mac", "pclk_mac",
769 resets = <&cru SRST_GMAC2PHY_A>, <&cru SRST_MACPHY>;
770 reset-names = "stmmaceth", "mac-phy";
776 compatible = "snps,dwmac-mdio";
777 #address-cells = <1>;
781 compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22";
783 clocks = <&cru SCLK_MAC2PHY_OUT>;
784 resets = <&cru SRST_MACPHY>;
785 pinctrl-names = "default";
786 pinctrl-0 = <&fephyled_rxm1 &fephyled_linkm1>;
792 usb20_otg: usb@ff580000 {
793 compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb",
795 reg = <0x0 0xff580000 0x0 0x40000>;
796 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
797 clocks = <&cru HCLK_OTG>;
800 g-np-tx-fifo-size = <16>;
801 g-rx-fifo-size = <280>;
802 g-tx-fifo-size = <256 128 128 64 32 16>;
805 phy-names = "usb2-phy";
809 usb_host0_ehci: usb@ff5c0000 {
810 compatible = "generic-ehci";
811 reg = <0x0 0xff5c0000 0x0 0x10000>;
812 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
813 clocks = <&cru HCLK_HOST0>, <&u2phy>;
814 clock-names = "usbhost", "utmi";
815 phys = <&u2phy_host>;
820 usb_host0_ohci: usb@ff5d0000 {
821 compatible = "generic-ohci";
822 reg = <0x0 0xff5d0000 0x0 0x10000>;
823 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
824 clocks = <&cru HCLK_HOST0>, <&u2phy>;
825 clock-names = "usbhost", "utmi";
826 phys = <&u2phy_host>;
831 gic: interrupt-controller@ff811000 {
832 compatible = "arm,gic-400";
833 #interrupt-cells = <3>;
834 #address-cells = <0>;
835 interrupt-controller;
836 reg = <0x0 0xff811000 0 0x1000>,
837 <0x0 0xff812000 0 0x2000>,
838 <0x0 0xff814000 0 0x2000>,
839 <0x0 0xff816000 0 0x2000>;
840 interrupts = <GIC_PPI 9
841 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
845 compatible = "rockchip,rk3328-pinctrl";
846 rockchip,grf = <&grf>;
847 #address-cells = <2>;
851 gpio0: gpio0@ff210000 {
852 compatible = "rockchip,gpio-bank";
853 reg = <0x0 0xff210000 0x0 0x100>;
854 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
855 clocks = <&cru PCLK_GPIO0>;
860 interrupt-controller;
861 #interrupt-cells = <2>;
864 gpio1: gpio1@ff220000 {
865 compatible = "rockchip,gpio-bank";
866 reg = <0x0 0xff220000 0x0 0x100>;
867 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
868 clocks = <&cru PCLK_GPIO1>;
873 interrupt-controller;
874 #interrupt-cells = <2>;
877 gpio2: gpio2@ff230000 {
878 compatible = "rockchip,gpio-bank";
879 reg = <0x0 0xff230000 0x0 0x100>;
880 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
881 clocks = <&cru PCLK_GPIO2>;
886 interrupt-controller;
887 #interrupt-cells = <2>;
890 gpio3: gpio3@ff240000 {
891 compatible = "rockchip,gpio-bank";
892 reg = <0x0 0xff240000 0x0 0x100>;
893 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
894 clocks = <&cru PCLK_GPIO3>;
899 interrupt-controller;
900 #interrupt-cells = <2>;
903 pcfg_pull_up: pcfg-pull-up {
907 pcfg_pull_down: pcfg-pull-down {
911 pcfg_pull_none: pcfg-pull-none {
915 pcfg_pull_none_2ma: pcfg-pull-none-2ma {
917 drive-strength = <2>;
920 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
922 drive-strength = <2>;
925 pcfg_pull_up_4ma: pcfg-pull-up-4ma {
927 drive-strength = <4>;
930 pcfg_pull_none_4ma: pcfg-pull-none-4ma {
932 drive-strength = <4>;
935 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
937 drive-strength = <4>;
940 pcfg_pull_none_8ma: pcfg-pull-none-8ma {
942 drive-strength = <8>;
945 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
947 drive-strength = <8>;
950 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
952 drive-strength = <12>;
955 pcfg_pull_up_12ma: pcfg-pull-up-12ma {
957 drive-strength = <12>;
960 pcfg_output_high: pcfg-output-high {
964 pcfg_output_low: pcfg-output-low {
968 pcfg_input_high: pcfg-input-high {
973 pcfg_input: pcfg-input {
978 i2c0_xfer: i2c0-xfer {
979 rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>,
980 <2 RK_PD1 1 &pcfg_pull_none>;
985 i2c1_xfer: i2c1-xfer {
986 rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>,
987 <2 RK_PA5 2 &pcfg_pull_none>;
992 i2c2_xfer: i2c2-xfer {
993 rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>,
994 <2 RK_PB6 1 &pcfg_pull_none>;
999 i2c3_xfer: i2c3-xfer {
1000 rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>,
1001 <0 RK_PA6 2 &pcfg_pull_none>;
1003 i2c3_gpio: i2c3-gpio {
1005 <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>,
1006 <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
1011 hdmii2c_xfer: hdmii2c-xfer {
1012 rockchip,pins = <0 RK_PA5 1 &pcfg_pull_none>,
1013 <0 RK_PA6 1 &pcfg_pull_none>;
1018 pdmm0_clk: pdmm0-clk {
1019 rockchip,pins = <2 RK_PC2 2 &pcfg_pull_none>;
1022 pdmm0_fsync: pdmm0-fsync {
1023 rockchip,pins = <2 RK_PC7 2 &pcfg_pull_none>;
1026 pdmm0_sdi0: pdmm0-sdi0 {
1027 rockchip,pins = <2 RK_PC3 2 &pcfg_pull_none>;
1030 pdmm0_sdi1: pdmm0-sdi1 {
1031 rockchip,pins = <2 RK_PC4 2 &pcfg_pull_none>;
1034 pdmm0_sdi2: pdmm0-sdi2 {
1035 rockchip,pins = <2 RK_PC5 2 &pcfg_pull_none>;
1038 pdmm0_sdi3: pdmm0-sdi3 {
1039 rockchip,pins = <2 RK_PC6 2 &pcfg_pull_none>;
1042 pdmm0_clk_sleep: pdmm0-clk-sleep {
1044 <2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>;
1047 pdmm0_sdi0_sleep: pdmm0-sdi0-sleep {
1049 <2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>;
1052 pdmm0_sdi1_sleep: pdmm0-sdi1-sleep {
1054 <2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>;
1057 pdmm0_sdi2_sleep: pdmm0-sdi2-sleep {
1059 <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>;
1062 pdmm0_sdi3_sleep: pdmm0-sdi3-sleep {
1064 <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
1067 pdmm0_fsync_sleep: pdmm0-fsync-sleep {
1069 <2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
1074 otp_gpio: otp-gpio {
1075 rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
1079 rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>;
1084 uart0_xfer: uart0-xfer {
1085 rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>,
1086 <1 RK_PB0 1 &pcfg_pull_none>;
1089 uart0_cts: uart0-cts {
1090 rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>;
1093 uart0_rts: uart0-rts {
1094 rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>;
1097 uart0_rts_gpio: uart0-rts-gpio {
1098 rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
1103 uart1_xfer: uart1-xfer {
1104 rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>,
1105 <3 RK_PA6 4 &pcfg_pull_none>;
1108 uart1_cts: uart1-cts {
1109 rockchip,pins = <3 RK_PA7 4 &pcfg_pull_none>;
1112 uart1_rts: uart1-rts {
1113 rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>;
1116 uart1_rts_gpio: uart1-rts-gpio {
1117 rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
1122 uart2m0_xfer: uart2m0-xfer {
1123 rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>,
1124 <1 RK_PA1 2 &pcfg_pull_none>;
1129 uart2m1_xfer: uart2m1-xfer {
1130 rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>,
1131 <2 RK_PA1 1 &pcfg_pull_none>;
1136 spi0m0_clk: spi0m0-clk {
1137 rockchip,pins = <2 RK_PB0 1 &pcfg_pull_up>;
1140 spi0m0_cs0: spi0m0-cs0 {
1141 rockchip,pins = <2 RK_PB3 1 &pcfg_pull_up>;
1144 spi0m0_tx: spi0m0-tx {
1145 rockchip,pins = <2 RK_PB1 1 &pcfg_pull_up>;
1148 spi0m0_rx: spi0m0-rx {
1149 rockchip,pins = <2 RK_PB2 1 &pcfg_pull_up>;
1152 spi0m0_cs1: spi0m0-cs1 {
1153 rockchip,pins = <2 RK_PB4 1 &pcfg_pull_up>;
1158 spi0m1_clk: spi0m1-clk {
1159 rockchip,pins = <3 RK_PC7 2 &pcfg_pull_up>;
1162 spi0m1_cs0: spi0m1-cs0 {
1163 rockchip,pins = <3 RK_PD2 2 &pcfg_pull_up>;
1166 spi0m1_tx: spi0m1-tx {
1167 rockchip,pins = <3 RK_PD1 2 &pcfg_pull_up>;
1170 spi0m1_rx: spi0m1-rx {
1171 rockchip,pins = <3 RK_PD0 2 &pcfg_pull_up>;
1174 spi0m1_cs1: spi0m1-cs1 {
1175 rockchip,pins = <3 RK_PD3 2 &pcfg_pull_up>;
1180 spi0m2_clk: spi0m2-clk {
1181 rockchip,pins = <3 RK_PA0 4 &pcfg_pull_up>;
1184 spi0m2_cs0: spi0m2-cs0 {
1185 rockchip,pins = <3 RK_PB0 3 &pcfg_pull_up>;
1188 spi0m2_tx: spi0m2-tx {
1189 rockchip,pins = <3 RK_PA1 4 &pcfg_pull_up>;
1192 spi0m2_rx: spi0m2-rx {
1193 rockchip,pins = <3 RK_PA2 4 &pcfg_pull_up>;
1198 i2s1_mclk: i2s1-mclk {
1199 rockchip,pins = <2 RK_PB7 1 &pcfg_pull_none>;
1202 i2s1_sclk: i2s1-sclk {
1203 rockchip,pins = <2 RK_PC2 1 &pcfg_pull_none>;
1206 i2s1_lrckrx: i2s1-lrckrx {
1207 rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>;
1210 i2s1_lrcktx: i2s1-lrcktx {
1211 rockchip,pins = <2 RK_PC1 1 &pcfg_pull_none>;
1214 i2s1_sdi: i2s1-sdi {
1215 rockchip,pins = <2 RK_PC3 1 &pcfg_pull_none>;
1218 i2s1_sdo: i2s1-sdo {
1219 rockchip,pins = <2 RK_PC7 1 &pcfg_pull_none>;
1222 i2s1_sdio1: i2s1-sdio1 {
1223 rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>;
1226 i2s1_sdio2: i2s1-sdio2 {
1227 rockchip,pins = <2 RK_PC5 1 &pcfg_pull_none>;
1230 i2s1_sdio3: i2s1-sdio3 {
1231 rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>;
1234 i2s1_sleep: i2s1-sleep {
1236 <2 RK_PB7 RK_FUNC_GPIO &pcfg_input_high>,
1237 <2 RK_PC0 RK_FUNC_GPIO &pcfg_input_high>,
1238 <2 RK_PC1 RK_FUNC_GPIO &pcfg_input_high>,
1239 <2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>,
1240 <2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>,
1241 <2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>,
1242 <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
1243 <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>,
1244 <2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
1249 i2s2m0_mclk: i2s2m0-mclk {
1250 rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>;
1253 i2s2m0_sclk: i2s2m0-sclk {
1254 rockchip,pins = <1 RK_PC6 1 &pcfg_pull_none>;
1257 i2s2m0_lrckrx: i2s2m0-lrckrx {
1258 rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>;
1261 i2s2m0_lrcktx: i2s2m0-lrcktx {
1262 rockchip,pins = <1 RK_PC7 1 &pcfg_pull_none>;
1265 i2s2m0_sdi: i2s2m0-sdi {
1266 rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>;
1269 i2s2m0_sdo: i2s2m0-sdo {
1270 rockchip,pins = <1 RK_PD1 1 &pcfg_pull_none>;
1273 i2s2m0_sleep: i2s2m0-sleep {
1275 <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
1276 <1 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>,
1277 <1 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>,
1278 <1 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>,
1279 <1 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>,
1280 <1 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>;
1285 i2s2m1_mclk: i2s2m1-mclk {
1286 rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>;
1289 i2s2m1_sclk: i2s2m1-sclk {
1290 rockchip,pins = <3 RK_PA0 6 &pcfg_pull_none>;
1293 i2s2m1_lrckrx: i2sm1-lrckrx {
1294 rockchip,pins = <3 RK_PB0 6 &pcfg_pull_none>;
1297 i2s2m1_lrcktx: i2s2m1-lrcktx {
1298 rockchip,pins = <3 RK_PB0 4 &pcfg_pull_none>;
1301 i2s2m1_sdi: i2s2m1-sdi {
1302 rockchip,pins = <3 RK_PA2 6 &pcfg_pull_none>;
1305 i2s2m1_sdo: i2s2m1-sdo {
1306 rockchip,pins = <3 RK_PA1 6 &pcfg_pull_none>;
1309 i2s2m1_sleep: i2s2m1-sleep {
1311 <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
1312 <3 RK_PA0 RK_FUNC_GPIO &pcfg_input_high>,
1313 <3 RK_PB0 RK_FUNC_GPIO &pcfg_input_high>,
1314 <3 RK_PA2 RK_FUNC_GPIO &pcfg_input_high>,
1315 <3 RK_PA1 RK_FUNC_GPIO &pcfg_input_high>;
1320 spdifm0_tx: spdifm0-tx {
1321 rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>;
1326 spdifm1_tx: spdifm1-tx {
1327 rockchip,pins = <2 RK_PC1 2 &pcfg_pull_none>;
1332 spdifm2_tx: spdifm2-tx {
1333 rockchip,pins = <0 RK_PA2 2 &pcfg_pull_none>;
1338 sdmmc0m0_pwren: sdmmc0m0-pwren {
1339 rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>;
1342 sdmmc0m0_gpio: sdmmc0m0-gpio {
1343 rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1348 sdmmc0m1_pwren: sdmmc0m1-pwren {
1349 rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>;
1352 sdmmc0m1_gpio: sdmmc0m1-gpio {
1353 rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1358 sdmmc0_clk: sdmmc0-clk {
1359 rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none_4ma>;
1362 sdmmc0_cmd: sdmmc0-cmd {
1363 rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up_4ma>;
1366 sdmmc0_dectn: sdmmc0-dectn {
1367 rockchip,pins = <1 RK_PA5 1 &pcfg_pull_up_4ma>;
1370 sdmmc0_wrprt: sdmmc0-wrprt {
1371 rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up_4ma>;
1374 sdmmc0_bus1: sdmmc0-bus1 {
1375 rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_4ma>;
1378 sdmmc0_bus4: sdmmc0-bus4 {
1379 rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_4ma>,
1380 <1 RK_PA1 1 &pcfg_pull_up_4ma>,
1381 <1 RK_PA2 1 &pcfg_pull_up_4ma>,
1382 <1 RK_PA3 1 &pcfg_pull_up_4ma>;
1385 sdmmc0_gpio: sdmmc0-gpio {
1387 <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1388 <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1389 <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1390 <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1391 <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1392 <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1393 <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1394 <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1399 sdmmc0ext_clk: sdmmc0ext-clk {
1400 rockchip,pins = <3 RK_PA2 3 &pcfg_pull_none_4ma>;
1403 sdmmc0ext_cmd: sdmmc0ext-cmd {
1404 rockchip,pins = <3 RK_PA0 3 &pcfg_pull_up_4ma>;
1407 sdmmc0ext_wrprt: sdmmc0ext-wrprt {
1408 rockchip,pins = <3 RK_PA3 3 &pcfg_pull_up_4ma>;
1411 sdmmc0ext_dectn: sdmmc0ext-dectn {
1412 rockchip,pins = <3 RK_PA1 3 &pcfg_pull_up_4ma>;
1415 sdmmc0ext_bus1: sdmmc0ext-bus1 {
1416 rockchip,pins = <3 RK_PA4 3 &pcfg_pull_up_4ma>;
1419 sdmmc0ext_bus4: sdmmc0ext-bus4 {
1421 <3 RK_PA4 3 &pcfg_pull_up_4ma>,
1422 <3 RK_PA5 3 &pcfg_pull_up_4ma>,
1423 <3 RK_PA6 3 &pcfg_pull_up_4ma>,
1424 <3 RK_PA7 3 &pcfg_pull_up_4ma>;
1427 sdmmc0ext_gpio: sdmmc0ext-gpio {
1429 <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1430 <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1431 <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1432 <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1433 <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1434 <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1435 <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1436 <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1441 sdmmc1_clk: sdmmc1-clk {
1442 rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none_8ma>;
1445 sdmmc1_cmd: sdmmc1-cmd {
1446 rockchip,pins = <1 RK_PB5 1 &pcfg_pull_up_8ma>;
1449 sdmmc1_pwren: sdmmc1-pwren {
1450 rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up_8ma>;
1453 sdmmc1_wrprt: sdmmc1-wrprt {
1454 rockchip,pins = <1 RK_PC4 1 &pcfg_pull_up_8ma>;
1457 sdmmc1_dectn: sdmmc1-dectn {
1458 rockchip,pins = <1 RK_PC3 1 &pcfg_pull_up_8ma>;
1461 sdmmc1_bus1: sdmmc1-bus1 {
1462 rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>;
1465 sdmmc1_bus4: sdmmc1-bus4 {
1466 rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>,
1467 <1 RK_PB7 1 &pcfg_pull_up_8ma>,
1468 <1 RK_PC0 1 &pcfg_pull_up_8ma>,
1469 <1 RK_PC1 1 &pcfg_pull_up_8ma>;
1472 sdmmc1_gpio: sdmmc1-gpio {
1474 <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1475 <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1476 <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1477 <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1478 <1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1479 <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1480 <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1481 <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1482 <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1487 emmc_clk: emmc-clk {
1488 rockchip,pins = <3 RK_PC5 2 &pcfg_pull_none_12ma>;
1491 emmc_cmd: emmc-cmd {
1492 rockchip,pins = <3 RK_PC3 2 &pcfg_pull_up_12ma>;
1495 emmc_pwren: emmc-pwren {
1496 rockchip,pins = <3 RK_PC6 2 &pcfg_pull_none>;
1499 emmc_rstnout: emmc-rstnout {
1500 rockchip,pins = <3 RK_PC4 2 &pcfg_pull_none>;
1503 emmc_bus1: emmc-bus1 {
1504 rockchip,pins = <0 RK_PA7 2 &pcfg_pull_up_12ma>;
1507 emmc_bus4: emmc-bus4 {
1509 <0 RK_PA7 2 &pcfg_pull_up_12ma>,
1510 <2 RK_PD4 2 &pcfg_pull_up_12ma>,
1511 <2 RK_PD5 2 &pcfg_pull_up_12ma>,
1512 <2 RK_PD6 2 &pcfg_pull_up_12ma>;
1515 emmc_bus8: emmc-bus8 {
1517 <0 RK_PA7 2 &pcfg_pull_up_12ma>,
1518 <2 RK_PD4 2 &pcfg_pull_up_12ma>,
1519 <2 RK_PD5 2 &pcfg_pull_up_12ma>,
1520 <2 RK_PD6 2 &pcfg_pull_up_12ma>,
1521 <2 RK_PD7 2 &pcfg_pull_up_12ma>,
1522 <3 RK_PC0 2 &pcfg_pull_up_12ma>,
1523 <3 RK_PC1 2 &pcfg_pull_up_12ma>,
1524 <3 RK_PC2 2 &pcfg_pull_up_12ma>;
1529 pwm0_pin: pwm0-pin {
1530 rockchip,pins = <2 RK_PA4 1 &pcfg_pull_none>;
1535 pwm1_pin: pwm1-pin {
1536 rockchip,pins = <2 RK_PA5 1 &pcfg_pull_none>;
1541 pwm2_pin: pwm2-pin {
1542 rockchip,pins = <2 RK_PA6 1 &pcfg_pull_none>;
1547 pwmir_pin: pwmir-pin {
1548 rockchip,pins = <2 RK_PA2 1 &pcfg_pull_none>;
1553 rgmiim1_pins: rgmiim1-pins {
1556 <1 RK_PB4 2 &pcfg_pull_none_12ma>,
1558 <1 RK_PB5 2 &pcfg_pull_none_2ma>,
1560 <1 RK_PC3 2 &pcfg_pull_none_2ma>,
1562 <1 RK_PD1 2 &pcfg_pull_none_12ma>,
1564 <1 RK_PC5 2 &pcfg_pull_none_2ma>,
1566 <1 RK_PC6 2 &pcfg_pull_none_2ma>,
1568 <1 RK_PC7 2 &pcfg_pull_none_2ma>,
1570 <1 RK_PB2 2 &pcfg_pull_none_2ma>,
1572 <1 RK_PB3 2 &pcfg_pull_none_2ma>,
1574 <1 RK_PB0 2 &pcfg_pull_none_12ma>,
1576 <1 RK_PB1 2 &pcfg_pull_none_12ma>,
1578 <1 RK_PB6 2 &pcfg_pull_none_2ma>,
1580 <1 RK_PB7 2 &pcfg_pull_none_2ma>,
1582 <1 RK_PC0 2 &pcfg_pull_none_12ma>,
1584 <1 RK_PC1 2 &pcfg_pull_none_12ma>,
1587 <0 RK_PB0 1 &pcfg_pull_none>,
1589 <0 RK_PB4 1 &pcfg_pull_none>,
1591 <0 RK_PD0 1 &pcfg_pull_none>,
1593 <0 RK_PC0 1 &pcfg_pull_none>,
1595 <0 RK_PC1 1 &pcfg_pull_none>,
1597 <0 RK_PC7 1 &pcfg_pull_none>,
1599 <0 RK_PC6 1 &pcfg_pull_none>;
1602 rmiim1_pins: rmiim1-pins {
1605 <1 RK_PC3 2 &pcfg_pull_none_2ma>,
1607 <1 RK_PD1 2 &pcfg_pull_none_12ma>,
1609 <1 RK_PC5 2 &pcfg_pull_none_2ma>,
1611 <1 RK_PD0 2 &pcfg_pull_none_2ma>,
1613 <1 RK_PC6 2 &pcfg_pull_none_2ma>,
1615 <1 RK_PC7 2 &pcfg_pull_none_2ma>,
1617 <1 RK_PB2 2 &pcfg_pull_none_2ma>,
1619 <1 RK_PB3 2 &pcfg_pull_none_2ma>,
1621 <1 RK_PB0 2 &pcfg_pull_none_12ma>,
1623 <1 RK_PB1 2 &pcfg_pull_none_12ma>,
1626 <0 RK_PB3 1 &pcfg_pull_none>,
1628 <0 RK_PB4 1 &pcfg_pull_none>,
1630 <0 RK_PD0 1 &pcfg_pull_none>,
1632 <0 RK_PC3 1 &pcfg_pull_none>,
1634 <0 RK_PC0 1 &pcfg_pull_none>,
1636 <0 RK_PC1 1 &pcfg_pull_none>;
1641 fephyled_speed100: fephyled-speed100 {
1642 rockchip,pins = <0 RK_PD7 1 &pcfg_pull_none>;
1645 fephyled_speed10: fephyled-speed10 {
1646 rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>;
1649 fephyled_duplex: fephyled-duplex {
1650 rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>;
1653 fephyled_rxm0: fephyled-rxm0 {
1654 rockchip,pins = <0 RK_PD5 1 &pcfg_pull_none>;
1657 fephyled_txm0: fephyled-txm0 {
1658 rockchip,pins = <0 RK_PD5 2 &pcfg_pull_none>;
1661 fephyled_linkm0: fephyled-linkm0 {
1662 rockchip,pins = <0 RK_PD4 1 &pcfg_pull_none>;
1665 fephyled_rxm1: fephyled-rxm1 {
1666 rockchip,pins = <2 RK_PD1 2 &pcfg_pull_none>;
1669 fephyled_txm1: fephyled-txm1 {
1670 rockchip,pins = <2 RK_PD1 3 &pcfg_pull_none>;
1673 fephyled_linkm1: fephyled-linkm1 {
1674 rockchip,pins = <2 RK_PD0 2 &pcfg_pull_none>;
1679 tsadc_int: tsadc-int {
1680 rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>;
1682 tsadc_gpio: tsadc-gpio {
1683 rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
1688 hdmi_cec: hdmi-cec {
1689 rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>;
1692 hdmi_hpd: hdmi-hpd {
1693 rockchip,pins = <0 RK_PA4 1 &pcfg_pull_down>;
1698 dvp_d2d9_m0:dvp-d2d9-m0 {
1701 <3 RK_PA4 2 &pcfg_pull_none>,
1703 <3 RK_PA5 2 &pcfg_pull_none>,
1705 <3 RK_PA6 2 &pcfg_pull_none>,
1707 <3 RK_PA7 2 &pcfg_pull_none>,
1709 <3 RK_PB0 2 &pcfg_pull_none>,
1711 <3 RK_PB1 2 &pcfg_pull_none>,
1713 <3 RK_PB2 2 &pcfg_pull_none>,
1715 <3 RK_PB3 2 &pcfg_pull_none>,
1717 <3 RK_PA1 2 &pcfg_pull_none>,
1719 <3 RK_PA0 2 &pcfg_pull_none>,
1721 <3 RK_PA3 2 &pcfg_pull_none>,
1723 <3 RK_PA2 2 &pcfg_pull_none>;
1728 dvp_d2d9_m1:dvp-d2d9-m1 {
1731 <3 RK_PA4 2 &pcfg_pull_none>,
1733 <3 RK_PA5 2 &pcfg_pull_none>,
1735 <3 RK_PA6 2 &pcfg_pull_none>,
1737 <3 RK_PA7 2 &pcfg_pull_none>,
1739 <3 RK_PB0 2 &pcfg_pull_none>,
1741 <2 RK_PC0 4 &pcfg_pull_none>,
1743 <2 RK_PC1 4 &pcfg_pull_none>,
1745 <2 RK_PC2 4 &pcfg_pull_none>,
1747 <3 RK_PA1 2 &pcfg_pull_none>,
1749 <3 RK_PA0 2 &pcfg_pull_none>,
1751 <2 RK_PB7 4 &pcfg_pull_none>,
1753 <3 RK_PA2 2 &pcfg_pull_none>;