xref: /linux/arch/arm/boot/dts/rockchip/rk322x.dtsi (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1fce152a6SKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
29848ebebSJeffy Chen
39848ebebSJeffy Chen#include <dt-bindings/gpio/gpio.h>
49848ebebSJeffy Chen#include <dt-bindings/interrupt-controller/irq.h>
59848ebebSJeffy Chen#include <dt-bindings/interrupt-controller/arm-gic.h>
69848ebebSJeffy Chen#include <dt-bindings/pinctrl/rockchip.h>
79848ebebSJeffy Chen#include <dt-bindings/clock/rk3228-cru.h>
87796031eSCaesar Wang#include <dt-bindings/thermal/thermal.h>
9623ba75aSAlex Bee#include <dt-bindings/power/rk3228-power.h>
109848ebebSJeffy Chen
119848ebebSJeffy Chen/ {
120193273dSJavier Martinez Canillas	#address-cells = <1>;
130193273dSJavier Martinez Canillas	#size-cells = <1>;
140193273dSJavier Martinez Canillas
159848ebebSJeffy Chen	interrupt-parent = <&gic>;
169848ebebSJeffy Chen
179848ebebSJeffy Chen	aliases {
1804c521c3SJohan Jonker		gpio0 = &gpio0;
1904c521c3SJohan Jonker		gpio1 = &gpio1;
2004c521c3SJohan Jonker		gpio2 = &gpio2;
2104c521c3SJohan Jonker		gpio3 = &gpio3;
229848ebebSJeffy Chen		serial0 = &uart0;
239848ebebSJeffy Chen		serial1 = &uart1;
249848ebebSJeffy Chen		serial2 = &uart2;
25febdf639SHuibin Hong		spi0 = &spi0;
269848ebebSJeffy Chen	};
279848ebebSJeffy Chen
289848ebebSJeffy Chen	cpus {
299848ebebSJeffy Chen		#address-cells = <1>;
309848ebebSJeffy Chen		#size-cells = <0>;
319848ebebSJeffy Chen
329848ebebSJeffy Chen		cpu0: cpu@f00 {
339848ebebSJeffy Chen			device_type = "cpu";
349848ebebSJeffy Chen			compatible = "arm,cortex-a7";
359848ebebSJeffy Chen			reg = <0xf00>;
369848ebebSJeffy Chen			resets = <&cru SRST_CORE0>;
379f12da43SFinley Xiao			operating-points-v2 = <&cpu0_opp_table>;
387796031eSCaesar Wang			#cooling-cells = <2>; /* min followed by max */
399848ebebSJeffy Chen			clocks = <&cru ARMCLK>;
400ae92144SFrank Wang			enable-method = "psci";
419848ebebSJeffy Chen		};
429848ebebSJeffy Chen
439848ebebSJeffy Chen		cpu1: cpu@f01 {
449848ebebSJeffy Chen			device_type = "cpu";
459848ebebSJeffy Chen			compatible = "arm,cortex-a7";
469848ebebSJeffy Chen			reg = <0xf01>;
479848ebebSJeffy Chen			resets = <&cru SRST_CORE1>;
489f12da43SFinley Xiao			operating-points-v2 = <&cpu0_opp_table>;
490bac06dfSViresh Kumar			#cooling-cells = <2>; /* min followed by max */
500ae92144SFrank Wang			enable-method = "psci";
519848ebebSJeffy Chen		};
529848ebebSJeffy Chen
539848ebebSJeffy Chen		cpu2: cpu@f02 {
549848ebebSJeffy Chen			device_type = "cpu";
559848ebebSJeffy Chen			compatible = "arm,cortex-a7";
569848ebebSJeffy Chen			reg = <0xf02>;
579848ebebSJeffy Chen			resets = <&cru SRST_CORE2>;
589f12da43SFinley Xiao			operating-points-v2 = <&cpu0_opp_table>;
590bac06dfSViresh Kumar			#cooling-cells = <2>; /* min followed by max */
600ae92144SFrank Wang			enable-method = "psci";
619848ebebSJeffy Chen		};
629848ebebSJeffy Chen
639848ebebSJeffy Chen		cpu3: cpu@f03 {
649848ebebSJeffy Chen			device_type = "cpu";
659848ebebSJeffy Chen			compatible = "arm,cortex-a7";
669848ebebSJeffy Chen			reg = <0xf03>;
679848ebebSJeffy Chen			resets = <&cru SRST_CORE3>;
689f12da43SFinley Xiao			operating-points-v2 = <&cpu0_opp_table>;
690bac06dfSViresh Kumar			#cooling-cells = <2>; /* min followed by max */
700ae92144SFrank Wang			enable-method = "psci";
719f12da43SFinley Xiao		};
729f12da43SFinley Xiao	};
739f12da43SFinley Xiao
7433a2a4b2SJohan Jonker	cpu0_opp_table: opp-table-0 {
759f12da43SFinley Xiao		compatible = "operating-points-v2";
769f12da43SFinley Xiao		opp-shared;
779f12da43SFinley Xiao
789f12da43SFinley Xiao		opp-408000000 {
799f12da43SFinley Xiao			opp-hz = /bits/ 64 <408000000>;
809f12da43SFinley Xiao			opp-microvolt = <950000>;
819f12da43SFinley Xiao			clock-latency-ns = <40000>;
829f12da43SFinley Xiao			opp-suspend;
839f12da43SFinley Xiao		};
849f12da43SFinley Xiao		opp-600000000 {
859f12da43SFinley Xiao			opp-hz = /bits/ 64 <600000000>;
869f12da43SFinley Xiao			opp-microvolt = <975000>;
879f12da43SFinley Xiao		};
889f12da43SFinley Xiao		opp-816000000 {
899f12da43SFinley Xiao			opp-hz = /bits/ 64 <816000000>;
909f12da43SFinley Xiao			opp-microvolt = <1000000>;
919f12da43SFinley Xiao		};
929f12da43SFinley Xiao		opp-1008000000 {
939f12da43SFinley Xiao			opp-hz = /bits/ 64 <1008000000>;
949f12da43SFinley Xiao			opp-microvolt = <1175000>;
959f12da43SFinley Xiao		};
969f12da43SFinley Xiao		opp-1200000000 {
979f12da43SFinley Xiao			opp-hz = /bits/ 64 <1200000000>;
989f12da43SFinley Xiao			opp-microvolt = <1275000>;
999848ebebSJeffy Chen		};
1009848ebebSJeffy Chen	};
1019848ebebSJeffy Chen
1029848ebebSJeffy Chen	arm-pmu {
1039848ebebSJeffy Chen		compatible = "arm,cortex-a7-pmu";
1049848ebebSJeffy Chen		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
1059848ebebSJeffy Chen			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
1069848ebebSJeffy Chen			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
1079848ebebSJeffy Chen			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
1089848ebebSJeffy Chen		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
1099848ebebSJeffy Chen	};
1109848ebebSJeffy Chen
1110ae92144SFrank Wang	psci {
1120ae92144SFrank Wang		compatible = "arm,psci-1.0", "arm,psci-0.2";
1130ae92144SFrank Wang		method = "smc";
1140ae92144SFrank Wang	};
1150ae92144SFrank Wang
1169848ebebSJeffy Chen	timer {
1179848ebebSJeffy Chen		compatible = "arm,armv7-timer";
1189848ebebSJeffy Chen		arm,cpu-registers-not-fw-configured;
1199848ebebSJeffy Chen		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
1209848ebebSJeffy Chen			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
1219848ebebSJeffy Chen			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
1229848ebebSJeffy Chen			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
1239848ebebSJeffy Chen		clock-frequency = <24000000>;
1249848ebebSJeffy Chen	};
1259848ebebSJeffy Chen
1269848ebebSJeffy Chen	xin24m: oscillator {
1279848ebebSJeffy Chen		compatible = "fixed-clock";
1289848ebebSJeffy Chen		clock-frequency = <24000000>;
1299848ebebSJeffy Chen		clock-output-names = "xin24m";
1309848ebebSJeffy Chen		#clock-cells = <0>;
1319848ebebSJeffy Chen	};
1329848ebebSJeffy Chen
133519574e3SJustin Swartz	display_subsystem: display-subsystem {
134519574e3SJustin Swartz		compatible = "rockchip,display-subsystem";
135519574e3SJustin Swartz		ports = <&vop_out>;
136519574e3SJustin Swartz	};
137519574e3SJustin Swartz
138ccada248SXing Zheng	i2s1: i2s1@100b0000 {
139ccada248SXing Zheng		compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
140ccada248SXing Zheng		reg = <0x100b0000 0x4000>;
141ccada248SXing Zheng		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
142ccada248SXing Zheng		clock-names = "i2s_clk", "i2s_hclk";
143ccada248SXing Zheng		clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
144ccada248SXing Zheng		dmas = <&pdma 14>, <&pdma 15>;
145ccada248SXing Zheng		dma-names = "tx", "rx";
146ccada248SXing Zheng		pinctrl-names = "default";
147ccada248SXing Zheng		pinctrl-0 = <&i2s1_bus>;
148ccada248SXing Zheng		status = "disabled";
149ccada248SXing Zheng	};
150ccada248SXing Zheng
151ccada248SXing Zheng	i2s0: i2s0@100c0000 {
152ccada248SXing Zheng		compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
153ccada248SXing Zheng		reg = <0x100c0000 0x4000>;
154ccada248SXing Zheng		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
155ccada248SXing Zheng		clock-names = "i2s_clk", "i2s_hclk";
156ccada248SXing Zheng		clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
157ccada248SXing Zheng		dmas = <&pdma 11>, <&pdma 12>;
158ccada248SXing Zheng		dma-names = "tx", "rx";
159ccada248SXing Zheng		status = "disabled";
160ccada248SXing Zheng	};
161ccada248SXing Zheng
1624b456d20SSugar Zhang	spdif: spdif@100d0000 {
1634b456d20SSugar Zhang		compatible = "rockchip,rk3228-spdif";
1644b456d20SSugar Zhang		reg = <0x100d0000 0x1000>;
1654b456d20SSugar Zhang		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1664b456d20SSugar Zhang		clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
1674b456d20SSugar Zhang		clock-names = "mclk", "hclk";
1684b456d20SSugar Zhang		dmas = <&pdma 10>;
1694b456d20SSugar Zhang		dma-names = "tx";
1704b456d20SSugar Zhang		pinctrl-names = "default";
1714b456d20SSugar Zhang		pinctrl-0 = <&spdif_tx>;
1724b456d20SSugar Zhang		status = "disabled";
1734b456d20SSugar Zhang	};
1744b456d20SSugar Zhang
175ccada248SXing Zheng	i2s2: i2s2@100e0000 {
176ccada248SXing Zheng		compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
177ccada248SXing Zheng		reg = <0x100e0000 0x4000>;
178ccada248SXing Zheng		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
179ccada248SXing Zheng		clock-names = "i2s_clk", "i2s_hclk";
180ccada248SXing Zheng		clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
181ccada248SXing Zheng		dmas = <&pdma 0>, <&pdma 1>;
182ccada248SXing Zheng		dma-names = "tx", "rx";
183ccada248SXing Zheng		status = "disabled";
184ccada248SXing Zheng	};
185ccada248SXing Zheng
1869848ebebSJeffy Chen	grf: syscon@11000000 {
187692f492fSShawn Lin		compatible = "rockchip,rk3228-grf", "syscon", "simple-mfd";
1889848ebebSJeffy Chen		reg = <0x11000000 0x1000>;
1893880af45SWilliam Wu		#address-cells = <1>;
1903880af45SWilliam Wu		#size-cells = <1>;
1913880af45SWilliam Wu
19283086adfSDavid Wu		io_domains: io-domains {
19383086adfSDavid Wu			compatible = "rockchip,rk3228-io-voltage-domain";
19483086adfSDavid Wu			status = "disabled";
19583086adfSDavid Wu		};
19683086adfSDavid Wu
197623ba75aSAlex Bee		power: power-controller {
198623ba75aSAlex Bee			compatible = "rockchip,rk3228-power-controller";
199623ba75aSAlex Bee			#power-domain-cells = <1>;
200623ba75aSAlex Bee			#address-cells = <1>;
201623ba75aSAlex Bee			#size-cells = <0>;
202623ba75aSAlex Bee
203623ba75aSAlex Bee			power-domain@RK3228_PD_VIO {
204623ba75aSAlex Bee				reg = <RK3228_PD_VIO>;
205623ba75aSAlex Bee				clocks = <&cru ACLK_HDCP>,
206623ba75aSAlex Bee					 <&cru SCLK_HDCP>,
207623ba75aSAlex Bee					 <&cru ACLK_IEP>,
208623ba75aSAlex Bee					 <&cru HCLK_IEP>,
209623ba75aSAlex Bee					 <&cru ACLK_RGA>,
210623ba75aSAlex Bee					 <&cru HCLK_RGA>,
211623ba75aSAlex Bee					 <&cru SCLK_RGA>;
212623ba75aSAlex Bee				pm_qos = <&qos_hdcp>,
213623ba75aSAlex Bee					 <&qos_iep>,
214623ba75aSAlex Bee					 <&qos_rga_r>,
215623ba75aSAlex Bee					 <&qos_rga_w>;
216623ba75aSAlex Bee				#power-domain-cells = <0>;
217623ba75aSAlex Bee			};
218623ba75aSAlex Bee
219623ba75aSAlex Bee			power-domain@RK3228_PD_VOP {
220623ba75aSAlex Bee				reg = <RK3228_PD_VOP>;
221623ba75aSAlex Bee				clocks = <&cru ACLK_VOP>,
222623ba75aSAlex Bee					 <&cru DCLK_VOP>,
223623ba75aSAlex Bee					 <&cru HCLK_VOP>;
224623ba75aSAlex Bee				pm_qos = <&qos_vop>;
225623ba75aSAlex Bee				#power-domain-cells = <0>;
226623ba75aSAlex Bee			};
227623ba75aSAlex Bee
228623ba75aSAlex Bee			power-domain@RK3228_PD_VPU {
229623ba75aSAlex Bee				reg = <RK3228_PD_VPU>;
230623ba75aSAlex Bee				clocks = <&cru ACLK_VPU>,
231623ba75aSAlex Bee					 <&cru HCLK_VPU>;
232623ba75aSAlex Bee				pm_qos = <&qos_vpu>;
233623ba75aSAlex Bee				#power-domain-cells = <0>;
234623ba75aSAlex Bee			};
235623ba75aSAlex Bee
236623ba75aSAlex Bee			power-domain@RK3228_PD_RKVDEC {
237623ba75aSAlex Bee				reg = <RK3228_PD_RKVDEC>;
238623ba75aSAlex Bee				clocks = <&cru ACLK_RKVDEC>,
239623ba75aSAlex Bee					 <&cru HCLK_RKVDEC>,
240623ba75aSAlex Bee					 <&cru SCLK_VDEC_CABAC>,
241623ba75aSAlex Bee					 <&cru SCLK_VDEC_CORE>;
242623ba75aSAlex Bee				pm_qos = <&qos_rkvdec_r>,
243623ba75aSAlex Bee					 <&qos_rkvdec_w>;
244623ba75aSAlex Bee				#power-domain-cells = <0>;
245623ba75aSAlex Bee			};
246623ba75aSAlex Bee
247623ba75aSAlex Bee			power-domain@RK3228_PD_GPU {
248623ba75aSAlex Bee				reg = <RK3228_PD_GPU>;
249623ba75aSAlex Bee				clocks = <&cru ACLK_GPU>;
250623ba75aSAlex Bee				pm_qos = <&qos_gpu>;
251623ba75aSAlex Bee				#power-domain-cells = <0>;
252623ba75aSAlex Bee			};
253623ba75aSAlex Bee		};
254623ba75aSAlex Bee
2552fd2300aSJohan Jonker		u2phy0: usb2phy@760 {
2563880af45SWilliam Wu			compatible = "rockchip,rk3228-usb2phy";
2573880af45SWilliam Wu			reg = <0x0760 0x0c>;
2583880af45SWilliam Wu			clocks = <&cru SCLK_OTGPHY0>;
2593880af45SWilliam Wu			clock-names = "phyclk";
2603880af45SWilliam Wu			clock-output-names = "usb480m_phy0";
2613880af45SWilliam Wu			#clock-cells = <0>;
2623880af45SWilliam Wu			status = "disabled";
2633880af45SWilliam Wu
2643880af45SWilliam Wu			u2phy0_otg: otg-port {
2653880af45SWilliam Wu				interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
2663880af45SWilliam Wu					     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
2673880af45SWilliam Wu					     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
2683880af45SWilliam Wu				interrupt-names = "otg-bvalid", "otg-id",
2693880af45SWilliam Wu						  "linestate";
2703880af45SWilliam Wu				#phy-cells = <0>;
2713880af45SWilliam Wu				status = "disabled";
2723880af45SWilliam Wu			};
2733880af45SWilliam Wu
2743880af45SWilliam Wu			u2phy0_host: host-port {
2753880af45SWilliam Wu				interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
2763880af45SWilliam Wu				interrupt-names = "linestate";
2773880af45SWilliam Wu				#phy-cells = <0>;
2783880af45SWilliam Wu				status = "disabled";
2793880af45SWilliam Wu			};
2803880af45SWilliam Wu		};
2813880af45SWilliam Wu
2822fd2300aSJohan Jonker		u2phy1: usb2phy@800 {
2833880af45SWilliam Wu			compatible = "rockchip,rk3228-usb2phy";
2843880af45SWilliam Wu			reg = <0x0800 0x0c>;
2853880af45SWilliam Wu			clocks = <&cru SCLK_OTGPHY1>;
2863880af45SWilliam Wu			clock-names = "phyclk";
2873880af45SWilliam Wu			clock-output-names = "usb480m_phy1";
2883880af45SWilliam Wu			#clock-cells = <0>;
2893880af45SWilliam Wu			status = "disabled";
2903880af45SWilliam Wu
2913880af45SWilliam Wu			u2phy1_otg: otg-port {
2923880af45SWilliam Wu				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
2933880af45SWilliam Wu				interrupt-names = "linestate";
2943880af45SWilliam Wu				#phy-cells = <0>;
2953880af45SWilliam Wu				status = "disabled";
2963880af45SWilliam Wu			};
2973880af45SWilliam Wu
2983880af45SWilliam Wu			u2phy1_host: host-port {
2993880af45SWilliam Wu				interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
3003880af45SWilliam Wu				interrupt-names = "linestate";
3013880af45SWilliam Wu				#phy-cells = <0>;
3023880af45SWilliam Wu				status = "disabled";
3033880af45SWilliam Wu			};
3043880af45SWilliam Wu		};
3059848ebebSJeffy Chen	};
3069848ebebSJeffy Chen
3079848ebebSJeffy Chen	uart0: serial@11010000 {
3089848ebebSJeffy Chen		compatible = "snps,dw-apb-uart";
3099848ebebSJeffy Chen		reg = <0x11010000 0x100>;
3109848ebebSJeffy Chen		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
3119848ebebSJeffy Chen		clock-frequency = <24000000>;
3129848ebebSJeffy Chen		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
3139848ebebSJeffy Chen		clock-names = "baudclk", "apb_pclk";
3149848ebebSJeffy Chen		pinctrl-names = "default";
3159848ebebSJeffy Chen		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
3169848ebebSJeffy Chen		reg-shift = <2>;
3179848ebebSJeffy Chen		reg-io-width = <4>;
3189848ebebSJeffy Chen		status = "disabled";
3199848ebebSJeffy Chen	};
3209848ebebSJeffy Chen
3219848ebebSJeffy Chen	uart1: serial@11020000 {
3229848ebebSJeffy Chen		compatible = "snps,dw-apb-uart";
3239848ebebSJeffy Chen		reg = <0x11020000 0x100>;
3249848ebebSJeffy Chen		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
3259848ebebSJeffy Chen		clock-frequency = <24000000>;
3269848ebebSJeffy Chen		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
3279848ebebSJeffy Chen		clock-names = "baudclk", "apb_pclk";
3289848ebebSJeffy Chen		pinctrl-names = "default";
3299848ebebSJeffy Chen		pinctrl-0 = <&uart1_xfer>;
3309848ebebSJeffy Chen		reg-shift = <2>;
3319848ebebSJeffy Chen		reg-io-width = <4>;
3329848ebebSJeffy Chen		status = "disabled";
3339848ebebSJeffy Chen	};
3349848ebebSJeffy Chen
3359848ebebSJeffy Chen	uart2: serial@11030000 {
3369848ebebSJeffy Chen		compatible = "snps,dw-apb-uart";
3379848ebebSJeffy Chen		reg = <0x11030000 0x100>;
3389848ebebSJeffy Chen		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
3399848ebebSJeffy Chen		clock-frequency = <24000000>;
3409848ebebSJeffy Chen		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
3419848ebebSJeffy Chen		clock-names = "baudclk", "apb_pclk";
3429848ebebSJeffy Chen		pinctrl-names = "default";
3439848ebebSJeffy Chen		pinctrl-0 = <&uart2_xfer>;
3449848ebebSJeffy Chen		reg-shift = <2>;
3459848ebebSJeffy Chen		reg-io-width = <4>;
3469848ebebSJeffy Chen		status = "disabled";
3479848ebebSJeffy Chen	};
3489848ebebSJeffy Chen
3499098be63SFinley Xiao	efuse: efuse@11040000 {
3509098be63SFinley Xiao		compatible = "rockchip,rk3228-efuse";
3519098be63SFinley Xiao		reg = <0x11040000 0x20>;
3529098be63SFinley Xiao		clocks = <&cru PCLK_EFUSE_256>;
3539098be63SFinley Xiao		clock-names = "pclk_efuse";
3549098be63SFinley Xiao		#address-cells = <1>;
3559098be63SFinley Xiao		#size-cells = <1>;
3569098be63SFinley Xiao
3579098be63SFinley Xiao		/* Data cells */
3589098be63SFinley Xiao		efuse_id: id@7 {
3599098be63SFinley Xiao			reg = <0x7 0x10>;
3609098be63SFinley Xiao		};
3619098be63SFinley Xiao		cpu_leakage: cpu_leakage@17 {
3629098be63SFinley Xiao			reg = <0x17 0x1>;
3639098be63SFinley Xiao		};
3649098be63SFinley Xiao	};
3659098be63SFinley Xiao
366d549df4bSYakir Yang	i2c0: i2c@11050000 {
367d549df4bSYakir Yang		compatible = "rockchip,rk3228-i2c";
368d549df4bSYakir Yang		reg = <0x11050000 0x1000>;
369d549df4bSYakir Yang		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
370d549df4bSYakir Yang		#address-cells = <1>;
371d549df4bSYakir Yang		#size-cells = <0>;
372d549df4bSYakir Yang		clock-names = "i2c";
373d549df4bSYakir Yang		clocks = <&cru PCLK_I2C0>;
374d549df4bSYakir Yang		pinctrl-names = "default";
375d549df4bSYakir Yang		pinctrl-0 = <&i2c0_xfer>;
376d549df4bSYakir Yang		status = "disabled";
377d549df4bSYakir Yang	};
378d549df4bSYakir Yang
379d549df4bSYakir Yang	i2c1: i2c@11060000 {
380d549df4bSYakir Yang		compatible = "rockchip,rk3228-i2c";
381d549df4bSYakir Yang		reg = <0x11060000 0x1000>;
382d549df4bSYakir Yang		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
383d549df4bSYakir Yang		#address-cells = <1>;
384d549df4bSYakir Yang		#size-cells = <0>;
385d549df4bSYakir Yang		clock-names = "i2c";
386d549df4bSYakir Yang		clocks = <&cru PCLK_I2C1>;
387d549df4bSYakir Yang		pinctrl-names = "default";
388d549df4bSYakir Yang		pinctrl-0 = <&i2c1_xfer>;
389d549df4bSYakir Yang		status = "disabled";
390d549df4bSYakir Yang	};
391d549df4bSYakir Yang
392d549df4bSYakir Yang	i2c2: i2c@11070000 {
393d549df4bSYakir Yang		compatible = "rockchip,rk3228-i2c";
394d549df4bSYakir Yang		reg = <0x11070000 0x1000>;
395d549df4bSYakir Yang		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
396d549df4bSYakir Yang		#address-cells = <1>;
397d549df4bSYakir Yang		#size-cells = <0>;
398d549df4bSYakir Yang		clock-names = "i2c";
399d549df4bSYakir Yang		clocks = <&cru PCLK_I2C2>;
400d549df4bSYakir Yang		pinctrl-names = "default";
401d549df4bSYakir Yang		pinctrl-0 = <&i2c2_xfer>;
402d549df4bSYakir Yang		status = "disabled";
403d549df4bSYakir Yang	};
404d549df4bSYakir Yang
405d549df4bSYakir Yang	i2c3: i2c@11080000 {
406d549df4bSYakir Yang		compatible = "rockchip,rk3228-i2c";
407d549df4bSYakir Yang		reg = <0x11080000 0x1000>;
408d549df4bSYakir Yang		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
409d549df4bSYakir Yang		#address-cells = <1>;
410d549df4bSYakir Yang		#size-cells = <0>;
411d549df4bSYakir Yang		clock-names = "i2c";
412d549df4bSYakir Yang		clocks = <&cru PCLK_I2C3>;
413d549df4bSYakir Yang		pinctrl-names = "default";
414d549df4bSYakir Yang		pinctrl-0 = <&i2c3_xfer>;
415d549df4bSYakir Yang		status = "disabled";
416d549df4bSYakir Yang	};
417d549df4bSYakir Yang
418febdf639SHuibin Hong	spi0: spi@11090000 {
419febdf639SHuibin Hong		compatible = "rockchip,rk3228-spi";
420febdf639SHuibin Hong		reg = <0x11090000 0x1000>;
421febdf639SHuibin Hong		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
422febdf639SHuibin Hong		#address-cells = <1>;
423febdf639SHuibin Hong		#size-cells = <0>;
424febdf639SHuibin Hong		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
425febdf639SHuibin Hong		clock-names = "spiclk", "apb_pclk";
426febdf639SHuibin Hong		pinctrl-names = "default";
427febdf639SHuibin Hong		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0 &spi0_cs1>;
428febdf639SHuibin Hong		status = "disabled";
429febdf639SHuibin Hong	};
430febdf639SHuibin Hong
431fa206984SFrank Wang	wdt: watchdog@110a0000 {
4329ceb98f1SJohan Jonker		compatible = "rockchip,rk3228-wdt", "snps,dw-wdt";
433fa206984SFrank Wang		reg = <0x110a0000 0x100>;
434fa206984SFrank Wang		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
435fa206984SFrank Wang		clocks = <&cru PCLK_CPU>;
436fa206984SFrank Wang		status = "disabled";
437fa206984SFrank Wang	};
438fa206984SFrank Wang
4399848ebebSJeffy Chen	pwm0: pwm@110b0000 {
4409848ebebSJeffy Chen		compatible = "rockchip,rk3288-pwm";
4419848ebebSJeffy Chen		reg = <0x110b0000 0x10>;
4429848ebebSJeffy Chen		#pwm-cells = <3>;
4439848ebebSJeffy Chen		clocks = <&cru PCLK_PWM>;
4449848ebebSJeffy Chen		pinctrl-names = "default";
4459848ebebSJeffy Chen		pinctrl-0 = <&pwm0_pin>;
4469848ebebSJeffy Chen		status = "disabled";
4479848ebebSJeffy Chen	};
4489848ebebSJeffy Chen
4499848ebebSJeffy Chen	pwm1: pwm@110b0010 {
4509848ebebSJeffy Chen		compatible = "rockchip,rk3288-pwm";
4519848ebebSJeffy Chen		reg = <0x110b0010 0x10>;
4529848ebebSJeffy Chen		#pwm-cells = <3>;
4539848ebebSJeffy Chen		clocks = <&cru PCLK_PWM>;
4549848ebebSJeffy Chen		pinctrl-names = "default";
4559848ebebSJeffy Chen		pinctrl-0 = <&pwm1_pin>;
4569848ebebSJeffy Chen		status = "disabled";
4579848ebebSJeffy Chen	};
4589848ebebSJeffy Chen
4599848ebebSJeffy Chen	pwm2: pwm@110b0020 {
4609848ebebSJeffy Chen		compatible = "rockchip,rk3288-pwm";
4619848ebebSJeffy Chen		reg = <0x110b0020 0x10>;
4629848ebebSJeffy Chen		#pwm-cells = <3>;
4639848ebebSJeffy Chen		clocks = <&cru PCLK_PWM>;
4649848ebebSJeffy Chen		pinctrl-names = "default";
4659848ebebSJeffy Chen		pinctrl-0 = <&pwm2_pin>;
4669848ebebSJeffy Chen		status = "disabled";
4679848ebebSJeffy Chen	};
4689848ebebSJeffy Chen
4699848ebebSJeffy Chen	pwm3: pwm@110b0030 {
4709848ebebSJeffy Chen		compatible = "rockchip,rk3288-pwm";
4719848ebebSJeffy Chen		reg = <0x110b0030 0x10>;
4729848ebebSJeffy Chen		#pwm-cells = <2>;
4739848ebebSJeffy Chen		clocks = <&cru PCLK_PWM>;
4749848ebebSJeffy Chen		pinctrl-names = "default";
4759848ebebSJeffy Chen		pinctrl-0 = <&pwm3_pin>;
4769848ebebSJeffy Chen		status = "disabled";
4779848ebebSJeffy Chen	};
4789848ebebSJeffy Chen
4799848ebebSJeffy Chen	timer: timer@110c0000 {
480b72af346SAlexander Kochetkov		compatible = "rockchip,rk3228-timer", "rockchip,rk3288-timer";
4819848ebebSJeffy Chen		reg = <0x110c0000 0x20>;
4829848ebebSJeffy Chen		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
4833e6f8124SJohan Jonker		clocks = <&cru PCLK_TIMER>, <&xin24m>;
4843e6f8124SJohan Jonker		clock-names = "pclk", "timer";
4859848ebebSJeffy Chen	};
4869848ebebSJeffy Chen
4879848ebebSJeffy Chen	cru: clock-controller@110e0000 {
4889848ebebSJeffy Chen		compatible = "rockchip,rk3228-cru";
4899848ebebSJeffy Chen		reg = <0x110e0000 0x1000>;
490840fc447SJohan Jonker		clocks = <&xin24m>;
491840fc447SJohan Jonker		clock-names = "xin24m";
4929848ebebSJeffy Chen		rockchip,grf = <&grf>;
4939848ebebSJeffy Chen		#clock-cells = <1>;
4949848ebebSJeffy Chen		#reset-cells = <1>;
49530ee5814SElaine Zhang		assigned-clocks =
49630ee5814SElaine Zhang			<&cru PLL_GPLL>, <&cru ARMCLK>,
49730ee5814SElaine Zhang			<&cru PLL_CPLL>, <&cru ACLK_PERI>,
49830ee5814SElaine Zhang			<&cru HCLK_PERI>, <&cru PCLK_PERI>,
49930ee5814SElaine Zhang			<&cru ACLK_CPU>, <&cru HCLK_CPU>,
50030ee5814SElaine Zhang			<&cru PCLK_CPU>;
50130ee5814SElaine Zhang		assigned-clock-rates =
50230ee5814SElaine Zhang			<594000000>, <816000000>,
50330ee5814SElaine Zhang			<500000000>, <150000000>,
50430ee5814SElaine Zhang			<150000000>, <75000000>,
50530ee5814SElaine Zhang			<150000000>, <150000000>,
50630ee5814SElaine Zhang			<75000000>;
5079848ebebSJeffy Chen	};
5089848ebebSJeffy Chen
509146c9a34SJohan Jonker	pdma: dma-controller@110f0000 {
5105eae5696SRobin Murphy		compatible = "arm,pl330", "arm,primecell";
5115eae5696SRobin Murphy		reg = <0x110f0000 0x4000>;
5125eae5696SRobin Murphy		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
5135eae5696SRobin Murphy			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
5145eae5696SRobin Murphy		#dma-cells = <1>;
5155eae5696SRobin Murphy		arm,pl330-periph-burst;
5165eae5696SRobin Murphy		clocks = <&cru ACLK_DMAC>;
5175eae5696SRobin Murphy		clock-names = "apb_pclk";
5185eae5696SRobin Murphy	};
5195eae5696SRobin Murphy
5207796031eSCaesar Wang	thermal-zones {
5217796031eSCaesar Wang		cpu_thermal: cpu-thermal {
5227796031eSCaesar Wang			polling-delay-passive = <100>; /* milliseconds */
5237796031eSCaesar Wang			polling-delay = <5000>; /* milliseconds */
5247796031eSCaesar Wang
5257796031eSCaesar Wang			thermal-sensors = <&tsadc 0>;
5267796031eSCaesar Wang
5277796031eSCaesar Wang			trips {
5287796031eSCaesar Wang				cpu_alert0: cpu_alert0 {
5297796031eSCaesar Wang					temperature = <70000>; /* millicelsius */
5307796031eSCaesar Wang					hysteresis = <2000>; /* millicelsius */
5317796031eSCaesar Wang					type = "passive";
5327796031eSCaesar Wang				};
5337796031eSCaesar Wang				cpu_alert1: cpu_alert1 {
5347796031eSCaesar Wang					temperature = <75000>; /* millicelsius */
5357796031eSCaesar Wang					hysteresis = <2000>; /* millicelsius */
5367796031eSCaesar Wang					type = "passive";
5377796031eSCaesar Wang				};
5387796031eSCaesar Wang				cpu_crit: cpu_crit {
5397796031eSCaesar Wang					temperature = <90000>; /* millicelsius */
5407796031eSCaesar Wang					hysteresis = <2000>; /* millicelsius */
5417796031eSCaesar Wang					type = "critical";
5427796031eSCaesar Wang				};
5437796031eSCaesar Wang			};
5447796031eSCaesar Wang
5457796031eSCaesar Wang			cooling-maps {
5467796031eSCaesar Wang				map0 {
5477796031eSCaesar Wang					trip = <&cpu_alert0>;
5487796031eSCaesar Wang					cooling-device =
54999935bd4SViresh Kumar						<&cpu0 THERMAL_NO_LIMIT 6>,
55099935bd4SViresh Kumar						<&cpu1 THERMAL_NO_LIMIT 6>,
55199935bd4SViresh Kumar						<&cpu2 THERMAL_NO_LIMIT 6>,
55299935bd4SViresh Kumar						<&cpu3 THERMAL_NO_LIMIT 6>;
5537796031eSCaesar Wang				};
5547796031eSCaesar Wang				map1 {
5557796031eSCaesar Wang					trip = <&cpu_alert1>;
5567796031eSCaesar Wang					cooling-device =
55799935bd4SViresh Kumar						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
55899935bd4SViresh Kumar						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
55999935bd4SViresh Kumar						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
56099935bd4SViresh Kumar						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5617796031eSCaesar Wang				};
5627796031eSCaesar Wang			};
5637796031eSCaesar Wang		};
5647796031eSCaesar Wang	};
5657796031eSCaesar Wang
5667796031eSCaesar Wang	tsadc: tsadc@11150000 {
5677796031eSCaesar Wang		compatible = "rockchip,rk3228-tsadc";
5687796031eSCaesar Wang		reg = <0x11150000 0x100>;
5697796031eSCaesar Wang		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
5707796031eSCaesar Wang		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
5717796031eSCaesar Wang		clock-names = "tsadc", "apb_pclk";
5722b3f2f37SRocky Hao		assigned-clocks = <&cru SCLK_TSADC>;
5732b3f2f37SRocky Hao		assigned-clock-rates = <32768>;
5747796031eSCaesar Wang		resets = <&cru SRST_TSADC>;
5757796031eSCaesar Wang		reset-names = "tsadc-apb";
5767796031eSCaesar Wang		pinctrl-names = "init", "default", "sleep";
577fff987e7SJohan Jonker		pinctrl-0 = <&otp_pin>;
5787796031eSCaesar Wang		pinctrl-1 = <&otp_out>;
579fff987e7SJohan Jonker		pinctrl-2 = <&otp_pin>;
580d5c24e20SEzequiel Garcia		#thermal-sensor-cells = <1>;
5817796031eSCaesar Wang		rockchip,hw-tshut-temp = <95000>;
5827796031eSCaesar Wang		status = "disabled";
5837796031eSCaesar Wang	};
5847796031eSCaesar Wang
585519574e3SJustin Swartz	hdmi_phy: hdmi-phy@12030000 {
586519574e3SJustin Swartz		compatible = "rockchip,rk3228-hdmi-phy";
587519574e3SJustin Swartz		reg = <0x12030000 0x10000>;
588519574e3SJustin Swartz		clocks = <&cru PCLK_HDMI_PHY>, <&xin24m>, <&cru DCLK_HDMI_PHY>;
589519574e3SJustin Swartz		clock-names = "sysclk", "refoclk", "refpclk";
590519574e3SJustin Swartz		#clock-cells = <0>;
591519574e3SJustin Swartz		clock-output-names = "hdmiphy_phy";
592519574e3SJustin Swartz		#phy-cells = <0>;
593519574e3SJustin Swartz		status = "disabled";
594519574e3SJustin Swartz	};
595519574e3SJustin Swartz
596451ef43bSHeiko Stuebner	gpu: gpu@20000000 {
597451ef43bSHeiko Stuebner		compatible = "rockchip,rk3228-mali", "arm,mali-400";
598451ef43bSHeiko Stuebner		reg = <0x20000000 0x10000>;
599451ef43bSHeiko Stuebner		interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
600451ef43bSHeiko Stuebner			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
601451ef43bSHeiko Stuebner			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
602451ef43bSHeiko Stuebner			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
603451ef43bSHeiko Stuebner			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
604451ef43bSHeiko Stuebner			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
605451ef43bSHeiko Stuebner		interrupt-names = "gp",
606451ef43bSHeiko Stuebner				  "gpmmu",
607451ef43bSHeiko Stuebner				  "pp0",
6080133c492SHeiko Stuebner				  "ppmmu0",
609451ef43bSHeiko Stuebner				  "pp1",
6100133c492SHeiko Stuebner				  "ppmmu1";
611451ef43bSHeiko Stuebner		clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
612b14f3898SJohan Jonker		clock-names = "bus", "core";
613623ba75aSAlex Bee		power-domains = <&power RK3228_PD_GPU>;
614451ef43bSHeiko Stuebner		resets = <&cru SRST_GPU_A>;
615451ef43bSHeiko Stuebner		status = "disabled";
616451ef43bSHeiko Stuebner	};
617451ef43bSHeiko Stuebner
61836e9534dSAlex Bee	vpu: video-codec@20020000 {
61936e9534dSAlex Bee		compatible = "rockchip,rk3228-vpu", "rockchip,rk3399-vpu";
62036e9534dSAlex Bee		reg = <0x20020000 0x800>;
62136e9534dSAlex Bee		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
62236e9534dSAlex Bee			     <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>;
62336e9534dSAlex Bee		interrupt-names = "vepu", "vdpu";
62436e9534dSAlex Bee		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
62536e9534dSAlex Bee		clock-names = "aclk", "hclk";
62636e9534dSAlex Bee		iommus = <&vpu_mmu>;
62736e9534dSAlex Bee		power-domains = <&power RK3228_PD_VPU>;
62836e9534dSAlex Bee	};
62936e9534dSAlex Bee
6304e1b222dSSimon Xue	vpu_mmu: iommu@20020800 {
6314e1b222dSSimon Xue		compatible = "rockchip,iommu";
6324e1b222dSSimon Xue		reg = <0x20020800 0x100>;
6334e1b222dSSimon Xue		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
634c78751f9SJeffy Chen		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
635c78751f9SJeffy Chen		clock-names = "aclk", "iface";
636623ba75aSAlex Bee		power-domains = <&power RK3228_PD_VPU>;
6376b023929SBenjamin Gaignard		#iommu-cells = <0>;
63836e9534dSAlex Bee	};
63936e9534dSAlex Bee
64036e9534dSAlex Bee	vdec: video-codec@20030000 {
64136e9534dSAlex Bee		compatible = "rockchip,rk3228-vdec", "rockchip,rk3399-vdec";
64236e9534dSAlex Bee		reg = <0x20030000 0x480>;
64336e9534dSAlex Bee		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
64436e9534dSAlex Bee		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>,
64536e9534dSAlex Bee			 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>;
64636e9534dSAlex Bee		clock-names = "axi", "ahb", "cabac", "core";
64736e9534dSAlex Bee		assigned-clocks = <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>;
64836e9534dSAlex Bee		assigned-clock-rates = <300000000>, <300000000>;
64936e9534dSAlex Bee		iommus = <&vdec_mmu>;
65036e9534dSAlex Bee		power-domains = <&power RK3228_PD_RKVDEC>;
6514e1b222dSSimon Xue	};
6524e1b222dSSimon Xue
6534e1b222dSSimon Xue	vdec_mmu: iommu@20030480 {
6544e1b222dSSimon Xue		compatible = "rockchip,iommu";
6554e1b222dSSimon Xue		reg = <0x20030480 0x40>, <0x200304c0 0x40>;
6564e1b222dSSimon Xue		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
657c78751f9SJeffy Chen		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
658c78751f9SJeffy Chen		clock-names = "aclk", "iface";
659623ba75aSAlex Bee		power-domains = <&power RK3228_PD_RKVDEC>;
6606b023929SBenjamin Gaignard		#iommu-cells = <0>;
6614e1b222dSSimon Xue	};
6624e1b222dSSimon Xue
663519574e3SJustin Swartz	vop: vop@20050000 {
664519574e3SJustin Swartz		compatible = "rockchip,rk3228-vop";
665519574e3SJustin Swartz		reg = <0x20050000 0x1ffc>;
666519574e3SJustin Swartz		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
667519574e3SJustin Swartz		clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>;
668519574e3SJustin Swartz		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
669519574e3SJustin Swartz		resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
670519574e3SJustin Swartz		reset-names = "axi", "ahb", "dclk";
671519574e3SJustin Swartz		iommus = <&vop_mmu>;
672623ba75aSAlex Bee		power-domains = <&power RK3228_PD_VOP>;
673519574e3SJustin Swartz		status = "disabled";
674519574e3SJustin Swartz
675519574e3SJustin Swartz		vop_out: port {
676519574e3SJustin Swartz			#address-cells = <1>;
677519574e3SJustin Swartz			#size-cells = <0>;
678519574e3SJustin Swartz
679519574e3SJustin Swartz			vop_out_hdmi: endpoint@0 {
680519574e3SJustin Swartz				reg = <0>;
681519574e3SJustin Swartz				remote-endpoint = <&hdmi_in_vop>;
682519574e3SJustin Swartz			};
683519574e3SJustin Swartz		};
684519574e3SJustin Swartz	};
685519574e3SJustin Swartz
6864e1b222dSSimon Xue	vop_mmu: iommu@20053f00 {
6874e1b222dSSimon Xue		compatible = "rockchip,iommu";
6884e1b222dSSimon Xue		reg = <0x20053f00 0x100>;
6894e1b222dSSimon Xue		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
690c78751f9SJeffy Chen		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
691c78751f9SJeffy Chen		clock-names = "aclk", "iface";
692623ba75aSAlex Bee		power-domains = <&power RK3228_PD_VOP>;
693836e2abfSJustin Swartz		#iommu-cells = <0>;
6944e1b222dSSimon Xue		status = "disabled";
6954e1b222dSSimon Xue	};
6964e1b222dSSimon Xue
69754b1a4e0SJustin Swartz	rga: rga@20060000 {
69854b1a4e0SJustin Swartz		compatible = "rockchip,rk3228-rga", "rockchip,rk3288-rga";
69954b1a4e0SJustin Swartz		reg = <0x20060000 0x1000>;
70054b1a4e0SJustin Swartz		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
70154b1a4e0SJustin Swartz		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
70254b1a4e0SJustin Swartz		clock-names = "aclk", "hclk", "sclk";
703623ba75aSAlex Bee		power-domains = <&power RK3228_PD_VIO>;
70454b1a4e0SJustin Swartz		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
70554b1a4e0SJustin Swartz		reset-names = "core", "axi", "ahb";
70654b1a4e0SJustin Swartz	};
70754b1a4e0SJustin Swartz
7084e1b222dSSimon Xue	iep_mmu: iommu@20070800 {
7094e1b222dSSimon Xue		compatible = "rockchip,iommu";
7104e1b222dSSimon Xue		reg = <0x20070800 0x100>;
7114e1b222dSSimon Xue		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
712c78751f9SJeffy Chen		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
713c78751f9SJeffy Chen		clock-names = "aclk", "iface";
714623ba75aSAlex Bee		power-domains = <&power RK3228_PD_VIO>;
7156b023929SBenjamin Gaignard		#iommu-cells = <0>;
7164e1b222dSSimon Xue		status = "disabled";
7174e1b222dSSimon Xue	};
7184e1b222dSSimon Xue
719519574e3SJustin Swartz	hdmi: hdmi@200a0000 {
720519574e3SJustin Swartz		compatible = "rockchip,rk3228-dw-hdmi";
721519574e3SJustin Swartz		reg = <0x200a0000 0x20000>;
722519574e3SJustin Swartz		reg-io-width = <4>;
723519574e3SJustin Swartz		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
724519574e3SJustin Swartz		assigned-clocks = <&cru SCLK_HDMI_PHY>;
725519574e3SJustin Swartz		assigned-clock-parents = <&hdmi_phy>;
726be4e65bdSSascha Hauer		clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>;
727be4e65bdSSascha Hauer		clock-names = "iahb", "isfr", "cec";
728519574e3SJustin Swartz		pinctrl-names = "default";
729519574e3SJustin Swartz		pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>;
730519574e3SJustin Swartz		resets = <&cru SRST_HDMI_P>;
731519574e3SJustin Swartz		reset-names = "hdmi";
732519574e3SJustin Swartz		phys = <&hdmi_phy>;
733519574e3SJustin Swartz		phy-names = "hdmi";
734519574e3SJustin Swartz		rockchip,grf = <&grf>;
735519574e3SJustin Swartz		status = "disabled";
736519574e3SJustin Swartz
737519574e3SJustin Swartz		ports {
738519574e3SJustin Swartz			#address-cells = <1>;
739519574e3SJustin Swartz			#size-cells = <0>;
74015a5ed03SJohan Jonker
74115a5ed03SJohan Jonker			hdmi_in: port@0 {
742519574e3SJustin Swartz				reg = <0>;
74315a5ed03SJohan Jonker
74415a5ed03SJohan Jonker				hdmi_in_vop: endpoint {
745519574e3SJustin Swartz					remote-endpoint = <&vop_out_hdmi>;
746519574e3SJustin Swartz				};
747519574e3SJustin Swartz			};
74815a5ed03SJohan Jonker
74915a5ed03SJohan Jonker			hdmi_out: port@1 {
75015a5ed03SJohan Jonker				reg = <1>;
75115a5ed03SJohan Jonker			};
752519574e3SJustin Swartz		};
753519574e3SJustin Swartz	};
754519574e3SJustin Swartz
755fed1fc51SJohan Jonker	sdmmc: mmc@30000000 {
756e409fc3dSShawn Lin		compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
757e409fc3dSShawn Lin		reg = <0x30000000 0x4000>;
758e409fc3dSShawn Lin		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
759e409fc3dSShawn Lin		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
760e409fc3dSShawn Lin			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
761e78c6371SRobin Murphy		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
762e409fc3dSShawn Lin		fifo-depth = <0x100>;
763e409fc3dSShawn Lin		pinctrl-names = "default";
764e409fc3dSShawn Lin		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
765e409fc3dSShawn Lin		status = "disabled";
766e409fc3dSShawn Lin	};
767e409fc3dSShawn Lin
768fed1fc51SJohan Jonker	sdio: mmc@30010000 {
769e409fc3dSShawn Lin		compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
770e409fc3dSShawn Lin		reg = <0x30010000 0x4000>;
771e409fc3dSShawn Lin		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
772e409fc3dSShawn Lin		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
773e409fc3dSShawn Lin			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
774e78c6371SRobin Murphy		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
775e409fc3dSShawn Lin		fifo-depth = <0x100>;
776e409fc3dSShawn Lin		pinctrl-names = "default";
777e409fc3dSShawn Lin		pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>;
778e409fc3dSShawn Lin		status = "disabled";
779e409fc3dSShawn Lin	};
780e409fc3dSShawn Lin
781fed1fc51SJohan Jonker	emmc: mmc@30020000 {
7820d6a01f8SShawn Lin		compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
7839848ebebSJeffy Chen		reg = <0x30020000 0x4000>;
7849848ebebSJeffy Chen		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
7859848ebebSJeffy Chen		clock-frequency = <37500000>;
7866a8883d6SJaehoon Chung		max-frequency = <37500000>;
7879848ebebSJeffy Chen		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
7889848ebebSJeffy Chen			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
789e78c6371SRobin Murphy		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
7909848ebebSJeffy Chen		bus-width = <8>;
7918a385eb5SJohan Jonker		rockchip,default-sample-phase = <158>;
7929848ebebSJeffy Chen		fifo-depth = <0x100>;
7939848ebebSJeffy Chen		pinctrl-names = "default";
7949848ebebSJeffy Chen		pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
7952d1f1d4cSHeiko Stuebner		resets = <&cru SRST_EMMC>;
7962d1f1d4cSHeiko Stuebner		reset-names = "reset";
7979848ebebSJeffy Chen		status = "disabled";
7989848ebebSJeffy Chen	};
7999848ebebSJeffy Chen
8003880af45SWilliam Wu	usb_otg: usb@30040000 {
8013880af45SWilliam Wu		compatible = "rockchip,rk3228-usb", "rockchip,rk3066-usb",
8023880af45SWilliam Wu			     "snps,dwc2";
8033880af45SWilliam Wu		reg = <0x30040000 0x40000>;
8043880af45SWilliam Wu		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
8053880af45SWilliam Wu		clocks = <&cru HCLK_OTG>;
8063880af45SWilliam Wu		clock-names = "otg";
8073880af45SWilliam Wu		dr_mode = "otg";
8083880af45SWilliam Wu		g-np-tx-fifo-size = <16>;
8093880af45SWilliam Wu		g-rx-fifo-size = <280>;
8103880af45SWilliam Wu		g-tx-fifo-size = <256 128 128 64 32 16>;
8113880af45SWilliam Wu		phys = <&u2phy0_otg>;
8123880af45SWilliam Wu		phy-names = "usb2-phy";
8133880af45SWilliam Wu		status = "disabled";
8143880af45SWilliam Wu	};
8153880af45SWilliam Wu
8163880af45SWilliam Wu	usb_host0_ehci: usb@30080000 {
8173880af45SWilliam Wu		compatible = "generic-ehci";
8183880af45SWilliam Wu		reg = <0x30080000 0x20000>;
8193880af45SWilliam Wu		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
8203880af45SWilliam Wu		clocks = <&cru HCLK_HOST0>, <&u2phy0>;
8213880af45SWilliam Wu		phys = <&u2phy0_host>;
8223880af45SWilliam Wu		phy-names = "usb";
8233880af45SWilliam Wu		status = "disabled";
8243880af45SWilliam Wu	};
8253880af45SWilliam Wu
8263880af45SWilliam Wu	usb_host0_ohci: usb@300a0000 {
8273880af45SWilliam Wu		compatible = "generic-ohci";
8283880af45SWilliam Wu		reg = <0x300a0000 0x20000>;
8293880af45SWilliam Wu		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
8303880af45SWilliam Wu		clocks = <&cru HCLK_HOST0>, <&u2phy0>;
8313880af45SWilliam Wu		phys = <&u2phy0_host>;
8323880af45SWilliam Wu		phy-names = "usb";
8333880af45SWilliam Wu		status = "disabled";
8343880af45SWilliam Wu	};
8353880af45SWilliam Wu
8363880af45SWilliam Wu	usb_host1_ehci: usb@300c0000 {
8373880af45SWilliam Wu		compatible = "generic-ehci";
8383880af45SWilliam Wu		reg = <0x300c0000 0x20000>;
8393880af45SWilliam Wu		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
8403880af45SWilliam Wu		clocks = <&cru HCLK_HOST1>, <&u2phy1>;
8413880af45SWilliam Wu		phys = <&u2phy1_otg>;
8423880af45SWilliam Wu		phy-names = "usb";
8433880af45SWilliam Wu		status = "disabled";
8443880af45SWilliam Wu	};
8453880af45SWilliam Wu
8463880af45SWilliam Wu	usb_host1_ohci: usb@300e0000 {
8473880af45SWilliam Wu		compatible = "generic-ohci";
8483880af45SWilliam Wu		reg = <0x300e0000 0x20000>;
8493880af45SWilliam Wu		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
8503880af45SWilliam Wu		clocks = <&cru HCLK_HOST1>, <&u2phy1>;
8513880af45SWilliam Wu		phys = <&u2phy1_otg>;
8523880af45SWilliam Wu		phy-names = "usb";
8533880af45SWilliam Wu		status = "disabled";
8543880af45SWilliam Wu	};
8553880af45SWilliam Wu
8563880af45SWilliam Wu	usb_host2_ehci: usb@30100000 {
8573880af45SWilliam Wu		compatible = "generic-ehci";
8583880af45SWilliam Wu		reg = <0x30100000 0x20000>;
8593880af45SWilliam Wu		interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
8603880af45SWilliam Wu		clocks = <&cru HCLK_HOST2>, <&u2phy1>;
8613880af45SWilliam Wu		phys = <&u2phy1_host>;
8623880af45SWilliam Wu		phy-names = "usb";
8633880af45SWilliam Wu		status = "disabled";
8643880af45SWilliam Wu	};
8653880af45SWilliam Wu
8663880af45SWilliam Wu	usb_host2_ohci: usb@30120000 {
8673880af45SWilliam Wu		compatible = "generic-ohci";
8683880af45SWilliam Wu		reg = <0x30120000 0x20000>;
8693880af45SWilliam Wu		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
8703880af45SWilliam Wu		clocks = <&cru HCLK_HOST2>, <&u2phy1>;
8713880af45SWilliam Wu		phys = <&u2phy1_host>;
8723880af45SWilliam Wu		phy-names = "usb";
8733880af45SWilliam Wu		status = "disabled";
8743880af45SWilliam Wu	};
8753880af45SWilliam Wu
8765d3d7c72SXing Zheng	gmac: ethernet@30200000 {
8775d3d7c72SXing Zheng		compatible = "rockchip,rk3228-gmac";
8785d3d7c72SXing Zheng		reg = <0x30200000 0x10000>;
8795d3d7c72SXing Zheng		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
8805d3d7c72SXing Zheng		interrupt-names = "macirq";
8815d3d7c72SXing Zheng		clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
8825d3d7c72SXing Zheng			<&cru SCLK_MAC_TX>, <&cru SCLK_MAC_REF>,
8835d3d7c72SXing Zheng			<&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>,
8845d3d7c72SXing Zheng			<&cru PCLK_GMAC>;
8855d3d7c72SXing Zheng		clock-names = "stmmaceth", "mac_clk_rx",
8865d3d7c72SXing Zheng			"mac_clk_tx", "clk_mac_ref",
8875d3d7c72SXing Zheng			"clk_mac_refout", "aclk_mac",
8885d3d7c72SXing Zheng			"pclk_mac";
8895d3d7c72SXing Zheng		resets = <&cru SRST_GMAC>;
8905d3d7c72SXing Zheng		reset-names = "stmmaceth";
8915d3d7c72SXing Zheng		rockchip,grf = <&grf>;
8925d3d7c72SXing Zheng		status = "disabled";
8935d3d7c72SXing Zheng	};
8945d3d7c72SXing Zheng
895623ba75aSAlex Bee	qos_iep: qos@31030080 {
896623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
897623ba75aSAlex Bee		reg = <0x31030080 0x20>;
898623ba75aSAlex Bee	};
899623ba75aSAlex Bee
900623ba75aSAlex Bee	qos_rga_w: qos@31030100 {
901623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
902623ba75aSAlex Bee		reg = <0x31030100 0x20>;
903623ba75aSAlex Bee	};
904623ba75aSAlex Bee
905623ba75aSAlex Bee	qos_hdcp: qos@31030180 {
906623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
907623ba75aSAlex Bee		reg = <0x31030180 0x20>;
908623ba75aSAlex Bee	};
909623ba75aSAlex Bee
910623ba75aSAlex Bee	qos_rga_r: qos@31030200 {
911623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
912623ba75aSAlex Bee		reg = <0x31030200 0x20>;
913623ba75aSAlex Bee	};
914623ba75aSAlex Bee
915623ba75aSAlex Bee	qos_vpu: qos@31040000 {
916623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
917623ba75aSAlex Bee		reg = <0x31040000 0x20>;
918623ba75aSAlex Bee	};
919623ba75aSAlex Bee
920623ba75aSAlex Bee	qos_gpu: qos@31050000 {
921623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
922623ba75aSAlex Bee		reg = <0x31050000 0x20>;
923623ba75aSAlex Bee	};
924623ba75aSAlex Bee
925623ba75aSAlex Bee	qos_vop: qos@31060000 {
926623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
927623ba75aSAlex Bee		reg = <0x31060000 0x20>;
928623ba75aSAlex Bee	};
929623ba75aSAlex Bee
930623ba75aSAlex Bee	qos_rkvdec_r: qos@31070000 {
931623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
932623ba75aSAlex Bee		reg = <0x31070000 0x20>;
933623ba75aSAlex Bee	};
934623ba75aSAlex Bee
935623ba75aSAlex Bee	qos_rkvdec_w: qos@31070080 {
936623ba75aSAlex Bee		compatible = "rockchip,rk3228-qos", "syscon";
937623ba75aSAlex Bee		reg = <0x31070080 0x20>;
938623ba75aSAlex Bee	};
939623ba75aSAlex Bee
9409848ebebSJeffy Chen	gic: interrupt-controller@32010000 {
9419848ebebSJeffy Chen		compatible = "arm,gic-400";
9429848ebebSJeffy Chen		interrupt-controller;
9439848ebebSJeffy Chen		#interrupt-cells = <3>;
9449848ebebSJeffy Chen		#address-cells = <0>;
9459848ebebSJeffy Chen
9469848ebebSJeffy Chen		reg = <0x32011000 0x1000>,
947387720c9SMarc Zyngier		      <0x32012000 0x2000>,
9489848ebebSJeffy Chen		      <0x32014000 0x2000>,
9499848ebebSJeffy Chen		      <0x32016000 0x2000>;
9509848ebebSJeffy Chen		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
9519848ebebSJeffy Chen	};
9529848ebebSJeffy Chen
9539848ebebSJeffy Chen	pinctrl: pinctrl {
9549848ebebSJeffy Chen		compatible = "rockchip,rk3228-pinctrl";
9559848ebebSJeffy Chen		rockchip,grf = <&grf>;
9569848ebebSJeffy Chen		#address-cells = <1>;
9579848ebebSJeffy Chen		#size-cells = <1>;
9589848ebebSJeffy Chen		ranges;
9599848ebebSJeffy Chen
960d7077ac5SJohan Jonker		gpio0: gpio@11110000 {
9619848ebebSJeffy Chen			compatible = "rockchip,gpio-bank";
9629848ebebSJeffy Chen			reg = <0x11110000 0x100>;
9639848ebebSJeffy Chen			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
9649848ebebSJeffy Chen			clocks = <&cru PCLK_GPIO0>;
9659848ebebSJeffy Chen
9669848ebebSJeffy Chen			gpio-controller;
9679848ebebSJeffy Chen			#gpio-cells = <2>;
9689848ebebSJeffy Chen
9699848ebebSJeffy Chen			interrupt-controller;
9709848ebebSJeffy Chen			#interrupt-cells = <2>;
9719848ebebSJeffy Chen		};
9729848ebebSJeffy Chen
973d7077ac5SJohan Jonker		gpio1: gpio@11120000 {
9749848ebebSJeffy Chen			compatible = "rockchip,gpio-bank";
9759848ebebSJeffy Chen			reg = <0x11120000 0x100>;
9769848ebebSJeffy Chen			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
9779848ebebSJeffy Chen			clocks = <&cru PCLK_GPIO1>;
9789848ebebSJeffy Chen
9799848ebebSJeffy Chen			gpio-controller;
9809848ebebSJeffy Chen			#gpio-cells = <2>;
9819848ebebSJeffy Chen
9829848ebebSJeffy Chen			interrupt-controller;
9839848ebebSJeffy Chen			#interrupt-cells = <2>;
9849848ebebSJeffy Chen		};
9859848ebebSJeffy Chen
986d7077ac5SJohan Jonker		gpio2: gpio@11130000 {
9879848ebebSJeffy Chen			compatible = "rockchip,gpio-bank";
9889848ebebSJeffy Chen			reg = <0x11130000 0x100>;
9899848ebebSJeffy Chen			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
9909848ebebSJeffy Chen			clocks = <&cru PCLK_GPIO2>;
9919848ebebSJeffy Chen
9929848ebebSJeffy Chen			gpio-controller;
9939848ebebSJeffy Chen			#gpio-cells = <2>;
9949848ebebSJeffy Chen
9959848ebebSJeffy Chen			interrupt-controller;
9969848ebebSJeffy Chen			#interrupt-cells = <2>;
9979848ebebSJeffy Chen		};
9989848ebebSJeffy Chen
999d7077ac5SJohan Jonker		gpio3: gpio@11140000 {
10009848ebebSJeffy Chen			compatible = "rockchip,gpio-bank";
10019848ebebSJeffy Chen			reg = <0x11140000 0x100>;
10029848ebebSJeffy Chen			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
10039848ebebSJeffy Chen			clocks = <&cru PCLK_GPIO3>;
10049848ebebSJeffy Chen
10059848ebebSJeffy Chen			gpio-controller;
10069848ebebSJeffy Chen			#gpio-cells = <2>;
10079848ebebSJeffy Chen
10089848ebebSJeffy Chen			interrupt-controller;
10099848ebebSJeffy Chen			#interrupt-cells = <2>;
10109848ebebSJeffy Chen		};
10119848ebebSJeffy Chen
10129848ebebSJeffy Chen		pcfg_pull_up: pcfg-pull-up {
10139848ebebSJeffy Chen			bias-pull-up;
10149848ebebSJeffy Chen		};
10159848ebebSJeffy Chen
10169848ebebSJeffy Chen		pcfg_pull_down: pcfg-pull-down {
10179848ebebSJeffy Chen			bias-pull-down;
10189848ebebSJeffy Chen		};
10199848ebebSJeffy Chen
10209848ebebSJeffy Chen		pcfg_pull_none: pcfg-pull-none {
10219848ebebSJeffy Chen			bias-disable;
10229848ebebSJeffy Chen		};
10239848ebebSJeffy Chen
10245d3d7c72SXing Zheng		pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma {
10255d3d7c72SXing Zheng			drive-strength = <12>;
10265d3d7c72SXing Zheng		};
10275d3d7c72SXing Zheng
1028e409fc3dSShawn Lin		sdmmc {
1029e409fc3dSShawn Lin			sdmmc_clk: sdmmc-clk {
1030e409fc3dSShawn Lin				rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none_drv_12ma>;
1031e409fc3dSShawn Lin			};
1032e409fc3dSShawn Lin
1033e409fc3dSShawn Lin			sdmmc_cmd: sdmmc-cmd {
1034e409fc3dSShawn Lin				rockchip,pins = <1 RK_PB7 1 &pcfg_pull_none_drv_12ma>;
1035e409fc3dSShawn Lin			};
1036e409fc3dSShawn Lin
1037e409fc3dSShawn Lin			sdmmc_bus4: sdmmc-bus4 {
1038e409fc3dSShawn Lin				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_none_drv_12ma>,
1039e409fc3dSShawn Lin						<1 RK_PC3 1 &pcfg_pull_none_drv_12ma>,
1040e409fc3dSShawn Lin						<1 RK_PC4 1 &pcfg_pull_none_drv_12ma>,
1041e409fc3dSShawn Lin						<1 RK_PC5 1 &pcfg_pull_none_drv_12ma>;
1042e409fc3dSShawn Lin			};
1043e409fc3dSShawn Lin		};
1044e409fc3dSShawn Lin
1045e409fc3dSShawn Lin		sdio {
1046e409fc3dSShawn Lin			sdio_clk: sdio-clk {
1047e409fc3dSShawn Lin				rockchip,pins = <3 RK_PA0 1 &pcfg_pull_none_drv_12ma>;
1048e409fc3dSShawn Lin			};
1049e409fc3dSShawn Lin
1050e409fc3dSShawn Lin			sdio_cmd: sdio-cmd {
1051e409fc3dSShawn Lin				rockchip,pins = <3 RK_PA1 1 &pcfg_pull_none_drv_12ma>;
1052e409fc3dSShawn Lin			};
1053e409fc3dSShawn Lin
1054e409fc3dSShawn Lin			sdio_bus4: sdio-bus4 {
1055e409fc3dSShawn Lin				rockchip,pins = <3 RK_PA2 1 &pcfg_pull_none_drv_12ma>,
1056e409fc3dSShawn Lin						<3 RK_PA3 1 &pcfg_pull_none_drv_12ma>,
1057e409fc3dSShawn Lin						<3 RK_PA4 1 &pcfg_pull_none_drv_12ma>,
1058e409fc3dSShawn Lin						<3 RK_PA5 1 &pcfg_pull_none_drv_12ma>;
1059e409fc3dSShawn Lin			};
1060e409fc3dSShawn Lin		};
1061e409fc3dSShawn Lin
10629848ebebSJeffy Chen		emmc {
10639848ebebSJeffy Chen			emmc_clk: emmc-clk {
106407f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>;
10659848ebebSJeffy Chen			};
10669848ebebSJeffy Chen
10679848ebebSJeffy Chen			emmc_cmd: emmc-cmd {
106807f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PC6 2 &pcfg_pull_none>;
10699848ebebSJeffy Chen			};
10709848ebebSJeffy Chen
10719848ebebSJeffy Chen			emmc_bus8: emmc-bus8 {
107207f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_none>,
107307f08d9cSHeiko Stuebner						<1 RK_PD1 2 &pcfg_pull_none>,
107407f08d9cSHeiko Stuebner						<1 RK_PD2 2 &pcfg_pull_none>,
107507f08d9cSHeiko Stuebner						<1 RK_PD3 2 &pcfg_pull_none>,
107607f08d9cSHeiko Stuebner						<1 RK_PD4 2 &pcfg_pull_none>,
107707f08d9cSHeiko Stuebner						<1 RK_PD5 2 &pcfg_pull_none>,
107807f08d9cSHeiko Stuebner						<1 RK_PD6 2 &pcfg_pull_none>,
107907f08d9cSHeiko Stuebner						<1 RK_PD7 2 &pcfg_pull_none>;
10809848ebebSJeffy Chen			};
10819848ebebSJeffy Chen		};
10829848ebebSJeffy Chen
10835d3d7c72SXing Zheng		gmac {
10845d3d7c72SXing Zheng			rgmii_pins: rgmii-pins {
108507f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>,
108607f08d9cSHeiko Stuebner						<2 RK_PB4 1 &pcfg_pull_none>,
108707f08d9cSHeiko Stuebner						<2 RK_PD1 1 &pcfg_pull_none>,
108807f08d9cSHeiko Stuebner						<2 RK_PC3 1 &pcfg_pull_none_drv_12ma>,
108907f08d9cSHeiko Stuebner						<2 RK_PC2 1 &pcfg_pull_none_drv_12ma>,
109007f08d9cSHeiko Stuebner						<2 RK_PC6 1 &pcfg_pull_none_drv_12ma>,
109107f08d9cSHeiko Stuebner						<2 RK_PC7 1 &pcfg_pull_none_drv_12ma>,
109207f08d9cSHeiko Stuebner						<2 RK_PB1 1 &pcfg_pull_none_drv_12ma>,
109307f08d9cSHeiko Stuebner						<2 RK_PB5 1 &pcfg_pull_none_drv_12ma>,
109407f08d9cSHeiko Stuebner						<2 RK_PC1 1 &pcfg_pull_none>,
109507f08d9cSHeiko Stuebner						<2 RK_PC0 1 &pcfg_pull_none>,
109607f08d9cSHeiko Stuebner						<2 RK_PC5 2 &pcfg_pull_none>,
109707f08d9cSHeiko Stuebner						<2 RK_PC4 2 &pcfg_pull_none>,
109807f08d9cSHeiko Stuebner						<2 RK_PB3 1 &pcfg_pull_none>,
109907f08d9cSHeiko Stuebner						<2 RK_PB0 1 &pcfg_pull_none>;
11005d3d7c72SXing Zheng			};
11015d3d7c72SXing Zheng
11025d3d7c72SXing Zheng			rmii_pins: rmii-pins {
110307f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>,
110407f08d9cSHeiko Stuebner						<2 RK_PB4 1 &pcfg_pull_none>,
110507f08d9cSHeiko Stuebner						<2 RK_PD1 1 &pcfg_pull_none>,
110607f08d9cSHeiko Stuebner						<2 RK_PC3 1 &pcfg_pull_none_drv_12ma>,
110707f08d9cSHeiko Stuebner						<2 RK_PC2 1 &pcfg_pull_none_drv_12ma>,
110807f08d9cSHeiko Stuebner						<2 RK_PB5 1 &pcfg_pull_none_drv_12ma>,
110907f08d9cSHeiko Stuebner						<2 RK_PC1 1 &pcfg_pull_none>,
111007f08d9cSHeiko Stuebner						<2 RK_PC0 1 &pcfg_pull_none>,
111107f08d9cSHeiko Stuebner						<2 RK_PB0 1 &pcfg_pull_none>,
111207f08d9cSHeiko Stuebner						<2 RK_PB7 1 &pcfg_pull_none>;
11135d3d7c72SXing Zheng			};
11145d3d7c72SXing Zheng
11155d3d7c72SXing Zheng			phy_pins: phy-pins {
111607f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PB6 2 &pcfg_pull_none>,
111707f08d9cSHeiko Stuebner						<2 RK_PB0 2 &pcfg_pull_none>;
11185d3d7c72SXing Zheng			};
11195d3d7c72SXing Zheng		};
11205d3d7c72SXing Zheng
1121519574e3SJustin Swartz		hdmi {
1122519574e3SJustin Swartz			hdmi_hpd: hdmi-hpd {
1123519574e3SJustin Swartz				rockchip,pins = <0 RK_PB7 1 &pcfg_pull_down>;
1124519574e3SJustin Swartz			};
1125519574e3SJustin Swartz
1126519574e3SJustin Swartz			hdmii2c_xfer: hdmii2c-xfer {
1127519574e3SJustin Swartz				rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>,
1128519574e3SJustin Swartz						<0 RK_PA7 2 &pcfg_pull_none>;
1129519574e3SJustin Swartz			};
1130519574e3SJustin Swartz
1131519574e3SJustin Swartz			hdmi_cec: hdmi-cec {
1132519574e3SJustin Swartz				rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>;
1133519574e3SJustin Swartz			};
1134519574e3SJustin Swartz		};
1135519574e3SJustin Swartz
1136d549df4bSYakir Yang		i2c0 {
1137d549df4bSYakir Yang			i2c0_xfer: i2c0-xfer {
113807f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>,
113907f08d9cSHeiko Stuebner						<0 RK_PA1 1 &pcfg_pull_none>;
1140d549df4bSYakir Yang			};
1141d549df4bSYakir Yang		};
1142d549df4bSYakir Yang
1143d549df4bSYakir Yang		i2c1 {
1144d549df4bSYakir Yang			i2c1_xfer: i2c1-xfer {
114507f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>,
114607f08d9cSHeiko Stuebner						<0 RK_PA3 1 &pcfg_pull_none>;
1147d549df4bSYakir Yang			};
1148d549df4bSYakir Yang		};
1149d549df4bSYakir Yang
1150d549df4bSYakir Yang		i2c2 {
1151d549df4bSYakir Yang			i2c2_xfer: i2c2-xfer {
115207f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>,
115307f08d9cSHeiko Stuebner						<2 RK_PC5 1 &pcfg_pull_none>;
1154d549df4bSYakir Yang			};
1155d549df4bSYakir Yang		};
1156d549df4bSYakir Yang
1157d549df4bSYakir Yang		i2c3 {
1158d549df4bSYakir Yang			i2c3_xfer: i2c3-xfer {
115907f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>,
116007f08d9cSHeiko Stuebner						<0 RK_PA7 1 &pcfg_pull_none>;
1161d549df4bSYakir Yang			};
1162d549df4bSYakir Yang		};
1163d549df4bSYakir Yang
1164855bdca1SJohan Jonker		spi0 {
1165febdf639SHuibin Hong			spi0_clk: spi0-clk {
116607f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PB1 2 &pcfg_pull_up>;
1167febdf639SHuibin Hong			};
1168febdf639SHuibin Hong			spi0_cs0: spi0-cs0 {
116907f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PB6 2 &pcfg_pull_up>;
1170febdf639SHuibin Hong			};
1171febdf639SHuibin Hong			spi0_tx: spi0-tx {
117207f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PB3 2 &pcfg_pull_up>;
1173febdf639SHuibin Hong			};
1174febdf639SHuibin Hong			spi0_rx: spi0-rx {
117507f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PB5 2 &pcfg_pull_up>;
1176febdf639SHuibin Hong			};
1177febdf639SHuibin Hong			spi0_cs1: spi0-cs1 {
117807f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PB4 1 &pcfg_pull_up>;
1179febdf639SHuibin Hong			};
1180febdf639SHuibin Hong		};
1181febdf639SHuibin Hong
1182855bdca1SJohan Jonker		spi1 {
1183febdf639SHuibin Hong			spi1_clk: spi1-clk {
118407f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PC7 2 &pcfg_pull_up>;
1185febdf639SHuibin Hong			};
1186febdf639SHuibin Hong			spi1_cs0: spi1-cs0 {
118707f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PA2 2 &pcfg_pull_up>;
1188febdf639SHuibin Hong			};
1189febdf639SHuibin Hong			spi1_rx: spi1-rx {
119007f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PA0 2 &pcfg_pull_up>;
1191febdf639SHuibin Hong			};
1192febdf639SHuibin Hong			spi1_tx: spi1-tx {
119307f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PA1 2 &pcfg_pull_up>;
1194febdf639SHuibin Hong			};
1195febdf639SHuibin Hong			spi1_cs1: spi1-cs1 {
119607f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PA3 2 &pcfg_pull_up>;
1197febdf639SHuibin Hong			};
1198febdf639SHuibin Hong		};
1199febdf639SHuibin Hong
1200ccada248SXing Zheng		i2s1 {
1201ccada248SXing Zheng			i2s1_bus: i2s1-bus {
120207f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>,
120307f08d9cSHeiko Stuebner						<0 RK_PB1 1 &pcfg_pull_none>,
120407f08d9cSHeiko Stuebner						<0 RK_PB3 1 &pcfg_pull_none>,
120507f08d9cSHeiko Stuebner						<0 RK_PB4 1 &pcfg_pull_none>,
120607f08d9cSHeiko Stuebner						<0 RK_PB5 1 &pcfg_pull_none>,
120707f08d9cSHeiko Stuebner						<0 RK_PB6 1 &pcfg_pull_none>,
120807f08d9cSHeiko Stuebner						<1 RK_PA2 2 &pcfg_pull_none>,
120907f08d9cSHeiko Stuebner						<1 RK_PA4 2 &pcfg_pull_none>,
121007f08d9cSHeiko Stuebner						<1 RK_PA5 2 &pcfg_pull_none>;
1211ccada248SXing Zheng			};
1212ccada248SXing Zheng		};
1213ccada248SXing Zheng
12149848ebebSJeffy Chen		pwm0 {
12159848ebebSJeffy Chen			pwm0_pin: pwm0-pin {
121607f08d9cSHeiko Stuebner				rockchip,pins = <3 RK_PC5 1 &pcfg_pull_none>;
12179848ebebSJeffy Chen			};
12189848ebebSJeffy Chen		};
12199848ebebSJeffy Chen
12209848ebebSJeffy Chen		pwm1 {
12219848ebebSJeffy Chen			pwm1_pin: pwm1-pin {
122207f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>;
12239848ebebSJeffy Chen			};
12249848ebebSJeffy Chen		};
12259848ebebSJeffy Chen
12269848ebebSJeffy Chen		pwm2 {
12279848ebebSJeffy Chen			pwm2_pin: pwm2-pin {
122807f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PB4 2 &pcfg_pull_none>;
12299848ebebSJeffy Chen			};
12309848ebebSJeffy Chen		};
12319848ebebSJeffy Chen
12329848ebebSJeffy Chen		pwm3 {
12339848ebebSJeffy Chen			pwm3_pin: pwm3-pin {
123407f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>;
12359848ebebSJeffy Chen			};
12369848ebebSJeffy Chen		};
12379848ebebSJeffy Chen
12384b456d20SSugar Zhang		spdif {
12394b456d20SSugar Zhang			spdif_tx: spdif-tx {
124007f08d9cSHeiko Stuebner				rockchip,pins = <3 RK_PD7 2 &pcfg_pull_none>;
12414b456d20SSugar Zhang			};
12424b456d20SSugar Zhang		};
12434b456d20SSugar Zhang
12447796031eSCaesar Wang		tsadc {
1245fff987e7SJohan Jonker			otp_pin: otp-pin {
124607f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
12477796031eSCaesar Wang			};
12487796031eSCaesar Wang
12497796031eSCaesar Wang			otp_out: otp-out {
125007f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PD0 2 &pcfg_pull_none>;
12517796031eSCaesar Wang			};
12527796031eSCaesar Wang		};
12537796031eSCaesar Wang
12549848ebebSJeffy Chen		uart0 {
12559848ebebSJeffy Chen			uart0_xfer: uart0-xfer {
125607f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PD2 1 &pcfg_pull_none>,
125707f08d9cSHeiko Stuebner						<2 RK_PD3 1 &pcfg_pull_none>;
12589848ebebSJeffy Chen			};
12599848ebebSJeffy Chen
12609848ebebSJeffy Chen			uart0_cts: uart0-cts {
126107f08d9cSHeiko Stuebner				rockchip,pins = <2 RK_PD5 1 &pcfg_pull_none>;
12629848ebebSJeffy Chen			};
12639848ebebSJeffy Chen
12649848ebebSJeffy Chen			uart0_rts: uart0-rts {
126507f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PC1 1 &pcfg_pull_none>;
12669848ebebSJeffy Chen			};
12679848ebebSJeffy Chen		};
12689848ebebSJeffy Chen
12699848ebebSJeffy Chen		uart1 {
12709848ebebSJeffy Chen			uart1_xfer: uart1-xfer {
127107f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>,
127207f08d9cSHeiko Stuebner						<1 RK_PB2 1 &pcfg_pull_none>;
12739848ebebSJeffy Chen			};
12749848ebebSJeffy Chen
12759848ebebSJeffy Chen			uart1_cts: uart1-cts {
127607f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>;
12779848ebebSJeffy Chen			};
12789848ebebSJeffy Chen
12799848ebebSJeffy Chen			uart1_rts: uart1-rts {
128007f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>;
12819848ebebSJeffy Chen			};
12829848ebebSJeffy Chen		};
12839848ebebSJeffy Chen
12849848ebebSJeffy Chen		uart2 {
12859848ebebSJeffy Chen			uart2_xfer: uart2-xfer {
128607f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PC2 2 &pcfg_pull_up>,
128707f08d9cSHeiko Stuebner						<1 RK_PC3 2 &pcfg_pull_none>;
12889848ebebSJeffy Chen			};
12899848ebebSJeffy Chen
1290738e4511SFrank Wang			uart21_xfer: uart21-xfer {
129107f08d9cSHeiko Stuebner				rockchip,pins = <1 RK_PB2 2 &pcfg_pull_up>,
129207f08d9cSHeiko Stuebner						<1 RK_PB1 2 &pcfg_pull_none>;
1293738e4511SFrank Wang			};
1294738e4511SFrank Wang
12959848ebebSJeffy Chen			uart2_cts: uart2-cts {
129607f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>;
12979848ebebSJeffy Chen			};
12989848ebebSJeffy Chen
12999848ebebSJeffy Chen			uart2_rts: uart2-rts {
130007f08d9cSHeiko Stuebner				rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>;
13019848ebebSJeffy Chen			};
13029848ebebSJeffy Chen		};
13039848ebebSJeffy Chen	};
13049848ebebSJeffy Chen};
1305