xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3588s-odroid-m2.dts (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
1ce48b8c9SJonas Karlman// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2ce48b8c9SJonas Karlman
3ce48b8c9SJonas Karlman/dts-v1/;
4ce48b8c9SJonas Karlman
5ce48b8c9SJonas Karlman#include <dt-bindings/gpio/gpio.h>
6ce48b8c9SJonas Karlman#include <dt-bindings/leds/common.h>
7ce48b8c9SJonas Karlman#include <dt-bindings/pinctrl/rockchip.h>
83c4278eaSJonas Karlman#include <dt-bindings/soc/rockchip,vop2.h>
9ce48b8c9SJonas Karlman#include <dt-bindings/usb/pd.h>
10ce48b8c9SJonas Karlman#include "rk3588s.dtsi"
11ce48b8c9SJonas Karlman
12ce48b8c9SJonas Karlman/ {
13ce48b8c9SJonas Karlman	model = "Hardkernel ODROID-M2";
14ce48b8c9SJonas Karlman	compatible = "hardkernel,odroid-m2", "rockchip,rk3588s";
15ce48b8c9SJonas Karlman
16ce48b8c9SJonas Karlman	aliases {
17ce48b8c9SJonas Karlman		ethernet0 = &gmac1;
18ce48b8c9SJonas Karlman		mmc0 = &sdhci;
19ce48b8c9SJonas Karlman		mmc1 = &sdmmc;
20ce48b8c9SJonas Karlman	};
21ce48b8c9SJonas Karlman
22ce48b8c9SJonas Karlman	chosen {
23ce48b8c9SJonas Karlman		stdout-path = "serial2:1500000n8";
24ce48b8c9SJonas Karlman	};
25ce48b8c9SJonas Karlman
263c4278eaSJonas Karlman	hdmi-con {
273c4278eaSJonas Karlman		compatible = "hdmi-connector";
283c4278eaSJonas Karlman		type = "a";
293c4278eaSJonas Karlman
303c4278eaSJonas Karlman		port {
313c4278eaSJonas Karlman			hdmi_con_in: endpoint {
323c4278eaSJonas Karlman				remote-endpoint = <&hdmi0_out_con>;
333c4278eaSJonas Karlman			};
343c4278eaSJonas Karlman		};
353c4278eaSJonas Karlman	};
363c4278eaSJonas Karlman
37ce48b8c9SJonas Karlman	leds {
38ce48b8c9SJonas Karlman		compatible = "gpio-leds";
39ce48b8c9SJonas Karlman		pinctrl-names = "default";
40ce48b8c9SJonas Karlman		pinctrl-0 = <&pwr_led>, <&sys_led>;
41ce48b8c9SJonas Karlman
42ce48b8c9SJonas Karlman		led_pwr: led-0 {
43ce48b8c9SJonas Karlman			color = <LED_COLOR_ID_RED>;
44ce48b8c9SJonas Karlman			default-state = "on";
45ce48b8c9SJonas Karlman			function = LED_FUNCTION_POWER;
46ce48b8c9SJonas Karlman			gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
47ce48b8c9SJonas Karlman			linux,default-trigger = "default-on";
48ce48b8c9SJonas Karlman		};
49ce48b8c9SJonas Karlman
50ce48b8c9SJonas Karlman		led_sys: led-1 {
51ce48b8c9SJonas Karlman			color = <LED_COLOR_ID_BLUE>;
52ce48b8c9SJonas Karlman			default-state = "on";
53ce48b8c9SJonas Karlman			function = LED_FUNCTION_HEARTBEAT;
54ce48b8c9SJonas Karlman			gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
55ce48b8c9SJonas Karlman			linux,default-trigger = "heartbeat";
56ce48b8c9SJonas Karlman		};
57ce48b8c9SJonas Karlman	};
58ce48b8c9SJonas Karlman
59ce48b8c9SJonas Karlman	fan: pwm-fan {
60ce48b8c9SJonas Karlman		compatible = "pwm-fan";
61ce48b8c9SJonas Karlman		#cooling-cells = <2>;
62ce48b8c9SJonas Karlman		cooling-levels = <0 192 224 255>;
63ce48b8c9SJonas Karlman		fan-supply = <&vcc5v0_sys>;
64ce48b8c9SJonas Karlman		pwms = <&pwm0 0 22222 0>;
65ce48b8c9SJonas Karlman	};
66ce48b8c9SJonas Karlman
67ce48b8c9SJonas Karlman	vcc_1v1_nldo_s3: regulator-1v1-vcc-nldo-s3 {
68ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
69ce48b8c9SJonas Karlman		regulator-name = "vcc_1v1_nldo_s3";
70ce48b8c9SJonas Karlman		regulator-always-on;
71ce48b8c9SJonas Karlman		regulator-boot-on;
72ce48b8c9SJonas Karlman		regulator-min-microvolt = <1100000>;
73ce48b8c9SJonas Karlman		regulator-max-microvolt = <1100000>;
74ce48b8c9SJonas Karlman		vin-supply = <&vcc4v0_sys>;
75ce48b8c9SJonas Karlman	};
76ce48b8c9SJonas Karlman
77ce48b8c9SJonas Karlman	vcc3v3_lcd: regulator-3v3-vcc-lcd {
78ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
79ce48b8c9SJonas Karlman		enable-active-high;
80ce48b8c9SJonas Karlman		gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
81ce48b8c9SJonas Karlman		pinctrl-names = "default";
82ce48b8c9SJonas Karlman		pinctrl-0 = <&lcd_pwren>;
83ce48b8c9SJonas Karlman		regulator-name = "vcc3v3_lcd";
84ce48b8c9SJonas Karlman		regulator-min-microvolt = <3300000>;
85ce48b8c9SJonas Karlman		regulator-max-microvolt = <3300000>;
86ce48b8c9SJonas Karlman		vin-supply = <&vcc_3v3_s3>;
87ce48b8c9SJonas Karlman	};
88ce48b8c9SJonas Karlman
89ce48b8c9SJonas Karlman	vcc3v3_pcie: regulator-3v3-vcc-pcie {
90ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
91ce48b8c9SJonas Karlman		enable-active-high;
92ce48b8c9SJonas Karlman		gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
93ce48b8c9SJonas Karlman		pinctrl-names = "default";
94ce48b8c9SJonas Karlman		pinctrl-0 = <&pcie_pwren>;
95ce48b8c9SJonas Karlman		regulator-name = "vcc3v3_pcie";
96ce48b8c9SJonas Karlman		regulator-min-microvolt = <3300000>;
97ce48b8c9SJonas Karlman		regulator-max-microvolt = <3300000>;
98ce48b8c9SJonas Karlman		vin-supply = <&vcc_3v3_s3>;
99ce48b8c9SJonas Karlman	};
100ce48b8c9SJonas Karlman
101ce48b8c9SJonas Karlman	vcc_3v3_s0: regulator-3v3-vcc-s0 {
102ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
103ce48b8c9SJonas Karlman		regulator-name = "vcc_3v3_s0";
104ce48b8c9SJonas Karlman		regulator-always-on;
105ce48b8c9SJonas Karlman		regulator-boot-on;
106ce48b8c9SJonas Karlman		regulator-min-microvolt = <3300000>;
107ce48b8c9SJonas Karlman		regulator-max-microvolt = <3300000>;
108ce48b8c9SJonas Karlman		vin-supply = <&vcc_3v3_s3>;
109ce48b8c9SJonas Karlman	};
110ce48b8c9SJonas Karlman
111ce48b8c9SJonas Karlman	vcc4v0_sys: regulator-4v0-vcc-sys {
112ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
113ce48b8c9SJonas Karlman		regulator-name = "vcc4v0_sys";
114ce48b8c9SJonas Karlman		regulator-always-on;
115ce48b8c9SJonas Karlman		regulator-boot-on;
116ce48b8c9SJonas Karlman		regulator-min-microvolt = <4800000>;
117ce48b8c9SJonas Karlman		regulator-max-microvolt = <4800000>;
118ce48b8c9SJonas Karlman		vin-supply = <&vcc12v_dcin>;
119ce48b8c9SJonas Karlman	};
120ce48b8c9SJonas Karlman
121ce48b8c9SJonas Karlman	vcc5v0_sys: regulator-5v0-vcc-sys {
122ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
123ce48b8c9SJonas Karlman		enable-active-high;
124ce48b8c9SJonas Karlman		gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
125ce48b8c9SJonas Karlman		pinctrl-names = "default";
126ce48b8c9SJonas Karlman		pinctrl-0 = <&vcc5v0_pwren>;
127ce48b8c9SJonas Karlman		regulator-name = "vcc5v0_sys";
128ce48b8c9SJonas Karlman		regulator-always-on;
129ce48b8c9SJonas Karlman		regulator-boot-on;
130ce48b8c9SJonas Karlman		regulator-min-microvolt = <5000000>;
131ce48b8c9SJonas Karlman		regulator-max-microvolt = <5000000>;
132ce48b8c9SJonas Karlman		vin-supply = <&vcc12v_dcin>;
133ce48b8c9SJonas Karlman	};
134ce48b8c9SJonas Karlman
135ce48b8c9SJonas Karlman	vcc5v0_usb2_host: regulator-5v0-vcc-usb2-host {
136ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
137ce48b8c9SJonas Karlman		enable-active-high;
138ce48b8c9SJonas Karlman		gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
139ce48b8c9SJonas Karlman		pinctrl-names = "default";
140ce48b8c9SJonas Karlman		pinctrl-0 = <&usb2_host_pwren>;
141ce48b8c9SJonas Karlman		regulator-name = "vcc5v0_usb2_host";
142ce48b8c9SJonas Karlman		regulator-min-microvolt = <5000000>;
143ce48b8c9SJonas Karlman		regulator-max-microvolt = <5000000>;
144ce48b8c9SJonas Karlman		vin-supply = <&vcc5v0_sys>;
145ce48b8c9SJonas Karlman	};
146ce48b8c9SJonas Karlman
147ce48b8c9SJonas Karlman	vcc5v0_usb3_host: regulator-5v0-vcc-usb3-host {
148ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
149ce48b8c9SJonas Karlman		enable-active-high;
150ce48b8c9SJonas Karlman		gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
151ce48b8c9SJonas Karlman		pinctrl-names = "default";
152ce48b8c9SJonas Karlman		pinctrl-0 = <&usb3_host_pwren>;
153ce48b8c9SJonas Karlman		regulator-name = "vcc5v0_usb3_host";
154ce48b8c9SJonas Karlman		regulator-min-microvolt = <5000000>;
155ce48b8c9SJonas Karlman		regulator-max-microvolt = <5000000>;
156ce48b8c9SJonas Karlman		vin-supply = <&vcc5v0_sys>;
157ce48b8c9SJonas Karlman	};
158ce48b8c9SJonas Karlman
159ce48b8c9SJonas Karlman	vcc5v0_usb3_typec: regulator-5v0-vcc-usb3-typec {
160ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
161ce48b8c9SJonas Karlman		enable-active-high;
162ce48b8c9SJonas Karlman		gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
163ce48b8c9SJonas Karlman		pinctrl-names = "default";
164ce48b8c9SJonas Karlman		pinctrl-0 = <&usb3_typec_pwren>;
165ce48b8c9SJonas Karlman		regulator-name = "vcc5v0_usb3_typec";
166ce48b8c9SJonas Karlman		regulator-min-microvolt = <5000000>;
167ce48b8c9SJonas Karlman		regulator-max-microvolt = <5000000>;
168ce48b8c9SJonas Karlman		vin-supply = <&vcc5v0_sys>;
169ce48b8c9SJonas Karlman	};
170ce48b8c9SJonas Karlman
171ce48b8c9SJonas Karlman	vcca: regulator-5v0-vcca {
172ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
173ce48b8c9SJonas Karlman		regulator-name = "vcca";
174ce48b8c9SJonas Karlman		regulator-always-on;
175ce48b8c9SJonas Karlman		regulator-boot-on;
176ce48b8c9SJonas Karlman		regulator-min-microvolt = <5000000>;
177ce48b8c9SJonas Karlman		regulator-max-microvolt = <5000000>;
178ce48b8c9SJonas Karlman		vin-supply = <&vcc12v_dcin>;
179ce48b8c9SJonas Karlman	};
180ce48b8c9SJonas Karlman
181ce48b8c9SJonas Karlman	vcc12v_dcin: regulator-12v0-vcc-dcin {
182ce48b8c9SJonas Karlman		compatible = "regulator-fixed";
183ce48b8c9SJonas Karlman		regulator-name = "vcc12v_dcin";
184ce48b8c9SJonas Karlman		regulator-always-on;
185ce48b8c9SJonas Karlman		regulator-boot-on;
186ce48b8c9SJonas Karlman		regulator-min-microvolt = <12000000>;
187ce48b8c9SJonas Karlman		regulator-max-microvolt = <12000000>;
188ce48b8c9SJonas Karlman	};
189ce48b8c9SJonas Karlman};
190ce48b8c9SJonas Karlman
191ce48b8c9SJonas Karlman&combphy0_ps {
192ce48b8c9SJonas Karlman	status = "okay";
193ce48b8c9SJonas Karlman};
194ce48b8c9SJonas Karlman
195ce48b8c9SJonas Karlman&combphy2_psu {
196ce48b8c9SJonas Karlman	status = "okay";
197ce48b8c9SJonas Karlman};
198ce48b8c9SJonas Karlman
199ce48b8c9SJonas Karlman&cpu_b0 {
200ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_big0_s0>;
201ce48b8c9SJonas Karlman};
202ce48b8c9SJonas Karlman
203ce48b8c9SJonas Karlman&cpu_b1 {
204ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_big0_s0>;
205ce48b8c9SJonas Karlman};
206ce48b8c9SJonas Karlman
207ce48b8c9SJonas Karlman&cpu_b2 {
208ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_big1_s0>;
209ce48b8c9SJonas Karlman};
210ce48b8c9SJonas Karlman
211ce48b8c9SJonas Karlman&cpu_b3 {
212ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_big1_s0>;
213ce48b8c9SJonas Karlman};
214ce48b8c9SJonas Karlman
215ce48b8c9SJonas Karlman&cpu_l0 {
216ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_lit_s0>;
217ce48b8c9SJonas Karlman};
218ce48b8c9SJonas Karlman
219ce48b8c9SJonas Karlman&cpu_l1 {
220ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_lit_s0>;
221ce48b8c9SJonas Karlman};
222ce48b8c9SJonas Karlman
223ce48b8c9SJonas Karlman&cpu_l2 {
224ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_lit_s0>;
225ce48b8c9SJonas Karlman};
226ce48b8c9SJonas Karlman
227ce48b8c9SJonas Karlman&cpu_l3 {
228ce48b8c9SJonas Karlman	cpu-supply = <&vdd_cpu_lit_s0>;
229ce48b8c9SJonas Karlman};
230ce48b8c9SJonas Karlman
231ce48b8c9SJonas Karlman&gmac1 {
232ce48b8c9SJonas Karlman	clock_in_out = "output";
233ce48b8c9SJonas Karlman	phy-handle = <&rgmii_phy1>;
234ce48b8c9SJonas Karlman	phy-mode = "rgmii-id";
235ce48b8c9SJonas Karlman	phy-supply = <&vcc_3v3_s0>;
236ce48b8c9SJonas Karlman	pinctrl-names = "default";
237ce48b8c9SJonas Karlman	pinctrl-0 = <&gmac1_miim
238ce48b8c9SJonas Karlman		     &gmac1_tx_bus2
239ce48b8c9SJonas Karlman		     &gmac1_rx_bus2
240ce48b8c9SJonas Karlman		     &gmac1_rgmii_clk
241ce48b8c9SJonas Karlman		     &gmac1_rgmii_bus
242ce48b8c9SJonas Karlman		     &gmac1_clkinout>;
243ce48b8c9SJonas Karlman	status = "okay";
244ce48b8c9SJonas Karlman};
245ce48b8c9SJonas Karlman
246ce48b8c9SJonas Karlman&gpu {
247ce48b8c9SJonas Karlman	mali-supply = <&vdd_gpu_s0>;
248ce48b8c9SJonas Karlman	status = "okay";
249ce48b8c9SJonas Karlman};
250ce48b8c9SJonas Karlman
2513c4278eaSJonas Karlman&hdmi0 {
2523c4278eaSJonas Karlman	status = "okay";
2533c4278eaSJonas Karlman};
2543c4278eaSJonas Karlman
2553c4278eaSJonas Karlman&hdmi0_in {
2563c4278eaSJonas Karlman	hdmi0_in_vp0: endpoint {
2573c4278eaSJonas Karlman		remote-endpoint = <&vp0_out_hdmi0>;
2583c4278eaSJonas Karlman	};
2593c4278eaSJonas Karlman};
2603c4278eaSJonas Karlman
2613c4278eaSJonas Karlman&hdmi0_out {
2623c4278eaSJonas Karlman	hdmi0_out_con: endpoint {
2633c4278eaSJonas Karlman		remote-endpoint = <&hdmi_con_in>;
2643c4278eaSJonas Karlman	};
2653c4278eaSJonas Karlman};
2663c4278eaSJonas Karlman
2672efdb041SDamon Ding&hdptxphy0 {
2683c4278eaSJonas Karlman	status = "okay";
2693c4278eaSJonas Karlman};
2703c4278eaSJonas Karlman
271ce48b8c9SJonas Karlman&i2c0 {
272ce48b8c9SJonas Karlman	pinctrl-names = "default";
273ce48b8c9SJonas Karlman	pinctrl-0 = <&i2c0m2_xfer>;
274ce48b8c9SJonas Karlman	status = "okay";
275ce48b8c9SJonas Karlman
276ce48b8c9SJonas Karlman	vdd_cpu_big0_s0: regulator@42 {
277ce48b8c9SJonas Karlman		compatible = "rockchip,rk8602";
278ce48b8c9SJonas Karlman		reg = <0x42>;
279ce48b8c9SJonas Karlman		fcs,suspend-voltage-selector = <1>;
280ce48b8c9SJonas Karlman		regulator-name = "vdd_cpu_big0_s0";
281ce48b8c9SJonas Karlman		regulator-always-on;
282ce48b8c9SJonas Karlman		regulator-boot-on;
283ce48b8c9SJonas Karlman		regulator-min-microvolt = <550000>;
284ce48b8c9SJonas Karlman		regulator-max-microvolt = <1050000>;
285ce48b8c9SJonas Karlman		regulator-ramp-delay = <2300>;
286ce48b8c9SJonas Karlman		vin-supply = <&vcc4v0_sys>;
287ce48b8c9SJonas Karlman
288ce48b8c9SJonas Karlman		regulator-state-mem {
289ce48b8c9SJonas Karlman			regulator-off-in-suspend;
290ce48b8c9SJonas Karlman		};
291ce48b8c9SJonas Karlman	};
292ce48b8c9SJonas Karlman
293ce48b8c9SJonas Karlman	vdd_cpu_big1_s0: regulator@43 {
294ce48b8c9SJonas Karlman		compatible = "rockchip,rk8603", "rockchip,rk8602";
295ce48b8c9SJonas Karlman		reg = <0x43>;
296ce48b8c9SJonas Karlman		fcs,suspend-voltage-selector = <1>;
297ce48b8c9SJonas Karlman		regulator-name = "vdd_cpu_big1_s0";
298ce48b8c9SJonas Karlman		regulator-always-on;
299ce48b8c9SJonas Karlman		regulator-boot-on;
300ce48b8c9SJonas Karlman		regulator-min-microvolt = <550000>;
301ce48b8c9SJonas Karlman		regulator-max-microvolt = <1050000>;
302ce48b8c9SJonas Karlman		regulator-ramp-delay = <2300>;
303ce48b8c9SJonas Karlman		vin-supply = <&vcc4v0_sys>;
304ce48b8c9SJonas Karlman
305ce48b8c9SJonas Karlman		regulator-state-mem {
306ce48b8c9SJonas Karlman			regulator-off-in-suspend;
307ce48b8c9SJonas Karlman		};
308ce48b8c9SJonas Karlman	};
309ce48b8c9SJonas Karlman};
310ce48b8c9SJonas Karlman
311ce48b8c9SJonas Karlman&i2c2 {
312ce48b8c9SJonas Karlman	status = "okay";
313ce48b8c9SJonas Karlman
314ce48b8c9SJonas Karlman	vdd_npu_s0: regulator@42 {
315ce48b8c9SJonas Karlman		compatible = "rockchip,rk8602";
316ce48b8c9SJonas Karlman		reg = <0x42>;
317ce48b8c9SJonas Karlman		fcs,suspend-voltage-selector = <1>;
318ce48b8c9SJonas Karlman		regulator-name = "vdd_npu_s0";
319ce48b8c9SJonas Karlman		regulator-always-on;
320ce48b8c9SJonas Karlman		regulator-boot-on;
321ce48b8c9SJonas Karlman		regulator-min-microvolt = <550000>;
322ce48b8c9SJonas Karlman		regulator-max-microvolt = <950000>;
323ce48b8c9SJonas Karlman		regulator-ramp-delay = <2300>;
324ce48b8c9SJonas Karlman		vin-supply = <&vcc4v0_sys>;
325ce48b8c9SJonas Karlman
326ce48b8c9SJonas Karlman		regulator-state-mem {
327ce48b8c9SJonas Karlman			regulator-off-in-suspend;
328ce48b8c9SJonas Karlman		};
329ce48b8c9SJonas Karlman	};
330ce48b8c9SJonas Karlman};
331ce48b8c9SJonas Karlman
332ce48b8c9SJonas Karlman&i2c8 {
333ce48b8c9SJonas Karlman	clock-frequency = <400000>;
334ce48b8c9SJonas Karlman	pinctrl-names = "default";
335ce48b8c9SJonas Karlman	pinctrl-0 = <&i2c8m2_xfer>;
336ce48b8c9SJonas Karlman	status = "okay";
337ce48b8c9SJonas Karlman
338ce48b8c9SJonas Karlman	usbc0: usb-typec@22 {
339ce48b8c9SJonas Karlman		compatible = "fcs,fusb302";
340ce48b8c9SJonas Karlman		reg = <0x22>;
341ce48b8c9SJonas Karlman		interrupt-parent = <&gpio4>;
342ce48b8c9SJonas Karlman		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
343ce48b8c9SJonas Karlman		pinctrl-names = "default";
344ce48b8c9SJonas Karlman		pinctrl-0 = <&usbc0_int>;
345ce48b8c9SJonas Karlman		vbus-supply = <&vcc5v0_usb3_typec>;
346ce48b8c9SJonas Karlman
347ce48b8c9SJonas Karlman		connector {
348ce48b8c9SJonas Karlman			compatible = "usb-c-connector";
349ce48b8c9SJonas Karlman			data-role = "dual";
350ce48b8c9SJonas Karlman			label = "USB-C";
351ce48b8c9SJonas Karlman			op-sink-microwatt = <1000000>;
352ce48b8c9SJonas Karlman			power-role = "dual";
353ce48b8c9SJonas Karlman			sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
354ce48b8c9SJonas Karlman			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
355ce48b8c9SJonas Karlman			try-power-role = "source";
356ce48b8c9SJonas Karlman
357ce48b8c9SJonas Karlman			ports {
358ce48b8c9SJonas Karlman				#address-cells = <1>;
359ce48b8c9SJonas Karlman				#size-cells = <0>;
360ce48b8c9SJonas Karlman
361ce48b8c9SJonas Karlman				port@0 {
362ce48b8c9SJonas Karlman					reg = <0>;
363ce48b8c9SJonas Karlman
364ce48b8c9SJonas Karlman					usbc0_role_switch: endpoint {
365ce48b8c9SJonas Karlman						remote-endpoint = <&usb_host0_xhci_role_switch>;
366ce48b8c9SJonas Karlman					};
367ce48b8c9SJonas Karlman				};
368ce48b8c9SJonas Karlman
369ce48b8c9SJonas Karlman				port@1 {
370ce48b8c9SJonas Karlman					reg = <1>;
371ce48b8c9SJonas Karlman
372ce48b8c9SJonas Karlman					usbc0_orientation_switch: endpoint {
373ce48b8c9SJonas Karlman						remote-endpoint = <&usbdp_phy0_orientation_switch>;
374ce48b8c9SJonas Karlman					};
375ce48b8c9SJonas Karlman				};
376ce48b8c9SJonas Karlman
377ce48b8c9SJonas Karlman				port@2 {
378ce48b8c9SJonas Karlman					reg = <2>;
379ce48b8c9SJonas Karlman
380ce48b8c9SJonas Karlman					usbc0_dp_altmode_mux: endpoint {
381ce48b8c9SJonas Karlman						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
382ce48b8c9SJonas Karlman					};
383ce48b8c9SJonas Karlman				};
384ce48b8c9SJonas Karlman			};
385ce48b8c9SJonas Karlman		};
386ce48b8c9SJonas Karlman	};
387ce48b8c9SJonas Karlman
388ce48b8c9SJonas Karlman	pcf8563: rtc@51 {
389ce48b8c9SJonas Karlman		compatible = "nxp,pcf8563";
390ce48b8c9SJonas Karlman		reg = <0x51>;
391ce48b8c9SJonas Karlman		interrupt-parent = <&gpio0>;
392ce48b8c9SJonas Karlman		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
393ce48b8c9SJonas Karlman		pinctrl-names = "default";
394ce48b8c9SJonas Karlman		pinctrl-0 = <&pcf8563_int>;
395ce48b8c9SJonas Karlman		wakeup-source;
396ce48b8c9SJonas Karlman	};
397ce48b8c9SJonas Karlman};
398ce48b8c9SJonas Karlman
399ce48b8c9SJonas Karlman&mdio1 {
400ce48b8c9SJonas Karlman	rgmii_phy1: ethernet-phy@1 {
401ce48b8c9SJonas Karlman		compatible = "ethernet-phy-id001c.c916";
402ce48b8c9SJonas Karlman		reg = <1>;
403ce48b8c9SJonas Karlman		reset-assert-us = <20000>;
404ce48b8c9SJonas Karlman		reset-deassert-us = <100000>;
405ce48b8c9SJonas Karlman		reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
406ce48b8c9SJonas Karlman	};
407ce48b8c9SJonas Karlman};
408ce48b8c9SJonas Karlman
409ce48b8c9SJonas Karlman&package_thermal {
410ce48b8c9SJonas Karlman	polling-delay = <1000>;
411ce48b8c9SJonas Karlman
412ce48b8c9SJonas Karlman	trips {
413ce48b8c9SJonas Karlman		package_fan0: package-fan0 {
414ce48b8c9SJonas Karlman			hysteresis = <2000>;
415ce48b8c9SJonas Karlman			temperature = <60000>;
416ce48b8c9SJonas Karlman			type = "active";
417ce48b8c9SJonas Karlman		};
418ce48b8c9SJonas Karlman	};
419ce48b8c9SJonas Karlman
420ce48b8c9SJonas Karlman	cooling-maps {
421ce48b8c9SJonas Karlman		map0 {
422ce48b8c9SJonas Karlman			cooling-device = <&fan 1 THERMAL_NO_LIMIT>;
423ce48b8c9SJonas Karlman			trip = <&package_fan0>;
424ce48b8c9SJonas Karlman		};
425ce48b8c9SJonas Karlman	};
426ce48b8c9SJonas Karlman};
427ce48b8c9SJonas Karlman
428ce48b8c9SJonas Karlman&pcie2x1l2 {
429ce48b8c9SJonas Karlman	pinctrl-names = "default";
430ce48b8c9SJonas Karlman	pinctrl-0 = <&pcie20x1_pins>;
431ce48b8c9SJonas Karlman	reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
432ce48b8c9SJonas Karlman	vpcie3v3-supply = <&vcc3v3_pcie>;
433ce48b8c9SJonas Karlman	status = "okay";
434ce48b8c9SJonas Karlman};
435ce48b8c9SJonas Karlman
436*f94500ebSSebastian Reichel&pd_gpu {
437*f94500ebSSebastian Reichel	domain-supply = <&vdd_gpu_s0>;
438*f94500ebSSebastian Reichel};
439*f94500ebSSebastian Reichel
440ce48b8c9SJonas Karlman&pinctrl {
441ce48b8c9SJonas Karlman	lcd {
442ce48b8c9SJonas Karlman		lcd_pwren: lcd-pwren {
443ce48b8c9SJonas Karlman			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
444ce48b8c9SJonas Karlman		};
445ce48b8c9SJonas Karlman	};
446ce48b8c9SJonas Karlman
447ce48b8c9SJonas Karlman	leds {
448ce48b8c9SJonas Karlman		pwr_led: pwr-led {
449ce48b8c9SJonas Karlman			rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
450ce48b8c9SJonas Karlman		};
451ce48b8c9SJonas Karlman
452ce48b8c9SJonas Karlman		sys_led: sys-led {
453ce48b8c9SJonas Karlman			rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
454ce48b8c9SJonas Karlman		};
455ce48b8c9SJonas Karlman	};
456ce48b8c9SJonas Karlman
457ce48b8c9SJonas Karlman	pcie {
458ce48b8c9SJonas Karlman		pcie20x1_pins: pcie20x1-pins {
459ce48b8c9SJonas Karlman			rockchip,pins =
460ce48b8c9SJonas Karlman				<1 RK_PA0 4 &pcfg_pull_none>,
461ce48b8c9SJonas Karlman				<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>,
462ce48b8c9SJonas Karlman				<1 RK_PA1 4 &pcfg_pull_none>;
463ce48b8c9SJonas Karlman		};
464ce48b8c9SJonas Karlman
465ce48b8c9SJonas Karlman		pcie_pwren: pcie-pwren {
466ce48b8c9SJonas Karlman			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
467ce48b8c9SJonas Karlman		};
468ce48b8c9SJonas Karlman	};
469ce48b8c9SJonas Karlman
470ce48b8c9SJonas Karlman	regulator {
471ce48b8c9SJonas Karlman		vcc5v0_pwren: vcc5v0-pwren {
472ce48b8c9SJonas Karlman			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
473ce48b8c9SJonas Karlman		};
474ce48b8c9SJonas Karlman	};
475ce48b8c9SJonas Karlman
476ce48b8c9SJonas Karlman	rtc {
477ce48b8c9SJonas Karlman		pcf8563_int: pcf8563-int {
478ce48b8c9SJonas Karlman			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
479ce48b8c9SJonas Karlman		};
480ce48b8c9SJonas Karlman	};
481ce48b8c9SJonas Karlman
482ce48b8c9SJonas Karlman	usb {
483ce48b8c9SJonas Karlman		usb2_host_pwren: usb2-host-pwren {
484ce48b8c9SJonas Karlman			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
485ce48b8c9SJonas Karlman		};
486ce48b8c9SJonas Karlman
487ce48b8c9SJonas Karlman		usb3_host_pwren: usb3-host-pwren {
488ce48b8c9SJonas Karlman			rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
489ce48b8c9SJonas Karlman		};
490ce48b8c9SJonas Karlman
491ce48b8c9SJonas Karlman		usb3_typec_pwren: usb3-typec-pwren {
492ce48b8c9SJonas Karlman			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
493ce48b8c9SJonas Karlman		};
494ce48b8c9SJonas Karlman
495ce48b8c9SJonas Karlman		usbc0_int: usbc0-int {
496ce48b8c9SJonas Karlman			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
497ce48b8c9SJonas Karlman		};
498ce48b8c9SJonas Karlman	};
499ce48b8c9SJonas Karlman};
500ce48b8c9SJonas Karlman
501ce48b8c9SJonas Karlman&pwm0 {
502ce48b8c9SJonas Karlman	pinctrl-names = "default";
503ce48b8c9SJonas Karlman	pinctrl-0 = <&pwm0m2_pins>;
504ce48b8c9SJonas Karlman	status = "okay";
505ce48b8c9SJonas Karlman};
506ce48b8c9SJonas Karlman
507ce48b8c9SJonas Karlman&saradc {
508ce48b8c9SJonas Karlman	vref-supply = <&vcca_1v8_s0>;
509ce48b8c9SJonas Karlman	status = "okay";
510ce48b8c9SJonas Karlman};
511ce48b8c9SJonas Karlman
512ce48b8c9SJonas Karlman&sdhci {
513ce48b8c9SJonas Karlman	bus-width = <8>;
514ce48b8c9SJonas Karlman	mmc-hs400-1_8v;
515ce48b8c9SJonas Karlman	mmc-hs400-enhanced-strobe;
516ce48b8c9SJonas Karlman	no-sd;
517ce48b8c9SJonas Karlman	no-sdio;
518ce48b8c9SJonas Karlman	non-removable;
519ce48b8c9SJonas Karlman	vmmc-supply = <&vcc_3v3_s0>;
520ce48b8c9SJonas Karlman	vqmmc-supply = <&vcc_1v8_s0>;
521ce48b8c9SJonas Karlman	status = "okay";
522ce48b8c9SJonas Karlman};
523ce48b8c9SJonas Karlman
524ce48b8c9SJonas Karlman&sdmmc {
525ce48b8c9SJonas Karlman	bus-width = <4>;
526ce48b8c9SJonas Karlman	cap-sd-highspeed;
527ce48b8c9SJonas Karlman	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
528ce48b8c9SJonas Karlman	disable-wp;
529ce48b8c9SJonas Karlman	max-frequency = <150000000>;
530ce48b8c9SJonas Karlman	no-mmc;
531ce48b8c9SJonas Karlman	no-sdio;
532ce48b8c9SJonas Karlman	sd-uhs-sdr104;
533ce48b8c9SJonas Karlman	vmmc-supply = <&vcc_3v3_s3>;
534ce48b8c9SJonas Karlman	vqmmc-supply = <&vccio_sd_s0>;
535ce48b8c9SJonas Karlman	status = "okay";
536ce48b8c9SJonas Karlman};
537ce48b8c9SJonas Karlman
538ce48b8c9SJonas Karlman&spi2 {
539ce48b8c9SJonas Karlman	assigned-clocks = <&cru CLK_SPI2>;
540ce48b8c9SJonas Karlman	assigned-clock-rates = <200000000>;
541ce48b8c9SJonas Karlman	num-cs = <1>;
542ce48b8c9SJonas Karlman	pinctrl-names = "default";
543ce48b8c9SJonas Karlman	pinctrl-0 = <&spi2m2_cs0>, <&spi2m2_pins>;
544ce48b8c9SJonas Karlman	status = "okay";
545ce48b8c9SJonas Karlman
546ce48b8c9SJonas Karlman	pmic@0 {
547ce48b8c9SJonas Karlman		compatible = "rockchip,rk806";
548ce48b8c9SJonas Karlman		reg = <0x0>;
549ce48b8c9SJonas Karlman		#gpio-cells = <2>;
550ce48b8c9SJonas Karlman		gpio-controller;
551ce48b8c9SJonas Karlman		interrupt-parent = <&gpio0>;
552ce48b8c9SJonas Karlman		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
553ce48b8c9SJonas Karlman		pinctrl-names = "default";
554ce48b8c9SJonas Karlman		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
555ce48b8c9SJonas Karlman			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
556ce48b8c9SJonas Karlman		spi-max-frequency = <1000000>;
557ce48b8c9SJonas Karlman		system-power-controller;
558ce48b8c9SJonas Karlman
559ce48b8c9SJonas Karlman		vcc1-supply = <&vcc4v0_sys>;
560ce48b8c9SJonas Karlman		vcc2-supply = <&vcc4v0_sys>;
561ce48b8c9SJonas Karlman		vcc3-supply = <&vcc4v0_sys>;
562ce48b8c9SJonas Karlman		vcc4-supply = <&vcc4v0_sys>;
563ce48b8c9SJonas Karlman		vcc5-supply = <&vcc4v0_sys>;
564ce48b8c9SJonas Karlman		vcc6-supply = <&vcc4v0_sys>;
565ce48b8c9SJonas Karlman		vcc7-supply = <&vcc4v0_sys>;
566ce48b8c9SJonas Karlman		vcc8-supply = <&vcc4v0_sys>;
567ce48b8c9SJonas Karlman		vcc9-supply = <&vcc4v0_sys>;
568ce48b8c9SJonas Karlman		vcc10-supply = <&vcc4v0_sys>;
569ce48b8c9SJonas Karlman		vcc11-supply = <&vcc_2v0_pldo_s3>;
570ce48b8c9SJonas Karlman		vcc12-supply = <&vcc4v0_sys>;
571ce48b8c9SJonas Karlman		vcc13-supply = <&vcc_1v1_nldo_s3>;
572ce48b8c9SJonas Karlman		vcc14-supply = <&vcc_1v1_nldo_s3>;
573ce48b8c9SJonas Karlman		vcca-supply = <&vcca>;
574ce48b8c9SJonas Karlman
575ce48b8c9SJonas Karlman		rk806_dvs1_null: dvs1-null-pins {
576ce48b8c9SJonas Karlman			pins = "gpio_pwrctrl1";
577ce48b8c9SJonas Karlman			function = "pin_fun0";
578ce48b8c9SJonas Karlman		};
579ce48b8c9SJonas Karlman
580ce48b8c9SJonas Karlman		rk806_dvs2_null: dvs2-null-pins {
581ce48b8c9SJonas Karlman			pins = "gpio_pwrctrl2";
582ce48b8c9SJonas Karlman			function = "pin_fun0";
583ce48b8c9SJonas Karlman		};
584ce48b8c9SJonas Karlman
585ce48b8c9SJonas Karlman		rk806_dvs3_null: dvs3-null-pins {
586ce48b8c9SJonas Karlman			pins = "gpio_pwrctrl3";
587ce48b8c9SJonas Karlman			function = "pin_fun0";
588ce48b8c9SJonas Karlman		};
589ce48b8c9SJonas Karlman
590ce48b8c9SJonas Karlman		regulators {
591ce48b8c9SJonas Karlman			vdd_gpu_s0: dcdc-reg1 {
592ce48b8c9SJonas Karlman				regulator-name = "vdd_gpu_s0";
593ce48b8c9SJonas Karlman				regulator-boot-on;
594ce48b8c9SJonas Karlman				regulator-min-microvolt = <550000>;
595ce48b8c9SJonas Karlman				regulator-max-microvolt = <950000>;
596ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
597ce48b8c9SJonas Karlman				regulator-enable-ramp-delay = <400>;
598ce48b8c9SJonas Karlman
599ce48b8c9SJonas Karlman				regulator-state-mem {
600ce48b8c9SJonas Karlman					regulator-off-in-suspend;
601ce48b8c9SJonas Karlman				};
602ce48b8c9SJonas Karlman			};
603ce48b8c9SJonas Karlman
604ce48b8c9SJonas Karlman			vdd_cpu_lit_s0: dcdc-reg2 {
605ce48b8c9SJonas Karlman				regulator-name = "vdd_cpu_lit_s0";
606ce48b8c9SJonas Karlman				regulator-always-on;
607ce48b8c9SJonas Karlman				regulator-boot-on;
608ce48b8c9SJonas Karlman				regulator-min-microvolt = <550000>;
609ce48b8c9SJonas Karlman				regulator-max-microvolt = <950000>;
610ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
611ce48b8c9SJonas Karlman
612ce48b8c9SJonas Karlman				regulator-state-mem {
613ce48b8c9SJonas Karlman					regulator-off-in-suspend;
614ce48b8c9SJonas Karlman				};
615ce48b8c9SJonas Karlman			};
616ce48b8c9SJonas Karlman
617ce48b8c9SJonas Karlman			vdd_logic_s0: dcdc-reg3 {
618ce48b8c9SJonas Karlman				regulator-name = "vdd_logic_s0";
619ce48b8c9SJonas Karlman				regulator-always-on;
620ce48b8c9SJonas Karlman				regulator-boot-on;
621ce48b8c9SJonas Karlman				regulator-min-microvolt = <675000>;
622ce48b8c9SJonas Karlman				regulator-max-microvolt = <750000>;
623ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
624ce48b8c9SJonas Karlman
625ce48b8c9SJonas Karlman				regulator-state-mem {
626ce48b8c9SJonas Karlman					regulator-off-in-suspend;
627ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <750000>;
628ce48b8c9SJonas Karlman				};
629ce48b8c9SJonas Karlman			};
630ce48b8c9SJonas Karlman
631ce48b8c9SJonas Karlman			vdd_vdenc_s0: dcdc-reg4 {
632ce48b8c9SJonas Karlman				regulator-name = "vdd_vdenc_s0";
633ce48b8c9SJonas Karlman				regulator-always-on;
634ce48b8c9SJonas Karlman				regulator-boot-on;
635ce48b8c9SJonas Karlman				regulator-min-microvolt = <550000>;
636ce48b8c9SJonas Karlman				regulator-max-microvolt = <950000>;
637ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
638ce48b8c9SJonas Karlman
639ce48b8c9SJonas Karlman				regulator-state-mem {
640ce48b8c9SJonas Karlman					regulator-off-in-suspend;
641ce48b8c9SJonas Karlman				};
642ce48b8c9SJonas Karlman			};
643ce48b8c9SJonas Karlman
644ce48b8c9SJonas Karlman			vdd_ddr_s0: dcdc-reg5 {
645ce48b8c9SJonas Karlman				regulator-name = "vdd_ddr_s0";
646ce48b8c9SJonas Karlman				regulator-always-on;
647ce48b8c9SJonas Karlman				regulator-boot-on;
648ce48b8c9SJonas Karlman				regulator-min-microvolt = <675000>;
649ce48b8c9SJonas Karlman				regulator-max-microvolt = <900000>;
650ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
651ce48b8c9SJonas Karlman
652ce48b8c9SJonas Karlman				regulator-state-mem {
653ce48b8c9SJonas Karlman					regulator-off-in-suspend;
654ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <850000>;
655ce48b8c9SJonas Karlman				};
656ce48b8c9SJonas Karlman			};
657ce48b8c9SJonas Karlman
658ce48b8c9SJonas Karlman			vdd2_ddr_s3: dcdc-reg6 {
659ce48b8c9SJonas Karlman				regulator-name = "vdd2_ddr_s3";
660ce48b8c9SJonas Karlman				regulator-always-on;
661ce48b8c9SJonas Karlman				regulator-boot-on;
662ce48b8c9SJonas Karlman
663ce48b8c9SJonas Karlman				regulator-state-mem {
664ce48b8c9SJonas Karlman					regulator-on-in-suspend;
665ce48b8c9SJonas Karlman				};
666ce48b8c9SJonas Karlman			};
667ce48b8c9SJonas Karlman
668ce48b8c9SJonas Karlman			vcc_2v0_pldo_s3: dcdc-reg7 {
669ce48b8c9SJonas Karlman				regulator-name = "vdd_2v0_pldo_s3";
670ce48b8c9SJonas Karlman				regulator-always-on;
671ce48b8c9SJonas Karlman				regulator-boot-on;
672ce48b8c9SJonas Karlman				regulator-min-microvolt = <2000000>;
673ce48b8c9SJonas Karlman				regulator-max-microvolt = <2000000>;
674ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
675ce48b8c9SJonas Karlman
676ce48b8c9SJonas Karlman				regulator-state-mem {
677ce48b8c9SJonas Karlman					regulator-on-in-suspend;
678ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <2000000>;
679ce48b8c9SJonas Karlman				};
680ce48b8c9SJonas Karlman			};
681ce48b8c9SJonas Karlman
682ce48b8c9SJonas Karlman			vcc_3v3_s3: dcdc-reg8 {
683ce48b8c9SJonas Karlman				regulator-name = "vcc_3v3_s3";
684ce48b8c9SJonas Karlman				regulator-always-on;
685ce48b8c9SJonas Karlman				regulator-boot-on;
686ce48b8c9SJonas Karlman				regulator-min-microvolt = <3300000>;
687ce48b8c9SJonas Karlman				regulator-max-microvolt = <3300000>;
688ce48b8c9SJonas Karlman
689ce48b8c9SJonas Karlman				regulator-state-mem {
690ce48b8c9SJonas Karlman					regulator-on-in-suspend;
691ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <3300000>;
692ce48b8c9SJonas Karlman				};
693ce48b8c9SJonas Karlman			};
694ce48b8c9SJonas Karlman
695ce48b8c9SJonas Karlman			vddq_ddr_s0: dcdc-reg9 {
696ce48b8c9SJonas Karlman				regulator-name = "vddq_ddr_s0";
697ce48b8c9SJonas Karlman				regulator-always-on;
698ce48b8c9SJonas Karlman				regulator-boot-on;
699ce48b8c9SJonas Karlman
700ce48b8c9SJonas Karlman				regulator-state-mem {
701ce48b8c9SJonas Karlman					regulator-off-in-suspend;
702ce48b8c9SJonas Karlman				};
703ce48b8c9SJonas Karlman			};
704ce48b8c9SJonas Karlman
705ce48b8c9SJonas Karlman			vcc_1v8_s3: dcdc-reg10 {
706ce48b8c9SJonas Karlman				regulator-name = "vcc_1v8_s3";
707ce48b8c9SJonas Karlman				regulator-always-on;
708ce48b8c9SJonas Karlman				regulator-boot-on;
709ce48b8c9SJonas Karlman				regulator-min-microvolt = <1800000>;
710ce48b8c9SJonas Karlman				regulator-max-microvolt = <1800000>;
711ce48b8c9SJonas Karlman
712ce48b8c9SJonas Karlman				regulator-state-mem {
713ce48b8c9SJonas Karlman					regulator-on-in-suspend;
714ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <1800000>;
715ce48b8c9SJonas Karlman				};
716ce48b8c9SJonas Karlman			};
717ce48b8c9SJonas Karlman
718ce48b8c9SJonas Karlman			vcc_1v8_s0: pldo-reg1 {
719ce48b8c9SJonas Karlman				regulator-name = "vcc_1v8_s0";
720ce48b8c9SJonas Karlman				regulator-always-on;
721ce48b8c9SJonas Karlman				regulator-boot-on;
722ce48b8c9SJonas Karlman				regulator-min-microvolt = <1800000>;
723ce48b8c9SJonas Karlman				regulator-max-microvolt = <1800000>;
724ce48b8c9SJonas Karlman
725ce48b8c9SJonas Karlman				regulator-state-mem {
726ce48b8c9SJonas Karlman					regulator-off-in-suspend;
727ce48b8c9SJonas Karlman				};
728ce48b8c9SJonas Karlman			};
729ce48b8c9SJonas Karlman
730ce48b8c9SJonas Karlman			vcca_1v8_s0: pldo-reg2 {
731ce48b8c9SJonas Karlman				regulator-name = "vcca_1v8_s0";
732ce48b8c9SJonas Karlman				regulator-always-on;
733ce48b8c9SJonas Karlman				regulator-boot-on;
734ce48b8c9SJonas Karlman				regulator-min-microvolt = <1800000>;
735ce48b8c9SJonas Karlman				regulator-max-microvolt = <1800000>;
736ce48b8c9SJonas Karlman
737ce48b8c9SJonas Karlman				regulator-state-mem {
738ce48b8c9SJonas Karlman					regulator-off-in-suspend;
739ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <1800000>;
740ce48b8c9SJonas Karlman				};
741ce48b8c9SJonas Karlman			};
742ce48b8c9SJonas Karlman
743ce48b8c9SJonas Karlman			vdda_1v2_s0: pldo-reg3 {
744ce48b8c9SJonas Karlman				regulator-name = "vdda_1v2_s0";
745ce48b8c9SJonas Karlman				regulator-always-on;
746ce48b8c9SJonas Karlman				regulator-boot-on;
747ce48b8c9SJonas Karlman				regulator-min-microvolt = <1200000>;
748ce48b8c9SJonas Karlman				regulator-max-microvolt = <1200000>;
749ce48b8c9SJonas Karlman
750ce48b8c9SJonas Karlman				regulator-state-mem {
751ce48b8c9SJonas Karlman					regulator-off-in-suspend;
752ce48b8c9SJonas Karlman				};
753ce48b8c9SJonas Karlman			};
754ce48b8c9SJonas Karlman
755ce48b8c9SJonas Karlman			vcca_3v3_s0: pldo-reg4 {
756ce48b8c9SJonas Karlman				regulator-name = "vcca_3v3_s0";
757ce48b8c9SJonas Karlman				regulator-always-on;
758ce48b8c9SJonas Karlman				regulator-boot-on;
759ce48b8c9SJonas Karlman				regulator-min-microvolt = <3300000>;
760ce48b8c9SJonas Karlman				regulator-max-microvolt = <3300000>;
761ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
762ce48b8c9SJonas Karlman
763ce48b8c9SJonas Karlman				regulator-state-mem {
764ce48b8c9SJonas Karlman					regulator-off-in-suspend;
765ce48b8c9SJonas Karlman				};
766ce48b8c9SJonas Karlman			};
767ce48b8c9SJonas Karlman
768ce48b8c9SJonas Karlman			vccio_sd_s0: pldo-reg5 {
769ce48b8c9SJonas Karlman				regulator-name = "vccio_sd_s0";
770ce48b8c9SJonas Karlman				regulator-always-on;
771ce48b8c9SJonas Karlman				regulator-boot-on;
772ce48b8c9SJonas Karlman				regulator-min-microvolt = <1800000>;
773ce48b8c9SJonas Karlman				regulator-max-microvolt = <3300000>;
774ce48b8c9SJonas Karlman				regulator-ramp-delay = <12500>;
775ce48b8c9SJonas Karlman
776ce48b8c9SJonas Karlman				regulator-state-mem {
777ce48b8c9SJonas Karlman					regulator-off-in-suspend;
778ce48b8c9SJonas Karlman				};
779ce48b8c9SJonas Karlman			};
780ce48b8c9SJonas Karlman
781ce48b8c9SJonas Karlman			vcc_1v8_s3_pldo6: pldo-reg6 {
782ce48b8c9SJonas Karlman				regulator-name = "vcc_1v8_s3_pldo6";
783ce48b8c9SJonas Karlman				regulator-always-on;
784ce48b8c9SJonas Karlman				regulator-boot-on;
785ce48b8c9SJonas Karlman				regulator-min-microvolt = <1800000>;
786ce48b8c9SJonas Karlman				regulator-max-microvolt = <1800000>;
787ce48b8c9SJonas Karlman
788ce48b8c9SJonas Karlman				regulator-state-mem {
789ce48b8c9SJonas Karlman					regulator-on-in-suspend;
790ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <1800000>;
791ce48b8c9SJonas Karlman				};
792ce48b8c9SJonas Karlman			};
793ce48b8c9SJonas Karlman
794ce48b8c9SJonas Karlman			vdd_0v75_s3: nldo-reg1 {
795ce48b8c9SJonas Karlman				regulator-name = "vdd_0v75_s3";
796ce48b8c9SJonas Karlman				regulator-always-on;
797ce48b8c9SJonas Karlman				regulator-boot-on;
798ce48b8c9SJonas Karlman				regulator-min-microvolt = <750000>;
799ce48b8c9SJonas Karlman				regulator-max-microvolt = <750000>;
800ce48b8c9SJonas Karlman
801ce48b8c9SJonas Karlman				regulator-state-mem {
802ce48b8c9SJonas Karlman					regulator-on-in-suspend;
803ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <750000>;
804ce48b8c9SJonas Karlman				};
805ce48b8c9SJonas Karlman			};
806ce48b8c9SJonas Karlman
807ce48b8c9SJonas Karlman			vdda_ddr_pll_s0: nldo-reg2 {
808ce48b8c9SJonas Karlman				regulator-name = "vdda_ddr_pll_s0";
809ce48b8c9SJonas Karlman				regulator-always-on;
810ce48b8c9SJonas Karlman				regulator-boot-on;
811ce48b8c9SJonas Karlman				regulator-min-microvolt = <900000>;
812ce48b8c9SJonas Karlman				regulator-max-microvolt = <900000>;
813ce48b8c9SJonas Karlman
814ce48b8c9SJonas Karlman				regulator-state-mem {
815ce48b8c9SJonas Karlman					regulator-off-in-suspend;
816ce48b8c9SJonas Karlman					regulator-suspend-microvolt = <850000>;
817ce48b8c9SJonas Karlman				};
818ce48b8c9SJonas Karlman			};
819ce48b8c9SJonas Karlman
820ce48b8c9SJonas Karlman			vdda_0v75_s0: nldo-reg3 {
821ce48b8c9SJonas Karlman				regulator-name = "vdda_0v75_s0";
822ce48b8c9SJonas Karlman				regulator-always-on;
823ce48b8c9SJonas Karlman				regulator-boot-on;
824ce48b8c9SJonas Karlman				regulator-min-microvolt = <837500>;
825ce48b8c9SJonas Karlman				regulator-max-microvolt = <837500>;
826ce48b8c9SJonas Karlman
827ce48b8c9SJonas Karlman				regulator-state-mem {
828ce48b8c9SJonas Karlman					regulator-off-in-suspend;
829ce48b8c9SJonas Karlman				};
830ce48b8c9SJonas Karlman			};
831ce48b8c9SJonas Karlman
832ce48b8c9SJonas Karlman			vdda_0v85_s0: nldo-reg4 {
833ce48b8c9SJonas Karlman				regulator-name = "vdda_0v85_s0";
834ce48b8c9SJonas Karlman				regulator-always-on;
835ce48b8c9SJonas Karlman				regulator-boot-on;
836ce48b8c9SJonas Karlman				regulator-min-microvolt = <850000>;
837ce48b8c9SJonas Karlman				regulator-max-microvolt = <850000>;
838ce48b8c9SJonas Karlman
839ce48b8c9SJonas Karlman				regulator-state-mem {
840ce48b8c9SJonas Karlman					regulator-off-in-suspend;
841ce48b8c9SJonas Karlman				};
842ce48b8c9SJonas Karlman			};
843ce48b8c9SJonas Karlman
844ce48b8c9SJonas Karlman			/* Schematics show not in use */
845ce48b8c9SJonas Karlman			nldo-reg5 {
846ce48b8c9SJonas Karlman			};
847ce48b8c9SJonas Karlman		};
848ce48b8c9SJonas Karlman	};
849ce48b8c9SJonas Karlman};
850ce48b8c9SJonas Karlman
851ce48b8c9SJonas Karlman&tsadc {
852ce48b8c9SJonas Karlman	status = "okay";
853ce48b8c9SJonas Karlman};
854ce48b8c9SJonas Karlman
855ce48b8c9SJonas Karlman&u2phy0 {
856ce48b8c9SJonas Karlman	status = "okay";
857ce48b8c9SJonas Karlman};
858ce48b8c9SJonas Karlman
859ce48b8c9SJonas Karlman&u2phy0_otg {
860ce48b8c9SJonas Karlman	status = "okay";
861ce48b8c9SJonas Karlman};
862ce48b8c9SJonas Karlman
863ce48b8c9SJonas Karlman&u2phy2 {
864ce48b8c9SJonas Karlman	status = "okay";
865ce48b8c9SJonas Karlman};
866ce48b8c9SJonas Karlman
867ce48b8c9SJonas Karlman&u2phy2_host {
868ce48b8c9SJonas Karlman	phy-supply = <&vcc5v0_usb2_host>;
869ce48b8c9SJonas Karlman	status = "okay";
870ce48b8c9SJonas Karlman};
871ce48b8c9SJonas Karlman
872ce48b8c9SJonas Karlman&u2phy3 {
873ce48b8c9SJonas Karlman	status = "okay";
874ce48b8c9SJonas Karlman};
875ce48b8c9SJonas Karlman
876ce48b8c9SJonas Karlman&u2phy3_host {
877ce48b8c9SJonas Karlman	phy-supply = <&vcc5v0_usb3_host>;
878ce48b8c9SJonas Karlman	status = "okay";
879ce48b8c9SJonas Karlman};
880ce48b8c9SJonas Karlman
881ce48b8c9SJonas Karlman&uart2 {
882ce48b8c9SJonas Karlman	pinctrl-names = "default";
883ce48b8c9SJonas Karlman	pinctrl-0 = <&uart2m0_xfer>;
884ce48b8c9SJonas Karlman	status = "okay";
885ce48b8c9SJonas Karlman};
886ce48b8c9SJonas Karlman
887ce48b8c9SJonas Karlman&usb_host0_ehci {
888ce48b8c9SJonas Karlman	status = "okay";
889ce48b8c9SJonas Karlman};
890ce48b8c9SJonas Karlman
891ce48b8c9SJonas Karlman&usb_host0_ohci {
892ce48b8c9SJonas Karlman	status = "okay";
893ce48b8c9SJonas Karlman};
894ce48b8c9SJonas Karlman
895ce48b8c9SJonas Karlman&usb_host0_xhci {
896ce48b8c9SJonas Karlman	usb-role-switch;
897ce48b8c9SJonas Karlman	status = "okay";
898ce48b8c9SJonas Karlman
899ce48b8c9SJonas Karlman	port {
900ce48b8c9SJonas Karlman		usb_host0_xhci_role_switch: endpoint {
901ce48b8c9SJonas Karlman			remote-endpoint = <&usbc0_role_switch>;
902ce48b8c9SJonas Karlman		};
903ce48b8c9SJonas Karlman	};
904ce48b8c9SJonas Karlman};
905ce48b8c9SJonas Karlman
906ce48b8c9SJonas Karlman&usb_host1_ehci {
907ce48b8c9SJonas Karlman	status = "okay";
908ce48b8c9SJonas Karlman};
909ce48b8c9SJonas Karlman
910ce48b8c9SJonas Karlman&usb_host1_ohci {
911ce48b8c9SJonas Karlman	status = "okay";
912ce48b8c9SJonas Karlman};
913ce48b8c9SJonas Karlman
914ce48b8c9SJonas Karlman&usb_host2_xhci {
915ce48b8c9SJonas Karlman	status = "okay";
916ce48b8c9SJonas Karlman};
917ce48b8c9SJonas Karlman
918ce48b8c9SJonas Karlman&usbdp_phy0 {
919ce48b8c9SJonas Karlman	mode-switch;
920ce48b8c9SJonas Karlman	orientation-switch;
921ce48b8c9SJonas Karlman	sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
922ce48b8c9SJonas Karlman	sbu2-dc-gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_HIGH>;
923ce48b8c9SJonas Karlman	status = "okay";
924ce48b8c9SJonas Karlman
925ce48b8c9SJonas Karlman	port {
926ce48b8c9SJonas Karlman		#address-cells = <1>;
927ce48b8c9SJonas Karlman		#size-cells = <0>;
928ce48b8c9SJonas Karlman
929ce48b8c9SJonas Karlman		usbdp_phy0_orientation_switch: endpoint@0 {
930ce48b8c9SJonas Karlman			reg = <0>;
931ce48b8c9SJonas Karlman			remote-endpoint = <&usbc0_orientation_switch>;
932ce48b8c9SJonas Karlman		};
933ce48b8c9SJonas Karlman
934ce48b8c9SJonas Karlman		usbdp_phy0_dp_altmode_mux: endpoint@1 {
935ce48b8c9SJonas Karlman			reg = <1>;
936ce48b8c9SJonas Karlman			remote-endpoint = <&usbc0_dp_altmode_mux>;
937ce48b8c9SJonas Karlman		};
938ce48b8c9SJonas Karlman	};
939ce48b8c9SJonas Karlman};
9403c4278eaSJonas Karlman
9413c4278eaSJonas Karlman&vop {
9423c4278eaSJonas Karlman	status = "okay";
9433c4278eaSJonas Karlman};
9443c4278eaSJonas Karlman
9453c4278eaSJonas Karlman&vop_mmu {
9463c4278eaSJonas Karlman	status = "okay";
9473c4278eaSJonas Karlman};
9483c4278eaSJonas Karlman
9493c4278eaSJonas Karlman&vp0 {
9503c4278eaSJonas Karlman	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
9513c4278eaSJonas Karlman		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
9523c4278eaSJonas Karlman		remote-endpoint = <&hdmi0_in_vp0>;
9533c4278eaSJonas Karlman	};
9543c4278eaSJonas Karlman};
955