xref: /linux/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1f135a1a0SKever Yang// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f135a1a0SKever Yang/*
3f135a1a0SKever Yang * Copyright (c) 2024 Rockchip Electronics Co., Ltd.
4f135a1a0SKever Yang *
5f135a1a0SKever Yang */
6f135a1a0SKever Yang
7f135a1a0SKever Yang/dts-v1/;
8f135a1a0SKever Yang
9f135a1a0SKever Yang#include <dt-bindings/gpio/gpio.h>
10f135a1a0SKever Yang#include <dt-bindings/input/input.h>
11f135a1a0SKever Yang#include <dt-bindings/leds/common.h>
12f135a1a0SKever Yang#include <dt-bindings/pinctrl/rockchip.h>
137641678eSAndy Yan#include <dt-bindings/soc/rockchip,vop2.h>
14f135a1a0SKever Yang#include "rk3576.dtsi"
15f135a1a0SKever Yang
16f135a1a0SKever Yang/ {
17f135a1a0SKever Yang	model = "Rockchip RK3576 EVB V10 Board";
18f135a1a0SKever Yang	compatible = "rockchip,rk3576-evb1-v10", "rockchip,rk3576";
19f135a1a0SKever Yang
20f135a1a0SKever Yang	aliases {
21f135a1a0SKever Yang		ethernet0 = &gmac0;
22f135a1a0SKever Yang		ethernet1 = &gmac1;
23f135a1a0SKever Yang	};
24f135a1a0SKever Yang
25f135a1a0SKever Yang	chosen: chosen {
26f135a1a0SKever Yang		stdout-path = "serial0:1500000n8";
27f135a1a0SKever Yang	};
28f135a1a0SKever Yang
29f135a1a0SKever Yang	adc_keys: adc-keys {
30f135a1a0SKever Yang		compatible = "adc-keys";
31f135a1a0SKever Yang		io-channels = <&saradc 1>;
32f135a1a0SKever Yang		io-channel-names = "buttons";
33f135a1a0SKever Yang		keyup-threshold-microvolt = <1800000>;
34f135a1a0SKever Yang		poll-interval = <100>;
35f135a1a0SKever Yang
36f135a1a0SKever Yang		button-back {
37f135a1a0SKever Yang			label = "back";
38f135a1a0SKever Yang			linux,code = <KEY_BACK>;
39f135a1a0SKever Yang			press-threshold-microvolt = <1235000>;
40f135a1a0SKever Yang		};
41f135a1a0SKever Yang
42f135a1a0SKever Yang		button-menu {
43f135a1a0SKever Yang			label = "menu";
44f135a1a0SKever Yang			linux,code = <KEY_MENU>;
45f135a1a0SKever Yang			press-threshold-microvolt = <890000>;
46f135a1a0SKever Yang		};
47f135a1a0SKever Yang
48f135a1a0SKever Yang		button-vol-down {
49f135a1a0SKever Yang			label = "volume down";
50f135a1a0SKever Yang			linux,code = <KEY_VOLUMEDOWN>;
51f135a1a0SKever Yang			press-threshold-microvolt = <417000>;
52f135a1a0SKever Yang		};
53f135a1a0SKever Yang
54f135a1a0SKever Yang		button-vol-up {
55f135a1a0SKever Yang			label = "volume up";
56f135a1a0SKever Yang			linux,code = <KEY_VOLUMEUP>;
57f135a1a0SKever Yang			press-threshold-microvolt = <17000>;
58f135a1a0SKever Yang		};
59f135a1a0SKever Yang	};
60f135a1a0SKever Yang
617641678eSAndy Yan	hdmi-con {
627641678eSAndy Yan		compatible = "hdmi-connector";
637641678eSAndy Yan		type = "a";
647641678eSAndy Yan
657641678eSAndy Yan		port {
667641678eSAndy Yan			hdmi_con_in: endpoint {
677641678eSAndy Yan				remote-endpoint = <&hdmi_out_con>;
687641678eSAndy Yan			};
697641678eSAndy Yan		};
707641678eSAndy Yan	};
717641678eSAndy Yan
72f135a1a0SKever Yang	leds: leds {
73f135a1a0SKever Yang		compatible = "gpio-leds";
74f135a1a0SKever Yang
75f135a1a0SKever Yang		work_led: led-0 {
76f135a1a0SKever Yang			gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
77f135a1a0SKever Yang			linux,default-trigger = "heartbeat";
78f135a1a0SKever Yang		};
79f135a1a0SKever Yang	};
80f135a1a0SKever Yang
81f135a1a0SKever Yang	vbus5v0_typec: regulator-vbus5v0-typec {
82f135a1a0SKever Yang		compatible = "regulator-fixed";
83f135a1a0SKever Yang		regulator-name = "vbus5v0_typec";
84f135a1a0SKever Yang		regulator-min-microvolt = <5000000>;
85f135a1a0SKever Yang		regulator-max-microvolt = <5000000>;
86f135a1a0SKever Yang		enable-active-high;
87f135a1a0SKever Yang		gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;
88f135a1a0SKever Yang		vin-supply = <&vcc5v0_device>;
89f135a1a0SKever Yang		pinctrl-names = "default";
90f135a1a0SKever Yang		pinctrl-0 = <&usb_otg0_pwren>;
91f135a1a0SKever Yang	};
92f135a1a0SKever Yang
93f135a1a0SKever Yang	vcc12v_dcin: regulator-vcc12v-dcin {
94f135a1a0SKever Yang		compatible = "regulator-fixed";
95f135a1a0SKever Yang		regulator-name = "vcc12v_dcin";
96f135a1a0SKever Yang		regulator-always-on;
97f135a1a0SKever Yang		regulator-boot-on;
98f135a1a0SKever Yang		regulator-min-microvolt = <12000000>;
99f135a1a0SKever Yang		regulator-max-microvolt = <12000000>;
100f135a1a0SKever Yang	};
101f135a1a0SKever Yang
102f135a1a0SKever Yang	vcc1v2_ufs_vccq_s0: regulator-vcc1v2-ufs-vccq-s0 {
103f135a1a0SKever Yang		compatible = "regulator-fixed";
104f135a1a0SKever Yang		regulator-name = "vcc1v2_ufs_vccq_s0";
105f135a1a0SKever Yang		regulator-boot-on;
106f135a1a0SKever Yang		regulator-always-on;
107f135a1a0SKever Yang		regulator-min-microvolt = <1200000>;
108f135a1a0SKever Yang		regulator-max-microvolt = <1200000>;
109f135a1a0SKever Yang		vin-supply = <&vcc_sys>;
110f135a1a0SKever Yang	};
111f135a1a0SKever Yang
112f135a1a0SKever Yang	vcc1v8_ufs_vccq2_s0: regulator-vcc1v8-ufs-vccq2-s0 {
113f135a1a0SKever Yang		compatible = "regulator-fixed";
114f135a1a0SKever Yang		regulator-name = "vcc1v8_ufs_vccq2_s0";
115f135a1a0SKever Yang		regulator-boot-on;
116f135a1a0SKever Yang		regulator-always-on;
117f135a1a0SKever Yang		regulator-min-microvolt = <1800000>;
118f135a1a0SKever Yang		regulator-max-microvolt = <1800000>;
119f135a1a0SKever Yang		vin-supply = <&vcc_1v8_s3>;
120f135a1a0SKever Yang	};
121f135a1a0SKever Yang
122f135a1a0SKever Yang	vcc3v3_lcd_n: regulator-vcc3v3-lcd0-n {
123f135a1a0SKever Yang		compatible = "regulator-fixed";
124f135a1a0SKever Yang		regulator-name = "vcc3v3_lcd0_n";
125f135a1a0SKever Yang		regulator-boot-on;
126f135a1a0SKever Yang		enable-active-high;
127f135a1a0SKever Yang		gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
128f135a1a0SKever Yang		vin-supply = <&vcc_3v3_s0>;
129f135a1a0SKever Yang	};
130f135a1a0SKever Yang
131cdba8e71SShawn Lin	vcc3v3_pcie1: regulator-vcc3v3-pcie1 {
132f135a1a0SKever Yang		compatible = "regulator-fixed";
133f135a1a0SKever Yang		regulator-name = "vcc3v3_pcie1";
134f135a1a0SKever Yang		regulator-min-microvolt = <3300000>;
135f135a1a0SKever Yang		regulator-max-microvolt = <3300000>;
136f135a1a0SKever Yang		enable-active-high;
137f135a1a0SKever Yang		gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
138f135a1a0SKever Yang		startup-delay-us = <5000>;
139f135a1a0SKever Yang		vin-supply = <&vcc12v_dcin>;
140f135a1a0SKever Yang	};
141f135a1a0SKever Yang
142f135a1a0SKever Yang	vcc3v3_rtc_s5: regulator-vcc3v3-rtc-s5 {
143f135a1a0SKever Yang		compatible = "regulator-fixed";
144f135a1a0SKever Yang		regulator-name = "vcc3v3_rtc_s5";
145f135a1a0SKever Yang		regulator-boot-on;
146f135a1a0SKever Yang		regulator-always-on;
147f135a1a0SKever Yang		regulator-min-microvolt = <3300000>;
148f135a1a0SKever Yang		regulator-max-microvolt = <3300000>;
149f135a1a0SKever Yang		vin-supply = <&vcc_sys>;
150f135a1a0SKever Yang	};
151f135a1a0SKever Yang
152f135a1a0SKever Yang	vcc5v0_device: regulator-vcc5v0-device {
153f135a1a0SKever Yang		compatible = "regulator-fixed";
154f135a1a0SKever Yang		regulator-name = "vcc5v0_device";
155f135a1a0SKever Yang		regulator-always-on;
156f135a1a0SKever Yang		regulator-boot-on;
157f135a1a0SKever Yang		regulator-min-microvolt = <5000000>;
158f135a1a0SKever Yang		regulator-max-microvolt = <5000000>;
159f135a1a0SKever Yang		vin-supply = <&vcc12v_dcin>;
160f135a1a0SKever Yang	};
161f135a1a0SKever Yang
162f135a1a0SKever Yang	vcc5v0_host: regulator-vcc5v0-host {
163f135a1a0SKever Yang		compatible = "regulator-fixed";
164f135a1a0SKever Yang		regulator-name = "vcc5v0_host";
165f135a1a0SKever Yang		regulator-boot-on;
166f135a1a0SKever Yang		regulator-always-on;
167f135a1a0SKever Yang		regulator-min-microvolt = <5000000>;
168f135a1a0SKever Yang		regulator-max-microvolt = <5000000>;
169f135a1a0SKever Yang		enable-active-high;
170f135a1a0SKever Yang		gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
171f135a1a0SKever Yang		vin-supply = <&vcc5v0_device>;
172f135a1a0SKever Yang		pinctrl-names = "default";
173f135a1a0SKever Yang		pinctrl-0 = <&usb_host_pwren>;
174f135a1a0SKever Yang	};
175f135a1a0SKever Yang
176f135a1a0SKever Yang	vcc_sys: regulator-vcc5v0-sys {
177f135a1a0SKever Yang		compatible = "regulator-fixed";
178f135a1a0SKever Yang		regulator-name = "vcc_sys";
179f135a1a0SKever Yang		regulator-always-on;
180f135a1a0SKever Yang		regulator-boot-on;
181f135a1a0SKever Yang		regulator-min-microvolt = <5000000>;
182f135a1a0SKever Yang		regulator-max-microvolt = <5000000>;
183f135a1a0SKever Yang		vin-supply = <&vcc12v_dcin>;
184f135a1a0SKever Yang	};
185f135a1a0SKever Yang
186f135a1a0SKever Yang	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
187f135a1a0SKever Yang		compatible = "regulator-fixed";
188f135a1a0SKever Yang		regulator-name = "vcc_1v1_nldo_s3";
189f135a1a0SKever Yang		regulator-boot-on;
190f135a1a0SKever Yang		regulator-always-on;
191f135a1a0SKever Yang		regulator-min-microvolt = <1100000>;
192f135a1a0SKever Yang		regulator-max-microvolt = <1100000>;
193f135a1a0SKever Yang		vin-supply = <&vcc_sys>;
194f135a1a0SKever Yang	};
195f135a1a0SKever Yang
196f135a1a0SKever Yang	vcc_1v8_s0: regulator-vcc-1v8-s0 {
197f135a1a0SKever Yang		compatible = "regulator-fixed";
198f135a1a0SKever Yang		regulator-name = "vcc_1v8_s0";
199f135a1a0SKever Yang		regulator-boot-on;
200f135a1a0SKever Yang		regulator-always-on;
201f135a1a0SKever Yang		regulator-min-microvolt = <1800000>;
202f135a1a0SKever Yang		regulator-max-microvolt = <1800000>;
203f135a1a0SKever Yang		vin-supply = <&vcc_1v8_s3>;
204f135a1a0SKever Yang	};
205f135a1a0SKever Yang
206f135a1a0SKever Yang	vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 {
207f135a1a0SKever Yang		compatible = "regulator-fixed";
208f135a1a0SKever Yang		regulator-name = "vcc_2v0_pldo_s3";
209f135a1a0SKever Yang		regulator-boot-on;
210f135a1a0SKever Yang		regulator-always-on;
211f135a1a0SKever Yang		regulator-min-microvolt = <2000000>;
212f135a1a0SKever Yang		regulator-max-microvolt = <2000000>;
213f135a1a0SKever Yang		vin-supply = <&vcc_sys>;
214f135a1a0SKever Yang	};
215f135a1a0SKever Yang
216f135a1a0SKever Yang	vcc_3v3_s0: regulator-vcc-3v3-s0 {
217f135a1a0SKever Yang		compatible = "regulator-fixed";
218f135a1a0SKever Yang		regulator-name = "vcc_3v3_s0";
219f135a1a0SKever Yang		regulator-boot-on;
220f135a1a0SKever Yang		regulator-always-on;
221f135a1a0SKever Yang		regulator-min-microvolt = <3300000>;
222f135a1a0SKever Yang		regulator-max-microvolt = <3300000>;
223f135a1a0SKever Yang		vin-supply = <&vcc_3v3_s3>;
224f135a1a0SKever Yang	};
225f135a1a0SKever Yang
226f135a1a0SKever Yang	vcc_ufs_s0: regulator-vcc-ufs-s0 {
227f135a1a0SKever Yang		compatible = "regulator-fixed";
228f135a1a0SKever Yang		regulator-name = "vcc_ufs_s0";
229f135a1a0SKever Yang		regulator-boot-on;
230f135a1a0SKever Yang		regulator-always-on;
231f135a1a0SKever Yang		regulator-min-microvolt = <3300000>;
232f135a1a0SKever Yang		regulator-max-microvolt = <3300000>;
233f135a1a0SKever Yang		vin-supply = <&vcc_sys>;
234f135a1a0SKever Yang	};
235f135a1a0SKever Yang};
236f135a1a0SKever Yang
237f135a1a0SKever Yang&cpu_l0 {
238f135a1a0SKever Yang	cpu-supply = <&vdd_cpu_lit_s0>;
239f135a1a0SKever Yang};
240f135a1a0SKever Yang
241f135a1a0SKever Yang&cpu_b0 {
242f135a1a0SKever Yang	cpu-supply = <&vdd_cpu_big_s0>;
243f135a1a0SKever Yang};
244f135a1a0SKever Yang
245f135a1a0SKever Yang&combphy1_psu {
246f135a1a0SKever Yang	status = "okay";
247f135a1a0SKever Yang};
248f135a1a0SKever Yang
249f135a1a0SKever Yang&gmac0 {
250f135a1a0SKever Yang	clock_in_out = "output";
251f135a1a0SKever Yang	phy-mode = "rgmii-rxid";
252f135a1a0SKever Yang	phy-handle = <&rgmii_phy0>;
253f135a1a0SKever Yang	pinctrl-names = "default";
254f135a1a0SKever Yang	pinctrl-0 = <&eth0m0_miim
255f135a1a0SKever Yang		     &eth0m0_tx_bus2
256f135a1a0SKever Yang		     &eth0m0_rx_bus2
257f135a1a0SKever Yang		     &eth0m0_rgmii_clk
258f135a1a0SKever Yang		     &eth0m0_rgmii_bus
259f135a1a0SKever Yang		     &ethm0_clk0_25m_out>;
260f135a1a0SKever Yang	snps,reset-gpio = <&gpio2 RK_PB5 GPIO_ACTIVE_LOW>;
261f135a1a0SKever Yang	snps,reset-active-low;
262f135a1a0SKever Yang	snps,reset-delays-us = <0 20000 100000>;
263f135a1a0SKever Yang	tx_delay = <0x21>;
264f135a1a0SKever Yang	status = "okay";
265f135a1a0SKever Yang};
266f135a1a0SKever Yang
267f135a1a0SKever Yang&gmac1 {
268f135a1a0SKever Yang	clock_in_out = "output";
269f135a1a0SKever Yang	phy-handle = <&rgmii_phy1>;
270f135a1a0SKever Yang	phy-mode = "rgmii-rxid";
271f135a1a0SKever Yang	pinctrl-names = "default";
272f135a1a0SKever Yang	pinctrl-0 = <&eth1m0_miim
273f135a1a0SKever Yang		     &eth1m0_tx_bus2
274f135a1a0SKever Yang		     &eth1m0_rx_bus2
275f135a1a0SKever Yang		     &eth1m0_rgmii_clk
276f135a1a0SKever Yang		     &eth1m0_rgmii_bus
277f135a1a0SKever Yang		     &ethm0_clk1_25m_out>;
278f135a1a0SKever Yang	snps,reset-gpio = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
279f135a1a0SKever Yang	snps,reset-active-low;
280f135a1a0SKever Yang	snps,reset-delays-us = <0 20000 100000>;
281f135a1a0SKever Yang	tx_delay = <0x20>;
282f135a1a0SKever Yang	status = "okay";
283f135a1a0SKever Yang};
284f135a1a0SKever Yang
285*974baaa1SAndy Yan&gpu {
286*974baaa1SAndy Yan	mali-supply = <&vdd_gpu_s0>;
287*974baaa1SAndy Yan	status = "okay";
288*974baaa1SAndy Yan};
289*974baaa1SAndy Yan
2907641678eSAndy Yan&hdmi {
2917641678eSAndy Yan	status = "okay";
2927641678eSAndy Yan};
2937641678eSAndy Yan
2947641678eSAndy Yan&hdmi_in {
2957641678eSAndy Yan	hdmi_in_vp0: endpoint {
2967641678eSAndy Yan		remote-endpoint = <&vp0_out_hdmi>;
2977641678eSAndy Yan	};
2987641678eSAndy Yan};
2997641678eSAndy Yan
3007641678eSAndy Yan&hdmi_out {
3017641678eSAndy Yan	hdmi_out_con: endpoint {
3027641678eSAndy Yan		remote-endpoint = <&hdmi_con_in>;
3037641678eSAndy Yan	};
3047641678eSAndy Yan};
3057641678eSAndy Yan
3067641678eSAndy Yan&hdptxphy {
3077641678eSAndy Yan	status = "okay";
3087641678eSAndy Yan};
3097641678eSAndy Yan
310f135a1a0SKever Yang&i2c1 {
311f135a1a0SKever Yang	status = "okay";
312f135a1a0SKever Yang
313f135a1a0SKever Yang	rk806: pmic@23 {
314f135a1a0SKever Yang		compatible = "rockchip,rk806";
315f135a1a0SKever Yang		reg = <0x23>;
316f135a1a0SKever Yang		interrupt-parent = <&gpio0>;
317f135a1a0SKever Yang		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
318f135a1a0SKever Yang		gpio-controller;
319f135a1a0SKever Yang		#gpio-cells = <2>;
320f135a1a0SKever Yang		pinctrl-names = "default";
321f135a1a0SKever Yang		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
322f135a1a0SKever Yang			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
323f135a1a0SKever Yang		system-power-controller;
324f135a1a0SKever Yang
325f135a1a0SKever Yang		vcc1-supply = <&vcc_sys>;
326f135a1a0SKever Yang		vcc2-supply = <&vcc_sys>;
327f135a1a0SKever Yang		vcc3-supply = <&vcc_sys>;
328f135a1a0SKever Yang		vcc4-supply = <&vcc_sys>;
329f135a1a0SKever Yang		vcc5-supply = <&vcc_sys>;
330f135a1a0SKever Yang		vcc6-supply = <&vcc_sys>;
331f135a1a0SKever Yang		vcc7-supply = <&vcc_sys>;
332f135a1a0SKever Yang		vcc8-supply = <&vcc_sys>;
333f135a1a0SKever Yang		vcc9-supply = <&vcc_sys>;
334f135a1a0SKever Yang		vcc10-supply = <&vcc_sys>;
335f135a1a0SKever Yang		vcc11-supply = <&vcc_2v0_pldo_s3>;
336f135a1a0SKever Yang		vcc12-supply = <&vcc_sys>;
337f135a1a0SKever Yang		vcc13-supply = <&vcc_1v1_nldo_s3>;
338f135a1a0SKever Yang		vcc14-supply = <&vcc_1v1_nldo_s3>;
339f135a1a0SKever Yang		vcca-supply = <&vcc_sys>;
340f135a1a0SKever Yang
341f135a1a0SKever Yang		rk806_dvs1_null: dvs1-null-pins {
342f135a1a0SKever Yang			pins = "gpio_pwrctrl1";
343f135a1a0SKever Yang			function = "pin_fun0";
344f135a1a0SKever Yang		};
345f135a1a0SKever Yang
346f135a1a0SKever Yang		rk806_dvs2_null: dvs2-null-pins {
347f135a1a0SKever Yang			pins = "gpio_pwrctrl2";
348f135a1a0SKever Yang			function = "pin_fun0";
349f135a1a0SKever Yang		};
350f135a1a0SKever Yang
351f135a1a0SKever Yang		rk806_dvs3_null: dvs3-null-pins {
352f135a1a0SKever Yang			pins = "gpio_pwrctrl3";
353f135a1a0SKever Yang			function = "pin_fun0";
354f135a1a0SKever Yang		};
355f135a1a0SKever Yang
356f135a1a0SKever Yang		rk806_dvs1_slp: dvs1-slp-pins {
357f135a1a0SKever Yang			pins = "gpio_pwrctrl1";
358f135a1a0SKever Yang			function = "pin_fun1";
359f135a1a0SKever Yang		};
360f135a1a0SKever Yang
361f135a1a0SKever Yang		rk806_dvs1_pwrdn: dvs1-pwrdn-pins {
362f135a1a0SKever Yang			pins = "gpio_pwrctrl1";
363f135a1a0SKever Yang			function = "pin_fun2";
364f135a1a0SKever Yang		};
365f135a1a0SKever Yang
366f135a1a0SKever Yang		rk806_dvs1_rst: dvs1-rst-pins {
367f135a1a0SKever Yang			pins = "gpio_pwrctrl1";
368f135a1a0SKever Yang			function = "pin_fun3";
369f135a1a0SKever Yang		};
370f135a1a0SKever Yang
371f135a1a0SKever Yang		rk806_dvs2_slp: dvs2-slp-pins {
372f135a1a0SKever Yang			pins = "gpio_pwrctrl2";
373f135a1a0SKever Yang			function = "pin_fun1";
374f135a1a0SKever Yang		};
375f135a1a0SKever Yang
376f135a1a0SKever Yang		rk806_dvs2_pwrdn: dvs2-pwrdn-pins {
377f135a1a0SKever Yang			pins = "gpio_pwrctrl2";
378f135a1a0SKever Yang			function = "pin_fun2";
379f135a1a0SKever Yang		};
380f135a1a0SKever Yang
381f135a1a0SKever Yang		rk806_dvs2_rst: dvs2-rst-pins {
382f135a1a0SKever Yang			pins = "gpio_pwrctrl2";
383f135a1a0SKever Yang			function = "pin_fun3";
384f135a1a0SKever Yang		};
385f135a1a0SKever Yang
386f135a1a0SKever Yang		rk806_dvs2_dvs: dvs2-dvs-pins {
387f135a1a0SKever Yang			pins = "gpio_pwrctrl2";
388f135a1a0SKever Yang			function = "pin_fun4";
389f135a1a0SKever Yang		};
390f135a1a0SKever Yang
391f135a1a0SKever Yang		rk806_dvs2_gpio: dvs2-gpio-pins {
392f135a1a0SKever Yang			pins = "gpio_pwrctrl2";
393f135a1a0SKever Yang			function = "pin_fun5";
394f135a1a0SKever Yang		};
395f135a1a0SKever Yang
396f135a1a0SKever Yang		rk806_dvs3_slp: dvs3-slp-pins {
397f135a1a0SKever Yang			pins = "gpio_pwrctrl3";
398f135a1a0SKever Yang			function = "pin_fun1";
399f135a1a0SKever Yang		};
400f135a1a0SKever Yang
401f135a1a0SKever Yang		rk806_dvs3_pwrdn: dvs3-pwrdn-pins {
402f135a1a0SKever Yang			pins = "gpio_pwrctrl3";
403f135a1a0SKever Yang			function = "pin_fun2";
404f135a1a0SKever Yang		};
405f135a1a0SKever Yang
406f135a1a0SKever Yang		rk806_dvs3_rst: dvs3-rst-pins {
407f135a1a0SKever Yang			pins = "gpio_pwrctrl3";
408f135a1a0SKever Yang			function = "pin_fun3";
409f135a1a0SKever Yang		};
410f135a1a0SKever Yang
411f135a1a0SKever Yang		rk806_dvs3_dvs: dvs3-dvs-pins {
412f135a1a0SKever Yang			pins = "gpio_pwrctrl3";
413f135a1a0SKever Yang			function = "pin_fun4";
414f135a1a0SKever Yang		};
415f135a1a0SKever Yang
416f135a1a0SKever Yang		rk806_dvs3_gpio: dvs3-gpio-pins {
417f135a1a0SKever Yang			pins = "gpio_pwrctrl3";
418f135a1a0SKever Yang			function = "pin_fun5";
419f135a1a0SKever Yang		};
420f135a1a0SKever Yang
421f135a1a0SKever Yang		regulators {
422f135a1a0SKever Yang			vdd_cpu_big_s0: dcdc-reg1 {
423f135a1a0SKever Yang				regulator-always-on;
424f135a1a0SKever Yang				regulator-boot-on;
425f135a1a0SKever Yang				regulator-min-microvolt = <550000>;
426f135a1a0SKever Yang				regulator-max-microvolt = <950000>;
427f135a1a0SKever Yang				regulator-ramp-delay = <12500>;
428f135a1a0SKever Yang				regulator-name = "vdd_cpu_big_s0";
429f135a1a0SKever Yang				regulator-enable-ramp-delay = <400>;
430f135a1a0SKever Yang
431f135a1a0SKever Yang				regulator-state-mem {
432f135a1a0SKever Yang					regulator-off-in-suspend;
433f135a1a0SKever Yang				};
434f135a1a0SKever Yang			};
435f135a1a0SKever Yang
436f135a1a0SKever Yang			vdd_npu_s0: dcdc-reg2 {
437f135a1a0SKever Yang				regulator-boot-on;
438f135a1a0SKever Yang				regulator-min-microvolt = <550000>;
439f135a1a0SKever Yang				regulator-max-microvolt = <950000>;
440f135a1a0SKever Yang				regulator-ramp-delay = <12500>;
441f135a1a0SKever Yang				regulator-name = "vdd_npu_s0";
442f135a1a0SKever Yang				regulator-enable-ramp-delay = <400>;
443f135a1a0SKever Yang
444f135a1a0SKever Yang				regulator-state-mem {
445f135a1a0SKever Yang					regulator-off-in-suspend;
446f135a1a0SKever Yang				};
447f135a1a0SKever Yang			};
448f135a1a0SKever Yang
449f135a1a0SKever Yang			vdd_cpu_lit_s0: dcdc-reg3 {
450f135a1a0SKever Yang				regulator-always-on;
451f135a1a0SKever Yang				regulator-boot-on;
452f135a1a0SKever Yang				regulator-min-microvolt = <550000>;
453f135a1a0SKever Yang				regulator-max-microvolt = <950000>;
454f135a1a0SKever Yang				regulator-ramp-delay = <12500>;
455f135a1a0SKever Yang				regulator-name = "vdd_cpu_lit_s0";
456f135a1a0SKever Yang
457f135a1a0SKever Yang				regulator-state-mem {
458f135a1a0SKever Yang					regulator-off-in-suspend;
459f135a1a0SKever Yang					regulator-suspend-microvolt = <750000>;
460f135a1a0SKever Yang				};
461f135a1a0SKever Yang			};
462f135a1a0SKever Yang
463f135a1a0SKever Yang			vcc_3v3_s3: dcdc-reg4 {
464f135a1a0SKever Yang				regulator-always-on;
465f135a1a0SKever Yang				regulator-boot-on;
466f135a1a0SKever Yang				regulator-min-microvolt = <3300000>;
467f135a1a0SKever Yang				regulator-max-microvolt = <3300000>;
468f135a1a0SKever Yang				regulator-name = "vcc_3v3_s3";
469f135a1a0SKever Yang
470f135a1a0SKever Yang				regulator-state-mem {
471f135a1a0SKever Yang					regulator-on-in-suspend;
472f135a1a0SKever Yang					regulator-suspend-microvolt = <3300000>;
473f135a1a0SKever Yang				};
474f135a1a0SKever Yang			};
475f135a1a0SKever Yang
476f135a1a0SKever Yang			vdd_gpu_s0: dcdc-reg5 {
477f135a1a0SKever Yang				regulator-boot-on;
478f135a1a0SKever Yang				regulator-min-microvolt = <550000>;
479f135a1a0SKever Yang				regulator-max-microvolt = <900000>;
480f135a1a0SKever Yang				regulator-ramp-delay = <12500>;
481f135a1a0SKever Yang				regulator-name = "vdd_gpu_s0";
482f135a1a0SKever Yang				regulator-enable-ramp-delay = <400>;
483f135a1a0SKever Yang
484f135a1a0SKever Yang				regulator-state-mem {
485f135a1a0SKever Yang					regulator-off-in-suspend;
486f135a1a0SKever Yang					regulator-suspend-microvolt = <850000>;
487f135a1a0SKever Yang				};
488f135a1a0SKever Yang			};
489f135a1a0SKever Yang
490f135a1a0SKever Yang			vddq_ddr_s0: dcdc-reg6 {
491f135a1a0SKever Yang				regulator-always-on;
492f135a1a0SKever Yang				regulator-boot-on;
493f135a1a0SKever Yang				regulator-name = "vddq_ddr_s0";
494f135a1a0SKever Yang
495f135a1a0SKever Yang				regulator-state-mem {
496f135a1a0SKever Yang					regulator-off-in-suspend;
497f135a1a0SKever Yang				};
498f135a1a0SKever Yang			};
499f135a1a0SKever Yang
500f135a1a0SKever Yang			vdd_logic_s0: dcdc-reg7 {
501f135a1a0SKever Yang				regulator-always-on;
502f135a1a0SKever Yang				regulator-boot-on;
503f135a1a0SKever Yang				regulator-min-microvolt = <550000>;
504f135a1a0SKever Yang				regulator-max-microvolt = <800000>;
505f135a1a0SKever Yang				regulator-name = "vdd_logic_s0";
506f135a1a0SKever Yang
507f135a1a0SKever Yang				regulator-state-mem {
508f135a1a0SKever Yang					regulator-off-in-suspend;
509f135a1a0SKever Yang				};
510f135a1a0SKever Yang			};
511f135a1a0SKever Yang
512f135a1a0SKever Yang			vcc_1v8_s3: dcdc-reg8 {
513f135a1a0SKever Yang				regulator-always-on;
514f135a1a0SKever Yang				regulator-boot-on;
515f135a1a0SKever Yang				regulator-min-microvolt = <1800000>;
516f135a1a0SKever Yang				regulator-max-microvolt = <1800000>;
517f135a1a0SKever Yang				regulator-name = "vcc_1v8_s3";
518f135a1a0SKever Yang
519f135a1a0SKever Yang				regulator-state-mem {
520f135a1a0SKever Yang					regulator-on-in-suspend;
521f135a1a0SKever Yang					regulator-suspend-microvolt = <1800000>;
522f135a1a0SKever Yang				};
523f135a1a0SKever Yang			};
524f135a1a0SKever Yang
525f135a1a0SKever Yang			vdd2_ddr_s3: dcdc-reg9 {
526f135a1a0SKever Yang				regulator-always-on;
527f135a1a0SKever Yang				regulator-boot-on;
528f135a1a0SKever Yang				regulator-name = "vdd2_ddr_s3";
529f135a1a0SKever Yang
530f135a1a0SKever Yang				regulator-state-mem {
531f135a1a0SKever Yang					regulator-on-in-suspend;
532f135a1a0SKever Yang				};
533f135a1a0SKever Yang			};
534f135a1a0SKever Yang
535f135a1a0SKever Yang			vdd_ddr_s0: dcdc-reg10 {
536f135a1a0SKever Yang				regulator-always-on;
537f135a1a0SKever Yang				regulator-boot-on;
538f135a1a0SKever Yang				regulator-min-microvolt = <550000>;
539f135a1a0SKever Yang				regulator-max-microvolt = <1200000>;
540f135a1a0SKever Yang				regulator-name = "vdd_ddr_s0";
541f135a1a0SKever Yang
542f135a1a0SKever Yang				regulator-state-mem {
543f135a1a0SKever Yang					regulator-off-in-suspend;
544f135a1a0SKever Yang				};
545f135a1a0SKever Yang			};
546f135a1a0SKever Yang
547f135a1a0SKever Yang			vcca_1v8_s0: pldo-reg1 {
548f135a1a0SKever Yang				regulator-always-on;
549f135a1a0SKever Yang				regulator-boot-on;
550f135a1a0SKever Yang				regulator-min-microvolt = <1800000>;
551f135a1a0SKever Yang				regulator-max-microvolt = <1800000>;
552f135a1a0SKever Yang				regulator-name = "vcca_1v8_s0";
553f135a1a0SKever Yang
554f135a1a0SKever Yang				regulator-state-mem {
555f135a1a0SKever Yang					regulator-off-in-suspend;
556f135a1a0SKever Yang				};
557f135a1a0SKever Yang			};
558f135a1a0SKever Yang
559f135a1a0SKever Yang			vcca1v8_pldo2_s0: pldo-reg2 {
560f135a1a0SKever Yang				regulator-always-on;
561f135a1a0SKever Yang				regulator-boot-on;
562f135a1a0SKever Yang				regulator-min-microvolt = <1800000>;
563f135a1a0SKever Yang				regulator-max-microvolt = <1800000>;
564f135a1a0SKever Yang				regulator-name = "vcca1v8_pldo2_s0";
565f135a1a0SKever Yang
566f135a1a0SKever Yang				regulator-state-mem {
567f135a1a0SKever Yang					regulator-off-in-suspend;
568f135a1a0SKever Yang				};
569f135a1a0SKever Yang			};
570f135a1a0SKever Yang
571f135a1a0SKever Yang			vdda_1v2_s0: pldo-reg3 {
572f135a1a0SKever Yang				regulator-always-on;
573f135a1a0SKever Yang				regulator-boot-on;
574f135a1a0SKever Yang				regulator-min-microvolt = <1200000>;
575f135a1a0SKever Yang				regulator-max-microvolt = <1200000>;
576f135a1a0SKever Yang				regulator-name = "vdda_1v2_s0";
577f135a1a0SKever Yang
578f135a1a0SKever Yang				regulator-state-mem {
579f135a1a0SKever Yang					regulator-off-in-suspend;
580f135a1a0SKever Yang				};
581f135a1a0SKever Yang			};
582f135a1a0SKever Yang
583f135a1a0SKever Yang			vcca_3v3_s0: pldo-reg4 {
584f135a1a0SKever Yang				regulator-always-on;
585f135a1a0SKever Yang				regulator-boot-on;
586f135a1a0SKever Yang				regulator-min-microvolt = <3300000>;
587f135a1a0SKever Yang				regulator-max-microvolt = <3300000>;
588f135a1a0SKever Yang				regulator-name = "vcca_3v3_s0";
589f135a1a0SKever Yang
590f135a1a0SKever Yang				regulator-state-mem {
591f135a1a0SKever Yang					regulator-off-in-suspend;
592f135a1a0SKever Yang				};
593f135a1a0SKever Yang			};
594f135a1a0SKever Yang
595f135a1a0SKever Yang			vccio_sd_s0: pldo-reg5 {
596f135a1a0SKever Yang				regulator-always-on;
597f135a1a0SKever Yang				regulator-boot-on;
598f135a1a0SKever Yang				regulator-min-microvolt = <1800000>;
599f135a1a0SKever Yang				regulator-max-microvolt = <3300000>;
600f135a1a0SKever Yang				regulator-name = "vccio_sd_s0";
601f135a1a0SKever Yang
602f135a1a0SKever Yang				regulator-state-mem {
603f135a1a0SKever Yang					regulator-off-in-suspend;
604f135a1a0SKever Yang				};
605f135a1a0SKever Yang			};
606f135a1a0SKever Yang
607f135a1a0SKever Yang			vcca1v8_pldo6_s3: pldo-reg6 {
608f135a1a0SKever Yang				regulator-always-on;
609f135a1a0SKever Yang				regulator-boot-on;
610f135a1a0SKever Yang				regulator-min-microvolt = <1800000>;
611f135a1a0SKever Yang				regulator-max-microvolt = <1800000>;
612f135a1a0SKever Yang				regulator-name = "vcca1v8_pldo6_s3";
613f135a1a0SKever Yang
614f135a1a0SKever Yang				regulator-state-mem {
615f135a1a0SKever Yang					regulator-on-in-suspend;
616f135a1a0SKever Yang					regulator-suspend-microvolt = <1800000>;
617f135a1a0SKever Yang				};
618f135a1a0SKever Yang			};
619f135a1a0SKever Yang
620f135a1a0SKever Yang			vdd_0v75_s3: nldo-reg1 {
621f135a1a0SKever Yang				regulator-always-on;
622f135a1a0SKever Yang				regulator-boot-on;
623f135a1a0SKever Yang				regulator-min-microvolt = <550000>;
624f135a1a0SKever Yang				regulator-max-microvolt = <750000>;
625f135a1a0SKever Yang				regulator-name = "vdd_0v75_s3";
626f135a1a0SKever Yang
627f135a1a0SKever Yang				regulator-state-mem {
628f135a1a0SKever Yang					regulator-on-in-suspend;
629f135a1a0SKever Yang					regulator-suspend-microvolt = <750000>;
630f135a1a0SKever Yang				};
631f135a1a0SKever Yang			};
632f135a1a0SKever Yang
633f135a1a0SKever Yang			vdda_ddr_pll_s0: nldo-reg2 {
634f135a1a0SKever Yang				regulator-always-on;
635f135a1a0SKever Yang				regulator-boot-on;
636f135a1a0SKever Yang				regulator-min-microvolt = <850000>;
637f135a1a0SKever Yang				regulator-max-microvolt = <850000>;
638f135a1a0SKever Yang				regulator-name = "vdda_ddr_pll_s0";
639f135a1a0SKever Yang
640f135a1a0SKever Yang				regulator-state-mem {
641f135a1a0SKever Yang					regulator-off-in-suspend;
642f135a1a0SKever Yang				};
643f135a1a0SKever Yang			};
644f135a1a0SKever Yang
645f135a1a0SKever Yang			vdda0v75_hdmi_s0: nldo-reg3 {
646f135a1a0SKever Yang				regulator-boot-on;
647f135a1a0SKever Yang				regulator-min-microvolt = <837500>;
648f135a1a0SKever Yang				regulator-max-microvolt = <837500>;
649f135a1a0SKever Yang				regulator-name = "vdda0v75_hdmi_s0";
650f135a1a0SKever Yang
651f135a1a0SKever Yang				regulator-state-mem {
652f135a1a0SKever Yang					regulator-off-in-suspend;
653f135a1a0SKever Yang				};
654f135a1a0SKever Yang			};
655f135a1a0SKever Yang
656f135a1a0SKever Yang			vdda_0v85_s0: nldo-reg4 {
657f135a1a0SKever Yang				regulator-always-on;
658f135a1a0SKever Yang				regulator-boot-on;
659f135a1a0SKever Yang				regulator-min-microvolt = <850000>;
660f135a1a0SKever Yang				regulator-max-microvolt = <850000>;
661f135a1a0SKever Yang				regulator-name = "vdda_0v85_s0";
662f135a1a0SKever Yang
663f135a1a0SKever Yang				regulator-state-mem {
664f135a1a0SKever Yang					regulator-off-in-suspend;
665f135a1a0SKever Yang				};
666f135a1a0SKever Yang			};
667f135a1a0SKever Yang
668f135a1a0SKever Yang			vdda_0v75_s0: nldo-reg5 {
669f135a1a0SKever Yang				regulator-always-on;
670f135a1a0SKever Yang				regulator-boot-on;
671f135a1a0SKever Yang				regulator-min-microvolt = <750000>;
672f135a1a0SKever Yang				regulator-max-microvolt = <750000>;
673f135a1a0SKever Yang				regulator-name = "vdda_0v75_s0";
674f135a1a0SKever Yang
675f135a1a0SKever Yang				regulator-state-mem {
676f135a1a0SKever Yang					regulator-off-in-suspend;
677f135a1a0SKever Yang				};
678f135a1a0SKever Yang			};
679f135a1a0SKever Yang		};
680f135a1a0SKever Yang	};
681f135a1a0SKever Yang};
682f135a1a0SKever Yang
683f135a1a0SKever Yang&mdio0 {
684f135a1a0SKever Yang	rgmii_phy0: phy@1 {
685f135a1a0SKever Yang		compatible = "ethernet-phy-ieee802.3-c22";
686f135a1a0SKever Yang		reg = <0x1>;
687f135a1a0SKever Yang		clocks = <&cru REFCLKO25M_GMAC0_OUT>;
688f135a1a0SKever Yang	};
689f135a1a0SKever Yang};
690f135a1a0SKever Yang
691f135a1a0SKever Yang&mdio1 {
692f135a1a0SKever Yang	rgmii_phy1: phy@1 {
693f135a1a0SKever Yang		compatible = "ethernet-phy-ieee802.3-c22";
694f135a1a0SKever Yang		reg = <0x1>;
695f135a1a0SKever Yang		clocks = <&cru REFCLKO25M_GMAC1_OUT>;
696f135a1a0SKever Yang	};
697f135a1a0SKever Yang};
698f135a1a0SKever Yang
699faebc637SShawn Lin&pcie1 {
700faebc637SShawn Lin	reset-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
701faebc637SShawn Lin	vpcie3v3-supply = <&vcc3v3_pcie1>;
702faebc637SShawn Lin
703faebc637SShawn Lin	/*
704faebc637SShawn Lin	 * Disable usb_drd1_dwc3 if enabling pcie1 and set Dial_Switch_1
705faebc637SShawn Lin	 * to low state according to the schematic of page 17.
706faebc637SShawn Lin	 */
707faebc637SShawn Lin	status = "disabled";
708faebc637SShawn Lin};
709faebc637SShawn Lin
710f135a1a0SKever Yang&pinctrl {
711f135a1a0SKever Yang	usb {
712f135a1a0SKever Yang		usb_host_pwren: usb-host-pwren {
713f135a1a0SKever Yang			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
714f135a1a0SKever Yang		};
715f135a1a0SKever Yang
716f135a1a0SKever Yang		usb_otg0_pwren: usb-otg0-pwren {
717f135a1a0SKever Yang			rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
718f135a1a0SKever Yang		};
719f135a1a0SKever Yang
720f135a1a0SKever Yang		usbc0_int: usbc0-int {
721f135a1a0SKever Yang			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
722f135a1a0SKever Yang		};
723f135a1a0SKever Yang	};
724f135a1a0SKever Yang};
725f135a1a0SKever Yang
726f135a1a0SKever Yang&sdmmc {
727f135a1a0SKever Yang	bus-width = <4>;
728f135a1a0SKever Yang	cap-mmc-highspeed;
729f135a1a0SKever Yang	cap-sd-highspeed;
730f135a1a0SKever Yang	disable-wp;
731f135a1a0SKever Yang	max-frequency = <200000000>;
732f135a1a0SKever Yang	no-sdio;
733f135a1a0SKever Yang	no-mmc;
734f135a1a0SKever Yang	sd-uhs-sdr104;
735f135a1a0SKever Yang	vqmmc-supply = <&vccio_sd_s0>;
736f135a1a0SKever Yang	status = "okay";
737f135a1a0SKever Yang};
738f135a1a0SKever Yang
739f135a1a0SKever Yang&saradc {
740f135a1a0SKever Yang	vref-supply = <&vcca_1v8_s0>;
741f135a1a0SKever Yang	status = "okay";
742f135a1a0SKever Yang};
743f135a1a0SKever Yang
744f135a1a0SKever Yang&u2phy0 {
745f135a1a0SKever Yang	status = "okay";
746f135a1a0SKever Yang};
747f135a1a0SKever Yang
748f135a1a0SKever Yang&u2phy0_otg {
749f135a1a0SKever Yang	phy-supply = <&vbus5v0_typec>;
750f135a1a0SKever Yang	status = "okay";
751f135a1a0SKever Yang};
752f135a1a0SKever Yang
753f135a1a0SKever Yang&u2phy1 {
754f135a1a0SKever Yang	status = "okay";
755f135a1a0SKever Yang};
756f135a1a0SKever Yang
757f135a1a0SKever Yang&u2phy1_otg {
758f135a1a0SKever Yang	phy-supply = <&vcc5v0_host>;
759f135a1a0SKever Yang	status = "okay";
760f135a1a0SKever Yang};
761f135a1a0SKever Yang
762f135a1a0SKever Yang&uart0 {
763f135a1a0SKever Yang	status = "okay";
764f135a1a0SKever Yang};
765f135a1a0SKever Yang
766530f2bebSShawn Lin&ufshc {
767530f2bebSShawn Lin	status = "okay";
768530f2bebSShawn Lin};
769530f2bebSShawn Lin
770f135a1a0SKever Yang&usbdp_phy {
771f135a1a0SKever Yang	rockchip,dp-lane-mux = <2 3>;
772f135a1a0SKever Yang	status = "okay";
773f135a1a0SKever Yang};
774f135a1a0SKever Yang
775f135a1a0SKever Yang&usb_drd0_dwc3 {
776f135a1a0SKever Yang	dr_mode = "host";
777f135a1a0SKever Yang	status = "okay";
778f135a1a0SKever Yang};
779f135a1a0SKever Yang
780f135a1a0SKever Yang&usb_drd1_dwc3 {
781f135a1a0SKever Yang	dr_mode = "host";
782f135a1a0SKever Yang	status = "okay";
783f135a1a0SKever Yang};
7847641678eSAndy Yan
7857641678eSAndy Yan&vop {
7867641678eSAndy Yan	status = "okay";
7877641678eSAndy Yan};
7887641678eSAndy Yan
7897641678eSAndy Yan&vop_mmu {
7907641678eSAndy Yan	status = "okay";
7917641678eSAndy Yan};
7927641678eSAndy Yan
7937641678eSAndy Yan&vp0 {
7947641678eSAndy Yan	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
7957641678eSAndy Yan		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
7967641678eSAndy Yan		remote-endpoint = <&hdmi_in_vp0>;
7977641678eSAndy Yan	};
7987641678eSAndy Yan};
799