xref: /openbmc/u-boot/arch/arm/dts/rv1108.dtsi (revision c1d6e0bbfdb50f9041a42bd4ce3af809a09ff7d1)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
22d1951feSAndy Yan/*
32d1951feSAndy Yan * (C) Copyright 2016 Rockchip Electronics Co., Ltd
42d1951feSAndy Yan */
52d1951feSAndy Yan
62d1951feSAndy Yan#include <dt-bindings/gpio/gpio.h>
72d1951feSAndy Yan#include <dt-bindings/interrupt-controller/irq.h>
82d1951feSAndy Yan#include <dt-bindings/interrupt-controller/arm-gic.h>
92d1951feSAndy Yan#include <dt-bindings/clock/rv1108-cru.h>
102d1951feSAndy Yan#include <dt-bindings/pinctrl/rockchip.h>
112d1951feSAndy Yan/ {
122d1951feSAndy Yan	#address-cells = <1>;
132d1951feSAndy Yan	#size-cells = <1>;
142d1951feSAndy Yan
152d1951feSAndy Yan	compatible = "rockchip,rv1108";
162d1951feSAndy Yan
172d1951feSAndy Yan	interrupt-parent = <&gic>;
182d1951feSAndy Yan
192d1951feSAndy Yan	aliases {
202d1951feSAndy Yan		serial0 = &uart0;
212d1951feSAndy Yan		serial1 = &uart1;
222d1951feSAndy Yan		serial2 = &uart2;
232d1951feSAndy Yan		spi0	= &sfc;
242d1951feSAndy Yan	};
252d1951feSAndy Yan
262d1951feSAndy Yan	cpus {
272d1951feSAndy Yan		#address-cells = <1>;
282d1951feSAndy Yan		#size-cells = <0>;
292d1951feSAndy Yan
302d1951feSAndy Yan		cpu0: cpu@f00 {
312d1951feSAndy Yan			device_type = "cpu";
322d1951feSAndy Yan			compatible = "arm,cortex-a7";
332d1951feSAndy Yan			reg = <0xf00>;
342d1951feSAndy Yan		};
352d1951feSAndy Yan	};
362d1951feSAndy Yan
372d1951feSAndy Yan	arm-pmu {
382d1951feSAndy Yan		compatible = "arm,cortex-a7-pmu";
392d1951feSAndy Yan		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
402d1951feSAndy Yan	};
412d1951feSAndy Yan
422d1951feSAndy Yan	timer {
432d1951feSAndy Yan		compatible = "arm,armv7-timer";
442d1951feSAndy Yan		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>,
452d1951feSAndy Yan			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
462d1951feSAndy Yan		clock-frequency = <24000000>;
472d1951feSAndy Yan	};
482d1951feSAndy Yan
492d1951feSAndy Yan	xin24m: oscillator {
502d1951feSAndy Yan		compatible = "fixed-clock";
512d1951feSAndy Yan		clock-frequency = <24000000>;
522d1951feSAndy Yan		clock-output-names = "xin24m";
532d1951feSAndy Yan		#clock-cells = <0>;
542d1951feSAndy Yan	};
552d1951feSAndy Yan
562d1951feSAndy Yan	amba {
572d1951feSAndy Yan		compatible = "simple-bus";
582d1951feSAndy Yan		#address-cells = <1>;
592d1951feSAndy Yan		#size-cells = <1>;
602d1951feSAndy Yan		ranges;
612d1951feSAndy Yan
622d1951feSAndy Yan		pdma: pdma@102a0000 {
632d1951feSAndy Yan			compatible = "arm,pl330", "arm,primecell";
642d1951feSAndy Yan			reg = <0x102a0000 0x4000>;
652d1951feSAndy Yan			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
662d1951feSAndy Yan			#dma-cells = <1>;
672d1951feSAndy Yan			arm,pl330-broken-no-flushp;
682d1951feSAndy Yan			clocks = <&cru ACLK_DMAC>;
692d1951feSAndy Yan			clock-names = "apb_pclk";
702d1951feSAndy Yan		};
712d1951feSAndy Yan	};
722d1951feSAndy Yan
732d1951feSAndy Yan	bus_intmem@10080000 {
742d1951feSAndy Yan		compatible = "mmio-sram";
752d1951feSAndy Yan		reg = <0x10080000 0x2000>;
762d1951feSAndy Yan		#address-cells = <1>;
772d1951feSAndy Yan		#size-cells = <1>;
782d1951feSAndy Yan		ranges = <0 0x10080000 0x2000>;
792d1951feSAndy Yan	};
802d1951feSAndy Yan
812d1951feSAndy Yan	uart2: serial@10210000 {
822d1951feSAndy Yan		compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart";
832d1951feSAndy Yan		reg = <0x10210000 0x100>;
842d1951feSAndy Yan		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
852d1951feSAndy Yan		reg-shift = <2>;
862d1951feSAndy Yan		reg-io-width = <4>;
872d1951feSAndy Yan		clock-frequency = <24000000>;
882d1951feSAndy Yan		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
892d1951feSAndy Yan		clock-names = "baudclk", "apb_pclk";
902d1951feSAndy Yan		pinctrl-names = "default";
912d1951feSAndy Yan		pinctrl-0 = <&uart2m0_xfer>;
922d1951feSAndy Yan		status = "disabled";
932d1951feSAndy Yan	};
942d1951feSAndy Yan
952d1951feSAndy Yan	uart1: serial@10220000 {
962d1951feSAndy Yan		compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart";
972d1951feSAndy Yan		reg = <0x10220000 0x100>;
982d1951feSAndy Yan		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
992d1951feSAndy Yan		reg-shift = <2>;
1002d1951feSAndy Yan		reg-io-width = <4>;
1012d1951feSAndy Yan		clock-frequency = <24000000>;
1022d1951feSAndy Yan		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
1032d1951feSAndy Yan		clock-names = "baudclk", "apb_pclk";
1042d1951feSAndy Yan		pinctrl-names = "default";
1052d1951feSAndy Yan		pinctrl-0 = <&uart1_xfer>;
1062d1951feSAndy Yan		status = "disabled";
1072d1951feSAndy Yan	};
1082d1951feSAndy Yan
1092d1951feSAndy Yan	uart0: serial@10230000 {
1102d1951feSAndy Yan		compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart";
1112d1951feSAndy Yan		reg = <0x10230000 0x100>;
1122d1951feSAndy Yan		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1132d1951feSAndy Yan		reg-shift = <2>;
1142d1951feSAndy Yan		reg-io-width = <4>;
1152d1951feSAndy Yan		clock-frequency = <24000000>;
1162d1951feSAndy Yan		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
1172d1951feSAndy Yan		clock-names = "baudclk", "apb_pclk";
1182d1951feSAndy Yan		pinctrl-names = "default";
1192d1951feSAndy Yan		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
1202d1951feSAndy Yan		status = "disabled";
1212d1951feSAndy Yan	};
1222d1951feSAndy Yan
1232d1951feSAndy Yan	grf: syscon@10300000 {
124*8177c5c4SOtavio Salvador		compatible = "rockchip,rv1108-grf", "syscon", "simple-mfd";
1252d1951feSAndy Yan		reg = <0x10300000 0x1000>;
126*8177c5c4SOtavio Salvador		#address-cells = <1>;
127*8177c5c4SOtavio Salvador		#size-cells = <1>;
128*8177c5c4SOtavio Salvador
129*8177c5c4SOtavio Salvador		u2phy: usb2-phy@100 {
130*8177c5c4SOtavio Salvador			compatible = "rockchip,rv1108-usb2phy";
131*8177c5c4SOtavio Salvador			reg = <0x100 0x0c>;
132*8177c5c4SOtavio Salvador			clocks = <&cru SCLK_USBPHY>;
133*8177c5c4SOtavio Salvador			clock-names = "phyclk";
134*8177c5c4SOtavio Salvador			#clock-cells = <0>;
135*8177c5c4SOtavio Salvador			clock-output-names = "usbphy";
136*8177c5c4SOtavio Salvador			rockchip,usbgrf = <&usbgrf>;
137*8177c5c4SOtavio Salvador			status = "disabled";
138*8177c5c4SOtavio Salvador
139*8177c5c4SOtavio Salvador			u2phy_otg: otg-port {
140*8177c5c4SOtavio Salvador				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
141*8177c5c4SOtavio Salvador				interrupt-names = "otg-mux";
142*8177c5c4SOtavio Salvador				#phy-cells = <0>;
143*8177c5c4SOtavio Salvador				status = "disabled";
144*8177c5c4SOtavio Salvador			};
145*8177c5c4SOtavio Salvador
146*8177c5c4SOtavio Salvador			u2phy_host: host-port {
147*8177c5c4SOtavio Salvador				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
148*8177c5c4SOtavio Salvador				interrupt-names = "linestate";
149*8177c5c4SOtavio Salvador				#phy-cells = <0>;
150*8177c5c4SOtavio Salvador				status = "disabled";
151*8177c5c4SOtavio Salvador			};
152*8177c5c4SOtavio Salvador		};
1532d1951feSAndy Yan	};
1542d1951feSAndy Yan
155fdc1eccbSDavid Wu	saradc: saradc@1038c000 {
156fdc1eccbSDavid Wu		compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc";
157fdc1eccbSDavid Wu		reg = <0x1038c000 0x100>;
158fdc1eccbSDavid Wu		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
159fdc1eccbSDavid Wu		#io-channel-cells = <1>;
160fdc1eccbSDavid Wu		clock-frequency = <1000000>;
161fdc1eccbSDavid Wu		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
162fdc1eccbSDavid Wu		clock-names = "saradc", "apb_pclk";
163fdc1eccbSDavid Wu		status = "disabled";
164fdc1eccbSDavid Wu	};
165fdc1eccbSDavid Wu
1662d1951feSAndy Yan	pmugrf: syscon@20060000 {
1672d1951feSAndy Yan		compatible = "rockchip,rv1108-pmugrf", "syscon";
1682d1951feSAndy Yan		reg = <0x20060000 0x1000>;
1692d1951feSAndy Yan	};
1702d1951feSAndy Yan
171*8177c5c4SOtavio Salvador	usbgrf: syscon@202a0000 {
172*8177c5c4SOtavio Salvador		compatible = "rockchip,rv1108-usbgrf", "syscon";
173*8177c5c4SOtavio Salvador		reg = <0x202a0000 0x1000>;
174*8177c5c4SOtavio Salvador	};
175*8177c5c4SOtavio Salvador
1762d1951feSAndy Yan	cru: clock-controller@20200000 {
1772d1951feSAndy Yan		compatible = "rockchip,rv1108-cru";
1782d1951feSAndy Yan		reg = <0x20200000 0x1000>;
1792d1951feSAndy Yan		rockchip,grf = <&grf>;
1802d1951feSAndy Yan		#clock-cells = <1>;
1812d1951feSAndy Yan		#reset-cells = <1>;
1822d1951feSAndy Yan	};
1832d1951feSAndy Yan
1842d1951feSAndy Yan	emmc: dwmmc@30110000 {
1852d1951feSAndy Yan		compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc";
1862d1951feSAndy Yan		clock-freq-min-max = <400000 150000000>;
1872d1951feSAndy Yan		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
1882d1951feSAndy Yan			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
1892d1951feSAndy Yan		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1902d1951feSAndy Yan		fifo-depth = <0x100>;
1912d1951feSAndy Yan		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1922d1951feSAndy Yan		reg = <0x30110000 0x4000>;
1932d1951feSAndy Yan		status = "disabled";
1942d1951feSAndy Yan	};
1952d1951feSAndy Yan
1962d1951feSAndy Yan	sdio: dwmmc@30120000 {
1972d1951feSAndy Yan		compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc";
1982d1951feSAndy Yan		clock-freq-min-max = <400000 150000000>;
1992d1951feSAndy Yan		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
2002d1951feSAndy Yan			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
2012d1951feSAndy Yan		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
2022d1951feSAndy Yan		fifo-depth = <0x100>;
2032d1951feSAndy Yan		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2042d1951feSAndy Yan		reg = <0x30120000 0x4000>;
2052d1951feSAndy Yan		status = "disabled";
2062d1951feSAndy Yan	};
2072d1951feSAndy Yan
2082d1951feSAndy Yan	sdmmc: dwmmc@30130000 {
2092d1951feSAndy Yan		compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc";
2102d1951feSAndy Yan		clock-freq-min-max = <400000 100000000>;
2112d1951feSAndy Yan		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
2122d1951feSAndy Yan			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
2132d1951feSAndy Yan		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
2142d1951feSAndy Yan		fifo-depth = <0x100>;
2152d1951feSAndy Yan		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2162d1951feSAndy Yan		reg = <0x30130000 0x4000>;
2172d1951feSAndy Yan		status = "disabled";
2182d1951feSAndy Yan	};
2192d1951feSAndy Yan
220809ec945SWilliam Wu	usb_host_ehci: usb@30140000 {
221809ec945SWilliam Wu		compatible = "generic-ehci";
222809ec945SWilliam Wu		reg = <0x30140000 0x20000>;
223809ec945SWilliam Wu		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
224809ec945SWilliam Wu		status = "disabled";
225809ec945SWilliam Wu	};
226809ec945SWilliam Wu
227809ec945SWilliam Wu	usb_host_ohci: usb@30160000 {
228809ec945SWilliam Wu		compatible = "generic-ohci";
229809ec945SWilliam Wu		reg = <0x30160000 0x20000>;
230809ec945SWilliam Wu		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
231809ec945SWilliam Wu		status = "disabled";
232809ec945SWilliam Wu	};
233809ec945SWilliam Wu
234809ec945SWilliam Wu	usb20_otg: usb@30180000 {
235*8177c5c4SOtavio Salvador		compatible = "rockchip,rv1108-usb", "rockchip,rk3066-usb",
236809ec945SWilliam Wu			     "snps,dwc2";
237809ec945SWilliam Wu		reg = <0x30180000 0x40000>;
238809ec945SWilliam Wu		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
239*8177c5c4SOtavio Salvador		clocks = <&cru HCLK_OTG>;
240*8177c5c4SOtavio Salvador		clock-names = "otg";
241809ec945SWilliam Wu		dr_mode = "otg";
242*8177c5c4SOtavio Salvador		g-np-tx-fifo-size = <16>;
243*8177c5c4SOtavio Salvador		g-rx-fifo-size = <280>;
244*8177c5c4SOtavio Salvador		g-tx-fifo-size = <256 128 128 64 32 16>;
245*8177c5c4SOtavio Salvador		g-use-dma;
246*8177c5c4SOtavio Salvador		phys = <&u2phy_otg>;
247*8177c5c4SOtavio Salvador		phy-names = "usb2-phy";
248809ec945SWilliam Wu		status = "disabled";
249809ec945SWilliam Wu	};
250809ec945SWilliam Wu
2512d1951feSAndy Yan	sfc: sfc@301c0000 {
2522d1951feSAndy Yan		compatible = "rockchip,sfc";
2532d1951feSAndy Yan		reg = <0x301c0000 0x200>;
2542d1951feSAndy Yan		#address-cells = <1>;
2552d1951feSAndy Yan		#size-cells = <0>;
2562d1951feSAndy Yan		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
2572d1951feSAndy Yan		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
2582d1951feSAndy Yan		clock-names = "clk_sfc", "hclk_sfc";
2592d1951feSAndy Yan		pinctrl-0 = <&sfc_pins>;
2602d1951feSAndy Yan		pinctrl-names = "default";
2612d1951feSAndy Yan		status = "disabled";
2622d1951feSAndy Yan        };
2632d1951feSAndy Yan
2642d1951feSAndy Yan	gmac: ethernet@30200000 {
2652d1951feSAndy Yan		compatible = "rockchip,rv1108-gmac";
2662d1951feSAndy Yan		reg = <0x30200000 0x10000>;
2672d1951feSAndy Yan		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
2682d1951feSAndy Yan		interrupt-names = "macirq";
2692d1951feSAndy Yan		rockchip,grf = <&grf>;
2702d1951feSAndy Yan		clocks = <&cru SCLK_MAC>,
2712d1951feSAndy Yan			<&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
2722d1951feSAndy Yan			<&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
2732d1951feSAndy Yan			<&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
2742d1951feSAndy Yan                clock-names = "stmmaceth",
2752d1951feSAndy Yan                        "mac_clk_rx", "mac_clk_tx",
2762d1951feSAndy Yan                        "clk_mac_ref", "clk_mac_refout",
2772d1951feSAndy Yan                        "aclk_mac", "pclk_mac";
2782d1951feSAndy Yan		pinctrl-names = "default";
2792d1951feSAndy Yan		pinctrl-0 = <&rmii_pins>;
2802d1951feSAndy Yan		phy-mode = "rmii";
2812d1951feSAndy Yan		max-speed = <100>;
2822d1951feSAndy Yan		status = "disabled";
2832d1951feSAndy Yan	};
2842d1951feSAndy Yan
2852d1951feSAndy Yan	gic: interrupt-controller@32010000 {
2862d1951feSAndy Yan		compatible = "arm,gic-400";
2872d1951feSAndy Yan		interrupt-controller;
2882d1951feSAndy Yan		#interrupt-cells = <3>;
2892d1951feSAndy Yan		#address-cells = <0>;
2902d1951feSAndy Yan
2912d1951feSAndy Yan		reg = <0x32011000 0x1000>,
2922d1951feSAndy Yan		      <0x32012000 0x1000>,
2932d1951feSAndy Yan		      <0x32014000 0x2000>,
2942d1951feSAndy Yan		      <0x32016000 0x2000>;
2952d1951feSAndy Yan		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
2962d1951feSAndy Yan	};
2972d1951feSAndy Yan
2982d1951feSAndy Yan	pinctrl: pinctrl {
2992d1951feSAndy Yan		compatible = "rockchip,rv1108-pinctrl";
3002d1951feSAndy Yan		rockchip,grf = <&grf>;
3012d1951feSAndy Yan		rockchip,pmu = <&pmugrf>;
3022d1951feSAndy Yan		#address-cells = <1>;
3032d1951feSAndy Yan		#size-cells = <1>;
3042d1951feSAndy Yan		ranges;
3052d1951feSAndy Yan
3062d1951feSAndy Yan		gpio0: gpio0@20030000 {
3072d1951feSAndy Yan			compatible = "rockchip,gpio-bank";
3082d1951feSAndy Yan			reg = <0x20030000 0x100>;
3092d1951feSAndy Yan			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
3102d1951feSAndy Yan			clocks = <&xin24m>;
3112d1951feSAndy Yan
3122d1951feSAndy Yan			gpio-controller;
3132d1951feSAndy Yan			#gpio-cells = <2>;
3142d1951feSAndy Yan
3152d1951feSAndy Yan			interrupt-controller;
3162d1951feSAndy Yan			#interrupt-cells = <2>;
3172d1951feSAndy Yan		};
3182d1951feSAndy Yan
3192d1951feSAndy Yan		gpio1: gpio1@10310000 {
3202d1951feSAndy Yan			compatible = "rockchip,gpio-bank";
3212d1951feSAndy Yan			reg = <0x10310000 0x100>;
3222d1951feSAndy Yan			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
3232d1951feSAndy Yan			clocks = <&xin24m>;
3242d1951feSAndy Yan
3252d1951feSAndy Yan			gpio-controller;
3262d1951feSAndy Yan			#gpio-cells = <2>;
3272d1951feSAndy Yan
3282d1951feSAndy Yan			interrupt-controller;
3292d1951feSAndy Yan			#interrupt-cells = <2>;
3302d1951feSAndy Yan		};
3312d1951feSAndy Yan
3322d1951feSAndy Yan		gpio2: gpio2@10320000 {
3332d1951feSAndy Yan			compatible = "rockchip,gpio-bank";
3342d1951feSAndy Yan			reg = <0x10320000 0x100>;
3352d1951feSAndy Yan			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
3362d1951feSAndy Yan			clocks = <&xin24m>;
3372d1951feSAndy Yan
3382d1951feSAndy Yan			gpio-controller;
3392d1951feSAndy Yan			#gpio-cells = <2>;
3402d1951feSAndy Yan
3412d1951feSAndy Yan			interrupt-controller;
3422d1951feSAndy Yan			#interrupt-cells = <2>;
3432d1951feSAndy Yan		};
3442d1951feSAndy Yan
3452d1951feSAndy Yan		gpio3: gpio3@10330000 {
3462d1951feSAndy Yan			compatible = "rockchip,gpio-bank";
3472d1951feSAndy Yan			reg = <0x10330000 0x100>;
3482d1951feSAndy Yan			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
3492d1951feSAndy Yan			clocks = <&xin24m>;
3502d1951feSAndy Yan
3512d1951feSAndy Yan			gpio-controller;
3522d1951feSAndy Yan			#gpio-cells = <2>;
3532d1951feSAndy Yan
3542d1951feSAndy Yan			interrupt-controller;
3552d1951feSAndy Yan			#interrupt-cells = <2>;
3562d1951feSAndy Yan		};
3572d1951feSAndy Yan
3582d1951feSAndy Yan		pcfg_pull_up: pcfg-pull-up {
3592d1951feSAndy Yan			bias-pull-up;
3602d1951feSAndy Yan		};
3612d1951feSAndy Yan
3622d1951feSAndy Yan		pcfg_pull_down: pcfg-pull-down {
3632d1951feSAndy Yan			bias-pull-down;
3642d1951feSAndy Yan		};
3652d1951feSAndy Yan
3662d1951feSAndy Yan		pcfg_pull_none: pcfg-pull-none {
3672d1951feSAndy Yan			bias-disable;
3682d1951feSAndy Yan		};
3692d1951feSAndy Yan
3702d1951feSAndy Yan		pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
3712d1951feSAndy Yan			drive-strength = <8>;
3722d1951feSAndy Yan		};
3732d1951feSAndy Yan
3742d1951feSAndy Yan		pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma {
3752d1951feSAndy Yan			drive-strength = <12>;
3762d1951feSAndy Yan		};
3772d1951feSAndy Yan
3782d1951feSAndy Yan		pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
3792d1951feSAndy Yan			bias-pull-up;
3802d1951feSAndy Yan			drive-strength = <8>;
3812d1951feSAndy Yan		};
3822d1951feSAndy Yan
3832d1951feSAndy Yan		pcfg_pull_none_drv_4ma: pcfg-pull-none-drv-4ma {
3842d1951feSAndy Yan			drive-strength = <4>;
3852d1951feSAndy Yan		};
3862d1951feSAndy Yan
3872d1951feSAndy Yan		pcfg_pull_up_drv_4ma: pcfg-pull-up-drv-4ma {
3882d1951feSAndy Yan			bias-pull-up;
3892d1951feSAndy Yan			drive-strength = <4>;
3902d1951feSAndy Yan		};
3912d1951feSAndy Yan
3922d1951feSAndy Yan		pcfg_output_high: pcfg-output-high {
3932d1951feSAndy Yan			output-high;
3942d1951feSAndy Yan		};
3952d1951feSAndy Yan
3962d1951feSAndy Yan		pcfg_output_low: pcfg-output-low {
3972d1951feSAndy Yan			output-low;
3982d1951feSAndy Yan		};
3992d1951feSAndy Yan
4002d1951feSAndy Yan		pcfg_input_high: pcfg-input-high {
4012d1951feSAndy Yan			bias-pull-up;
4022d1951feSAndy Yan			input-enable;
4032d1951feSAndy Yan		};
4042d1951feSAndy Yan
4052d1951feSAndy Yan		gmac {
4062d1951feSAndy Yan			rmii_pins: rmii-pins {
4072d1951feSAndy Yan				rockchip,pins = <1 RK_PC5 RK_FUNC_2 &pcfg_pull_none>,
4082d1951feSAndy Yan						<1 RK_PC3 RK_FUNC_2 &pcfg_pull_none>,
4092d1951feSAndy Yan						<1 RK_PC4 RK_FUNC_2 &pcfg_pull_none>,
4102d1951feSAndy Yan						<1 RK_PB2 RK_FUNC_3 &pcfg_pull_none_drv_12ma>,
4112d1951feSAndy Yan						<1 RK_PB3 RK_FUNC_3 &pcfg_pull_none_drv_12ma>,
4122d1951feSAndy Yan						<1 RK_PB4 RK_FUNC_3 &pcfg_pull_none_drv_12ma>,
4132d1951feSAndy Yan						<1 RK_PB5 RK_FUNC_3 &pcfg_pull_none>,
4142d1951feSAndy Yan						<1 RK_PB6 RK_FUNC_3 &pcfg_pull_none>,
4152d1951feSAndy Yan						<1 RK_PB7 RK_FUNC_3 &pcfg_pull_none>,
4162d1951feSAndy Yan						<1 RK_PC2 RK_FUNC_3 &pcfg_pull_none>;
4172d1951feSAndy Yan			};
4182d1951feSAndy Yan		};
4192d1951feSAndy Yan
4202d1951feSAndy Yan		i2c1 {
4212d1951feSAndy Yan			i2c1_xfer: i2c1-xfer {
4222d1951feSAndy Yan				rockchip,pins = <2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>,
4232d1951feSAndy Yan						<2 RK_PD4 RK_FUNC_1 &pcfg_pull_up>;
4242d1951feSAndy Yan			};
4252d1951feSAndy Yan		};
4262d1951feSAndy Yan
4272d1951feSAndy Yan		i2c2m1 {
4282d1951feSAndy Yan			i2c2m1_xfer: i2c2m1-xfer {
4292d1951feSAndy Yan				rockchip,pins = <0 RK_PC2 RK_FUNC_2 &pcfg_pull_none>,
4302d1951feSAndy Yan						<0 RK_PC6 RK_FUNC_3 &pcfg_pull_none>;
4312d1951feSAndy Yan			};
4322d1951feSAndy Yan
4332d1951feSAndy Yan			i2c2m1_gpio: i2c2m1-gpio {
4342d1951feSAndy Yan				rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>,
4352d1951feSAndy Yan						<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
4362d1951feSAndy Yan			};
4372d1951feSAndy Yan		};
4382d1951feSAndy Yan
4392d1951feSAndy Yan		i2c2m05v {
4402d1951feSAndy Yan			i2c2m05v_xfer: i2c2m05v-xfer {
4412d1951feSAndy Yan				rockchip,pins = <1 RK_PD5 RK_FUNC_2 &pcfg_pull_none>,
4422d1951feSAndy Yan						<1 RK_PD4 RK_FUNC_2 &pcfg_pull_none>;
4432d1951feSAndy Yan			};
4442d1951feSAndy Yan
4452d1951feSAndy Yan			i2c2m05v_gpio: i2c2m05v-gpio {
4462d1951feSAndy Yan				rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>,
4472d1951feSAndy Yan						<1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
4482d1951feSAndy Yan			};
4492d1951feSAndy Yan		};
4502d1951feSAndy Yan
4512d1951feSAndy Yan		i2c3 {
4522d1951feSAndy Yan			i2c3_xfer: i2c3-xfer {
4532d1951feSAndy Yan				rockchip,pins = <0 RK_PB6 RK_FUNC_1 &pcfg_pull_none>,
4542d1951feSAndy Yan						<0 RK_PC4 RK_FUNC_2 &pcfg_pull_none>;
4552d1951feSAndy Yan			};
4562d1951feSAndy Yan		};
4572d1951feSAndy Yan
4582d1951feSAndy Yan		sfc {
4592d1951feSAndy Yan			sfc_pins: sfc-pins {
4602d1951feSAndy Yan				rockchip,pins = <2 RK_PA3 RK_FUNC_3 &pcfg_pull_none>,
4612d1951feSAndy Yan						<2 RK_PA2 RK_FUNC_3 &pcfg_pull_none>,
4622d1951feSAndy Yan						<2 RK_PA1 RK_FUNC_3 &pcfg_pull_none>,
4632d1951feSAndy Yan						<2 RK_PA0 RK_FUNC_3 &pcfg_pull_none>,
4642d1951feSAndy Yan						<2 RK_PB7 RK_FUNC_2 &pcfg_pull_none>,
4652d1951feSAndy Yan						<2 RK_PB4 RK_FUNC_3 &pcfg_pull_none>;
4662d1951feSAndy Yan			};
4672d1951feSAndy Yan		};
4682d1951feSAndy Yan
469a8819e9aSOtavio Salvador		emmc {
470a8819e9aSOtavio Salvador			emmc_clk: emmc-clk {
471a8819e9aSOtavio Salvador				rockchip,pins = <2 RK_PB6 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
472a8819e9aSOtavio Salvador			};
473a8819e9aSOtavio Salvador
474a8819e9aSOtavio Salvador			emmc_cmd: emmc-cmd {
475a8819e9aSOtavio Salvador				rockchip,pins = <2 RK_PB4 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
476a8819e9aSOtavio Salvador			};
477a8819e9aSOtavio Salvador
478a8819e9aSOtavio Salvador			emmc_pwren: emmc-pwren {
479a8819e9aSOtavio Salvador				rockchip,pins = <2 RK_PC2 RK_FUNC_2 &pcfg_pull_none>;
480a8819e9aSOtavio Salvador			};
481a8819e9aSOtavio Salvador
482a8819e9aSOtavio Salvador			emmc_bus1: emmc-bus1 {
483a8819e9aSOtavio Salvador				rockchip,pins = <2 RK_PA0 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
484a8819e9aSOtavio Salvador			};
485a8819e9aSOtavio Salvador
486a8819e9aSOtavio Salvador			emmc_bus8: emmc-bus8 {
487a8819e9aSOtavio Salvador				rockchip,pins = <2 RK_PA0 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
488a8819e9aSOtavio Salvador						<2 RK_PA1 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
489a8819e9aSOtavio Salvador						<2 RK_PA2 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
490a8819e9aSOtavio Salvador						<2 RK_PA3 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
491a8819e9aSOtavio Salvador						<2 RK_PA4 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
492a8819e9aSOtavio Salvador						<2 RK_PA5 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
493a8819e9aSOtavio Salvador						<2 RK_PA6 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
494a8819e9aSOtavio Salvador						<2 RK_PA7 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
495a8819e9aSOtavio Salvador			};
496a8819e9aSOtavio Salvador		};
497a8819e9aSOtavio Salvador
4982d1951feSAndy Yan		sdmmc {
4992d1951feSAndy Yan			sdmmc_clk: sdmmc-clk {
5002d1951feSAndy Yan				rockchip,pins = <3 RK_PC4 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
5012d1951feSAndy Yan			};
5022d1951feSAndy Yan
5032d1951feSAndy Yan			sdmmc_cmd: sdmmc-cmd {
5042d1951feSAndy Yan				rockchip,pins = <3 RK_PC5 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
5052d1951feSAndy Yan			};
5062d1951feSAndy Yan
5072d1951feSAndy Yan			sdmmc_cd: sdmmc-cd {
5082d1951feSAndy Yan				rockchip,pins = <0 RK_PA1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
5092d1951feSAndy Yan			};
5102d1951feSAndy Yan
5112d1951feSAndy Yan			sdmmc_bus1: sdmmc-bus1 {
5122d1951feSAndy Yan				rockchip,pins = <3 RK_PC3 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
5132d1951feSAndy Yan			};
5142d1951feSAndy Yan
5152d1951feSAndy Yan			sdmmc_bus4: sdmmc-bus4 {
5162d1951feSAndy Yan				rockchip,pins = <3 RK_PC3 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
5172d1951feSAndy Yan						<3 RK_PC2 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
5182d1951feSAndy Yan						<3 RK_PC1 RK_FUNC_1 &pcfg_pull_up_drv_4ma>,
5192d1951feSAndy Yan						<3 RK_PC0 RK_FUNC_1 &pcfg_pull_up_drv_4ma>;
5202d1951feSAndy Yan			};
5212d1951feSAndy Yan		};
5222d1951feSAndy Yan
5232d1951feSAndy Yan		uart0 {
5242d1951feSAndy Yan			uart0_xfer: uart0-xfer {
5252d1951feSAndy Yan				rockchip,pins = <3 RK_PA6 RK_FUNC_1 &pcfg_pull_up>,
5262d1951feSAndy Yan						<3 RK_PA5 RK_FUNC_1 &pcfg_pull_none>;
5272d1951feSAndy Yan			};
5282d1951feSAndy Yan
5292d1951feSAndy Yan			uart0_cts: uart0-cts {
5302d1951feSAndy Yan				rockchip,pins = <3 RK_PA4 RK_FUNC_1 &pcfg_pull_none>;
5312d1951feSAndy Yan			};
5322d1951feSAndy Yan
5332d1951feSAndy Yan			uart0_rts: uart0-rts {
5342d1951feSAndy Yan				rockchip,pins = <3 RK_PA3 RK_FUNC_1 &pcfg_pull_none>;
5352d1951feSAndy Yan			};
5362d1951feSAndy Yan
5372d1951feSAndy Yan			uart0_rts_gpio: uart0-rts-gpio {
5382d1951feSAndy Yan				rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
5392d1951feSAndy Yan			};
5402d1951feSAndy Yan		};
5412d1951feSAndy Yan
5422d1951feSAndy Yan		uart1 {
5432d1951feSAndy Yan			uart1_xfer: uart1-xfer {
5442d1951feSAndy Yan				rockchip,pins = <1 RK_PD3 RK_FUNC_1 &pcfg_pull_up>,
5452d1951feSAndy Yan						<1 RK_PD2 RK_FUNC_1 &pcfg_pull_none>;
5462d1951feSAndy Yan			};
5472d1951feSAndy Yan
5482d1951feSAndy Yan			uart1_cts: uart1-cts {
5492d1951feSAndy Yan				rockchip,pins = <1 RK_PD0 RK_FUNC_1 &pcfg_pull_none>;
5502d1951feSAndy Yan			};
5512d1951feSAndy Yan
5522d1951feSAndy Yan			uart01rts: uart1-rts {
5532d1951feSAndy Yan				rockchip,pins = <1 RK_PD1 RK_FUNC_1 &pcfg_pull_none>;
5542d1951feSAndy Yan			};
5552d1951feSAndy Yan		};
5562d1951feSAndy Yan
5572d1951feSAndy Yan		uart2m0 {
5582d1951feSAndy Yan			uart2m0_xfer: uart2m0-xfer {
5592d1951feSAndy Yan				rockchip,pins = <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up>,
5602d1951feSAndy Yan						<2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>;
5612d1951feSAndy Yan			};
5622d1951feSAndy Yan		};
5632d1951feSAndy Yan
5642d1951feSAndy Yan		uart2m1 {
5652d1951feSAndy Yan			uart2m1_xfer: uart2m1-xfer {
5662d1951feSAndy Yan				rockchip,pins = <3 RK_PC3 RK_FUNC_2 &pcfg_pull_up>,
5672d1951feSAndy Yan						<3 RK_PC2 RK_FUNC_2 &pcfg_pull_none>;
5682d1951feSAndy Yan			};
5692d1951feSAndy Yan		};
5702d1951feSAndy Yan
5712d1951feSAndy Yan		uart2_5v {
5722d1951feSAndy Yan			uart2_5v_cts: uart2_5v-cts {
5732d1951feSAndy Yan				rockchip,pins = <1 RK_PD4 RK_FUNC_1 &pcfg_pull_none>;
5742d1951feSAndy Yan			};
5752d1951feSAndy Yan
5762d1951feSAndy Yan			uart2_5v_rts: uart2_5v-rts {
5772d1951feSAndy Yan				rockchip,pins = <1 RK_PD5 RK_FUNC_1 &pcfg_pull_none>;
5782d1951feSAndy Yan			};
5792d1951feSAndy Yan		};
5802d1951feSAndy Yan	};
5812d1951feSAndy Yan};
582