1f9010b0eSMarkus Reichl// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f9010b0eSMarkus Reichl/*
3f9010b0eSMarkus Reichl * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4f9010b0eSMarkus Reichl */
5f9010b0eSMarkus Reichl
6f9010b0eSMarkus Reichl/dts-v1/;
7f9010b0eSMarkus Reichl#include <dt-bindings/input/linux-event-codes.h>
8f9010b0eSMarkus Reichl#include <dt-bindings/pwm/pwm.h>
9f9010b0eSMarkus Reichl#include "rk3399.dtsi"
10f9010b0eSMarkus Reichl#include "rk3399-opp.dtsi"
11f9010b0eSMarkus Reichl
12f9010b0eSMarkus Reichl/ {
13f9010b0eSMarkus Reichl	model = "Firefly ROC-RK3399-PC Board";
14f9010b0eSMarkus Reichl	compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399";
15f9010b0eSMarkus Reichl
165dcbe7e3SHeiko Stuebner	aliases {
175dcbe7e3SHeiko Stuebner		mmc0 = &sdmmc;
185dcbe7e3SHeiko Stuebner		mmc1 = &sdhci;
195dcbe7e3SHeiko Stuebner	};
205dcbe7e3SHeiko Stuebner
21f9010b0eSMarkus Reichl	chosen {
22f9010b0eSMarkus Reichl		stdout-path = "serial2:1500000n8";
23f9010b0eSMarkus Reichl	};
24f9010b0eSMarkus Reichl
25f9010b0eSMarkus Reichl	backlight: backlight {
26f9010b0eSMarkus Reichl		compatible = "pwm-backlight";
27f9010b0eSMarkus Reichl		pwms = <&pwm0 0 25000 0>;
28f9010b0eSMarkus Reichl	};
29f9010b0eSMarkus Reichl
30f9010b0eSMarkus Reichl	clkin_gmac: external-gmac-clock {
31f9010b0eSMarkus Reichl		compatible = "fixed-clock";
32f9010b0eSMarkus Reichl		clock-frequency = <125000000>;
33f9010b0eSMarkus Reichl		clock-output-names = "clkin_gmac";
34f9010b0eSMarkus Reichl		#clock-cells = <0>;
35f9010b0eSMarkus Reichl	};
36f9010b0eSMarkus Reichl
37f9010b0eSMarkus Reichl	adc-keys {
38f9010b0eSMarkus Reichl		compatible = "adc-keys";
39f9010b0eSMarkus Reichl		io-channels = <&saradc 1>;
40f9010b0eSMarkus Reichl		io-channel-names = "buttons";
41f9010b0eSMarkus Reichl		keyup-threshold-microvolt = <1500000>;
42f9010b0eSMarkus Reichl		poll-interval = <100>;
43f9010b0eSMarkus Reichl
44f2bd2e76SJohan Jonker		button-recovery {
45f9010b0eSMarkus Reichl			label = "Recovery";
46f9010b0eSMarkus Reichl			linux,code = <KEY_VENDOR>;
47f9010b0eSMarkus Reichl			press-threshold-microvolt = <18000>;
48f9010b0eSMarkus Reichl		};
49f9010b0eSMarkus Reichl	};
50f9010b0eSMarkus Reichl
51f9010b0eSMarkus Reichl	gpio-keys {
52f9010b0eSMarkus Reichl		compatible = "gpio-keys";
53f9010b0eSMarkus Reichl		autorepeat;
54f9010b0eSMarkus Reichl		pinctrl-names = "default";
55f9010b0eSMarkus Reichl		pinctrl-0 = <&pwr_key_l>;
56f9010b0eSMarkus Reichl
57517ed0ffSKrzysztof Kozlowski		key-power {
58f9010b0eSMarkus Reichl			debounce-interval = <100>;
59f9010b0eSMarkus Reichl			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
60f9010b0eSMarkus Reichl			label = "GPIO Key Power";
61f9010b0eSMarkus Reichl			linux,code = <KEY_POWER>;
62f9010b0eSMarkus Reichl			wakeup-source;
63f9010b0eSMarkus Reichl		};
64f9010b0eSMarkus Reichl	};
65f9010b0eSMarkus Reichl
66e1d635bcSAlex Bee	ir-receiver {
67e1d635bcSAlex Bee		compatible = "gpio-ir-receiver";
68e1d635bcSAlex Bee		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
69e1d635bcSAlex Bee		pinctrl-names = "default";
70e1d635bcSAlex Bee		pinctrl-0 = <&ir_int>;
71e1d635bcSAlex Bee	};
72e1d635bcSAlex Bee
73f9010b0eSMarkus Reichl	leds {
74f9010b0eSMarkus Reichl		compatible = "gpio-leds";
75f9010b0eSMarkus Reichl		pinctrl-names = "default";
766dd5e12cSJohan Jonker		pinctrl-0 = <&work_led_pin>, <&diy_led_pin>, <&yellow_led_pin>;
77f9010b0eSMarkus Reichl
786dd5e12cSJohan Jonker		work_led: led-0 {
79f9010b0eSMarkus Reichl			label = "green:work";
80f9010b0eSMarkus Reichl			gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
81f9010b0eSMarkus Reichl			default-state = "on";
82f9010b0eSMarkus Reichl			linux,default-trigger = "heartbeat";
83f9010b0eSMarkus Reichl		};
84f9010b0eSMarkus Reichl
856dd5e12cSJohan Jonker		diy_led: led-1 {
86f9010b0eSMarkus Reichl			label = "red:diy";
87f9010b0eSMarkus Reichl			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
88f9010b0eSMarkus Reichl			default-state = "off";
897327c8b9SMarkus Reichl			linux,default-trigger = "mmc2";
90f9010b0eSMarkus Reichl		};
91f9010b0eSMarkus Reichl
926dd5e12cSJohan Jonker		yellow_led: led-2 {
93f9010b0eSMarkus Reichl			label = "yellow:yellow-led";
94f9010b0eSMarkus Reichl			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
95f9010b0eSMarkus Reichl			default-state = "off";
967327c8b9SMarkus Reichl			linux,default-trigger = "mmc1";
97f9010b0eSMarkus Reichl		};
98f9010b0eSMarkus Reichl	};
99f9010b0eSMarkus Reichl
100f9010b0eSMarkus Reichl	sdio_pwrseq: sdio-pwrseq {
101f9010b0eSMarkus Reichl		compatible = "mmc-pwrseq-simple";
102f9010b0eSMarkus Reichl		clocks = <&rk808 1>;
103f9010b0eSMarkus Reichl		clock-names = "ext_clock";
104f9010b0eSMarkus Reichl		pinctrl-names = "default";
105f9010b0eSMarkus Reichl		pinctrl-0 = <&wifi_enable_h>;
106f9010b0eSMarkus Reichl
107f9010b0eSMarkus Reichl		/*
108f9010b0eSMarkus Reichl		 * On the module itself this is one of these (depending
109f9010b0eSMarkus Reichl		 * on the actual card populated):
110f9010b0eSMarkus Reichl		 * - SDIO_RESET_L_WL_REG_ON
111f9010b0eSMarkus Reichl		 * - PDN (power down when low)
112f9010b0eSMarkus Reichl		 */
113f9010b0eSMarkus Reichl		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
114f9010b0eSMarkus Reichl	};
115f9010b0eSMarkus Reichl
116f9010b0eSMarkus Reichl	vcc_vbus_typec0: vcc-vbus-typec0 {
117f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
118f9010b0eSMarkus Reichl		regulator-name = "vcc_vbus_typec0";
119f9010b0eSMarkus Reichl		regulator-always-on;
120f9010b0eSMarkus Reichl		regulator-boot-on;
121f9010b0eSMarkus Reichl		regulator-min-microvolt = <5000000>;
122f9010b0eSMarkus Reichl		regulator-max-microvolt = <5000000>;
123f9010b0eSMarkus Reichl	};
124f9010b0eSMarkus Reichl
125bd77d0adSJagan Teki	sys_12v: sys-12v {
126bd77d0adSJagan Teki		compatible = "regulator-fixed";
127bd77d0adSJagan Teki		regulator-name = "sys_12v";
128bd77d0adSJagan Teki		regulator-always-on;
129bd77d0adSJagan Teki		regulator-boot-on;
130bd77d0adSJagan Teki		vin-supply = <&dc_12v>;
131bd77d0adSJagan Teki	};
132bd77d0adSJagan Teki
133f9010b0eSMarkus Reichl	/* switched by pmic_sleep */
134f9010b0eSMarkus Reichl	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
135f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
136f9010b0eSMarkus Reichl		regulator-name = "vcc1v8_s3";
137f9010b0eSMarkus Reichl		regulator-always-on;
138f9010b0eSMarkus Reichl		regulator-boot-on;
139f9010b0eSMarkus Reichl		regulator-min-microvolt = <1800000>;
140f9010b0eSMarkus Reichl		regulator-max-microvolt = <1800000>;
141f9010b0eSMarkus Reichl		vin-supply = <&vcc_1v8>;
142f9010b0eSMarkus Reichl	};
143f9010b0eSMarkus Reichl
144140e816aSMarkus Reichl	vcc3v0_sd: vcc3v0-sd {
145140e816aSMarkus Reichl		compatible = "regulator-fixed";
146140e816aSMarkus Reichl		enable-active-high;
147140e816aSMarkus Reichl		gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>;
148140e816aSMarkus Reichl		pinctrl-names = "default";
149140e816aSMarkus Reichl		pinctrl-0 = <&vcc3v0_sd_en>;
150140e816aSMarkus Reichl		regulator-name = "vcc3v0_sd";
151140e816aSMarkus Reichl		regulator-boot-on;
152140e816aSMarkus Reichl		regulator-min-microvolt = <3000000>;
153140e816aSMarkus Reichl		regulator-max-microvolt = <3000000>;
154140e816aSMarkus Reichl		vin-supply = <&vcc3v3_sys>;
155140e816aSMarkus Reichl	};
156140e816aSMarkus Reichl
157f9010b0eSMarkus Reichl	vcc3v3_sys: vcc3v3-sys {
158f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
159f9010b0eSMarkus Reichl		regulator-name = "vcc3v3_sys";
160f9010b0eSMarkus Reichl		regulator-always-on;
161f9010b0eSMarkus Reichl		regulator-boot-on;
162f9010b0eSMarkus Reichl		regulator-min-microvolt = <3300000>;
163f9010b0eSMarkus Reichl		regulator-max-microvolt = <3300000>;
164bd77d0adSJagan Teki		vin-supply = <&sys_12v>;
165f9010b0eSMarkus Reichl	};
166f9010b0eSMarkus Reichl
167ec5b0af7SMarkus Reichl	vcca_0v9: vcca-0v9 {
168ec5b0af7SMarkus Reichl		compatible = "regulator-fixed";
169ec5b0af7SMarkus Reichl		regulator-name = "vcca_0v9";
170ec5b0af7SMarkus Reichl		regulator-always-on;
171ec5b0af7SMarkus Reichl		regulator-boot-on;
172ec5b0af7SMarkus Reichl		regulator-min-microvolt = <900000>;
173ec5b0af7SMarkus Reichl		regulator-max-microvolt = <900000>;
174ec5b0af7SMarkus Reichl		vin-supply = <&vcc3v3_sys>;
175ec5b0af7SMarkus Reichl	};
176ec5b0af7SMarkus Reichl
177f9010b0eSMarkus Reichl	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
178f9010b0eSMarkus Reichl	vcc5v0_host: vcc5v0-host-regulator {
179f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
180f9010b0eSMarkus Reichl		enable-active-high;
181f9010b0eSMarkus Reichl		gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
182f9010b0eSMarkus Reichl		pinctrl-names = "default";
183f9010b0eSMarkus Reichl		pinctrl-0 = <&vcc5v0_host_en &hub_rst>;
184f9010b0eSMarkus Reichl		regulator-name = "vcc5v0_host";
185f9010b0eSMarkus Reichl		vin-supply = <&vcc_sys>;
186f9010b0eSMarkus Reichl	};
187f9010b0eSMarkus Reichl
188f9010b0eSMarkus Reichl	vcc_vbus_typec1: vcc-vbus-typec1 {
189f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
190f9010b0eSMarkus Reichl		enable-active-high;
191f9010b0eSMarkus Reichl		gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
192f9010b0eSMarkus Reichl		pinctrl-names = "default";
193f9010b0eSMarkus Reichl		pinctrl-0 = <&vcc_vbus_typec1_en>;
194f9010b0eSMarkus Reichl		regulator-name = "vcc_vbus_typec1";
195f9010b0eSMarkus Reichl		regulator-always-on;
196f9010b0eSMarkus Reichl		vin-supply = <&vcc_sys>;
197f9010b0eSMarkus Reichl	};
198f9010b0eSMarkus Reichl
199f9010b0eSMarkus Reichl	vcc_sys: vcc-sys {
200f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
201f9010b0eSMarkus Reichl		enable-active-high;
202f9010b0eSMarkus Reichl		gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
203f9010b0eSMarkus Reichl		pinctrl-names = "default";
204f9010b0eSMarkus Reichl		pinctrl-0 = <&vcc_sys_en>;
205f9010b0eSMarkus Reichl		regulator-name = "vcc_sys";
206f9010b0eSMarkus Reichl		regulator-boot-on;
207f9010b0eSMarkus Reichl		regulator-min-microvolt = <5000000>;
208f9010b0eSMarkus Reichl		regulator-max-microvolt = <5000000>;
209bd77d0adSJagan Teki		vin-supply = <&sys_12v>;
210f9010b0eSMarkus Reichl	};
211f9010b0eSMarkus Reichl
212f9010b0eSMarkus Reichl	vdd_log: vdd-log {
213f9010b0eSMarkus Reichl		compatible = "pwm-regulator";
214f9010b0eSMarkus Reichl		pwms = <&pwm2 0 25000 1>;
215f9010b0eSMarkus Reichl		regulator-name = "vdd_log";
216f9010b0eSMarkus Reichl		regulator-always-on;
217f9010b0eSMarkus Reichl		regulator-boot-on;
218c38d8009SMarkus Reichl		regulator-min-microvolt = <450000>;
219f9010b0eSMarkus Reichl		regulator-max-microvolt = <1400000>;
220c38d8009SMarkus Reichl		pwm-supply = <&vcc3v3_sys>;
221f9010b0eSMarkus Reichl	};
222f9010b0eSMarkus Reichl};
223f9010b0eSMarkus Reichl
224f9010b0eSMarkus Reichl&cpu_l0 {
225f9010b0eSMarkus Reichl	cpu-supply = <&vdd_cpu_l>;
226f9010b0eSMarkus Reichl};
227f9010b0eSMarkus Reichl
228f9010b0eSMarkus Reichl&cpu_l1 {
229f9010b0eSMarkus Reichl	cpu-supply = <&vdd_cpu_l>;
230f9010b0eSMarkus Reichl};
231f9010b0eSMarkus Reichl
232f9010b0eSMarkus Reichl&cpu_l2 {
233f9010b0eSMarkus Reichl	cpu-supply = <&vdd_cpu_l>;
234f9010b0eSMarkus Reichl};
235f9010b0eSMarkus Reichl
236f9010b0eSMarkus Reichl&cpu_l3 {
237f9010b0eSMarkus Reichl	cpu-supply = <&vdd_cpu_l>;
238f9010b0eSMarkus Reichl};
239f9010b0eSMarkus Reichl
240f9010b0eSMarkus Reichl&cpu_b0 {
241f9010b0eSMarkus Reichl	cpu-supply = <&vdd_cpu_b>;
242f9010b0eSMarkus Reichl};
243f9010b0eSMarkus Reichl
244f9010b0eSMarkus Reichl&cpu_b1 {
245f9010b0eSMarkus Reichl	cpu-supply = <&vdd_cpu_b>;
246f9010b0eSMarkus Reichl};
247f9010b0eSMarkus Reichl
248f9010b0eSMarkus Reichl&emmc_phy {
249f9010b0eSMarkus Reichl	status = "okay";
250f9010b0eSMarkus Reichl};
251f9010b0eSMarkus Reichl
252f9010b0eSMarkus Reichl&gmac {
253f9010b0eSMarkus Reichl	assigned-clocks = <&cru SCLK_RMII_SRC>;
254f9010b0eSMarkus Reichl	assigned-clock-parents = <&clkin_gmac>;
255f9010b0eSMarkus Reichl	clock_in_out = "input";
256f9010b0eSMarkus Reichl	phy-supply = <&vcc_lan>;
257f9010b0eSMarkus Reichl	phy-mode = "rgmii";
258f9010b0eSMarkus Reichl	pinctrl-names = "default";
259f9010b0eSMarkus Reichl	pinctrl-0 = <&rgmii_pins>;
260f9010b0eSMarkus Reichl	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
261f9010b0eSMarkus Reichl	snps,reset-active-low;
262f9010b0eSMarkus Reichl	snps,reset-delays-us = <0 10000 50000>;
263f9010b0eSMarkus Reichl	tx_delay = <0x28>;
264f9010b0eSMarkus Reichl	rx_delay = <0x11>;
265f9010b0eSMarkus Reichl	status = "okay";
266f9010b0eSMarkus Reichl};
267f9010b0eSMarkus Reichl
268ec7d731dSMarkus Reichl&gpu {
269ec7d731dSMarkus Reichl	mali-supply = <&vdd_gpu>;
270ec7d731dSMarkus Reichl	status = "okay";
271ec7d731dSMarkus Reichl};
272ec7d731dSMarkus Reichl
273f9010b0eSMarkus Reichl&hdmi {
2741c33f850SMarkus Reichl	avdd-0v9-supply = <&vcca0v9_hdmi>;
2751c33f850SMarkus Reichl	avdd-1v8-supply = <&vcca1v8_hdmi>;
276f9010b0eSMarkus Reichl	ddc-i2c-bus = <&i2c3>;
277f9010b0eSMarkus Reichl	pinctrl-names = "default";
278f9010b0eSMarkus Reichl	pinctrl-0 = <&hdmi_cec>;
279f9010b0eSMarkus Reichl	status = "okay";
280f9010b0eSMarkus Reichl};
281f9010b0eSMarkus Reichl
282e748d355SMarkus Reichl&hdmi_sound {
283e748d355SMarkus Reichl	status = "okay";
284e748d355SMarkus Reichl};
285e748d355SMarkus Reichl
286f9010b0eSMarkus Reichl&i2c0 {
287f9010b0eSMarkus Reichl	clock-frequency = <400000>;
288f9010b0eSMarkus Reichl	i2c-scl-rising-time-ns = <168>;
289f9010b0eSMarkus Reichl	i2c-scl-falling-time-ns = <4>;
290f9010b0eSMarkus Reichl	status = "okay";
291f9010b0eSMarkus Reichl
292f9010b0eSMarkus Reichl	rk808: pmic@1b {
293f9010b0eSMarkus Reichl		compatible = "rockchip,rk808";
294f9010b0eSMarkus Reichl		reg = <0x1b>;
295f9010b0eSMarkus Reichl		interrupt-parent = <&gpio1>;
296f9010b0eSMarkus Reichl		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
297f9010b0eSMarkus Reichl		#clock-cells = <1>;
298f9010b0eSMarkus Reichl		clock-output-names = "xin32k", "rk808-clkout2";
299f9010b0eSMarkus Reichl		pinctrl-names = "default";
300f9010b0eSMarkus Reichl		pinctrl-0 = <&pmic_int_l>;
301f9010b0eSMarkus Reichl		rockchip,system-power-controller;
302f9010b0eSMarkus Reichl		wakeup-source;
303f9010b0eSMarkus Reichl
304f9010b0eSMarkus Reichl		vcc1-supply = <&vcc3v3_sys>;
305f9010b0eSMarkus Reichl		vcc2-supply = <&vcc3v3_sys>;
306f9010b0eSMarkus Reichl		vcc3-supply = <&vcc3v3_sys>;
307f9010b0eSMarkus Reichl		vcc4-supply = <&vcc3v3_sys>;
308f9010b0eSMarkus Reichl		vcc6-supply = <&vcc3v3_sys>;
309f9010b0eSMarkus Reichl		vcc7-supply = <&vcc3v3_sys>;
310f9010b0eSMarkus Reichl		vcc8-supply = <&vcc3v3_sys>;
311f9010b0eSMarkus Reichl		vcc9-supply = <&vcc3v3_sys>;
312f9010b0eSMarkus Reichl		vcc10-supply = <&vcc3v3_sys>;
313f9010b0eSMarkus Reichl		vcc11-supply = <&vcc3v3_sys>;
314f9010b0eSMarkus Reichl		vcc12-supply = <&vcc3v3_sys>;
315f9010b0eSMarkus Reichl		vddio-supply = <&vcc_3v0>;
316f9010b0eSMarkus Reichl
317f9010b0eSMarkus Reichl		regulators {
318f9010b0eSMarkus Reichl			vdd_center: DCDC_REG1 {
319f9010b0eSMarkus Reichl				regulator-name = "vdd_center";
320f9010b0eSMarkus Reichl				regulator-always-on;
321f9010b0eSMarkus Reichl				regulator-boot-on;
322f9010b0eSMarkus Reichl				regulator-min-microvolt = <750000>;
323f9010b0eSMarkus Reichl				regulator-max-microvolt = <1350000>;
324f9010b0eSMarkus Reichl				regulator-ramp-delay = <6001>;
325f9010b0eSMarkus Reichl				regulator-state-mem {
326f9010b0eSMarkus Reichl					regulator-off-in-suspend;
327f9010b0eSMarkus Reichl				};
328f9010b0eSMarkus Reichl			};
329f9010b0eSMarkus Reichl
330f9010b0eSMarkus Reichl			vdd_cpu_l: DCDC_REG2 {
331f9010b0eSMarkus Reichl				regulator-name = "vdd_cpu_l";
332f9010b0eSMarkus Reichl				regulator-always-on;
333f9010b0eSMarkus Reichl				regulator-boot-on;
334f9010b0eSMarkus Reichl				regulator-min-microvolt = <750000>;
335f9010b0eSMarkus Reichl				regulator-max-microvolt = <1350000>;
336f9010b0eSMarkus Reichl				regulator-ramp-delay = <6001>;
337f9010b0eSMarkus Reichl				regulator-state-mem {
338f9010b0eSMarkus Reichl					regulator-off-in-suspend;
339f9010b0eSMarkus Reichl				};
340f9010b0eSMarkus Reichl			};
341f9010b0eSMarkus Reichl
342f9010b0eSMarkus Reichl			vcc_ddr: DCDC_REG3 {
343f9010b0eSMarkus Reichl				regulator-name = "vcc_ddr";
344f9010b0eSMarkus Reichl				regulator-always-on;
345f9010b0eSMarkus Reichl				regulator-boot-on;
346f9010b0eSMarkus Reichl				regulator-state-mem {
347f9010b0eSMarkus Reichl					regulator-on-in-suspend;
348f9010b0eSMarkus Reichl				};
349f9010b0eSMarkus Reichl			};
350f9010b0eSMarkus Reichl
351f9010b0eSMarkus Reichl			vcc_1v8: DCDC_REG4 {
352f9010b0eSMarkus Reichl				regulator-name = "vcc_1v8";
353f9010b0eSMarkus Reichl				regulator-always-on;
354f9010b0eSMarkus Reichl				regulator-boot-on;
355f9010b0eSMarkus Reichl				regulator-min-microvolt = <1800000>;
356f9010b0eSMarkus Reichl				regulator-max-microvolt = <1800000>;
357f9010b0eSMarkus Reichl				regulator-state-mem {
358f9010b0eSMarkus Reichl					regulator-on-in-suspend;
359f9010b0eSMarkus Reichl					regulator-suspend-microvolt = <1800000>;
360f9010b0eSMarkus Reichl				};
361f9010b0eSMarkus Reichl			};
362f9010b0eSMarkus Reichl
363f9010b0eSMarkus Reichl			vcca1v8_codec: LDO_REG1 {
364f9010b0eSMarkus Reichl				regulator-name = "vcca1v8_codec";
365f9010b0eSMarkus Reichl				regulator-always-on;
366f9010b0eSMarkus Reichl				regulator-boot-on;
367f9010b0eSMarkus Reichl				regulator-min-microvolt = <1800000>;
368f9010b0eSMarkus Reichl				regulator-max-microvolt = <1800000>;
369f9010b0eSMarkus Reichl				regulator-state-mem {
370f9010b0eSMarkus Reichl					regulator-off-in-suspend;
371f9010b0eSMarkus Reichl				};
372f9010b0eSMarkus Reichl			};
373f9010b0eSMarkus Reichl
3741c33f850SMarkus Reichl			vcca1v8_hdmi: LDO_REG2 {
3751c33f850SMarkus Reichl				regulator-name = "vcca1v8_hdmi";
376f9010b0eSMarkus Reichl				regulator-always-on;
377f9010b0eSMarkus Reichl				regulator-boot-on;
378f9010b0eSMarkus Reichl				regulator-min-microvolt = <1800000>;
379f9010b0eSMarkus Reichl				regulator-max-microvolt = <1800000>;
380f9010b0eSMarkus Reichl				regulator-state-mem {
381f9010b0eSMarkus Reichl					regulator-off-in-suspend;
382f9010b0eSMarkus Reichl				};
383f9010b0eSMarkus Reichl			};
384f9010b0eSMarkus Reichl
385f9010b0eSMarkus Reichl			vcc1v8_pmu: LDO_REG3 {
386f9010b0eSMarkus Reichl				regulator-name = "vcc1v8_pmu";
387f9010b0eSMarkus Reichl				regulator-always-on;
388f9010b0eSMarkus Reichl				regulator-boot-on;
389f9010b0eSMarkus Reichl				regulator-min-microvolt = <1800000>;
390f9010b0eSMarkus Reichl				regulator-max-microvolt = <1800000>;
391f9010b0eSMarkus Reichl				regulator-state-mem {
392f9010b0eSMarkus Reichl					regulator-on-in-suspend;
393f9010b0eSMarkus Reichl					regulator-suspend-microvolt = <1800000>;
394f9010b0eSMarkus Reichl				};
395f9010b0eSMarkus Reichl			};
396f9010b0eSMarkus Reichl
397f9010b0eSMarkus Reichl			vcc_sdio: LDO_REG4 {
398f9010b0eSMarkus Reichl				regulator-name = "vcc_sdio";
399eb607cd4SAlex Bee				regulator-always-on;
400f9010b0eSMarkus Reichl				regulator-boot-on;
401f9010b0eSMarkus Reichl				regulator-min-microvolt = <1800000>;
402f9010b0eSMarkus Reichl				regulator-max-microvolt = <3000000>;
403f9010b0eSMarkus Reichl				regulator-state-mem {
404f9010b0eSMarkus Reichl					regulator-on-in-suspend;
405f9010b0eSMarkus Reichl					regulator-suspend-microvolt = <3000000>;
406f9010b0eSMarkus Reichl				};
407f9010b0eSMarkus Reichl			};
408f9010b0eSMarkus Reichl
409f9010b0eSMarkus Reichl			vcca3v0_codec: LDO_REG5 {
410f9010b0eSMarkus Reichl				regulator-name = "vcca3v0_codec";
411f9010b0eSMarkus Reichl				regulator-always-on;
412f9010b0eSMarkus Reichl				regulator-boot-on;
413f9010b0eSMarkus Reichl				regulator-min-microvolt = <3000000>;
414f9010b0eSMarkus Reichl				regulator-max-microvolt = <3000000>;
415f9010b0eSMarkus Reichl				regulator-state-mem {
416f9010b0eSMarkus Reichl					regulator-off-in-suspend;
417f9010b0eSMarkus Reichl				};
418f9010b0eSMarkus Reichl			};
419f9010b0eSMarkus Reichl
420f9010b0eSMarkus Reichl			vcc_1v5: LDO_REG6 {
421f9010b0eSMarkus Reichl				regulator-name = "vcc_1v5";
422f9010b0eSMarkus Reichl				regulator-always-on;
423f9010b0eSMarkus Reichl				regulator-boot-on;
424f9010b0eSMarkus Reichl				regulator-min-microvolt = <1500000>;
425f9010b0eSMarkus Reichl				regulator-max-microvolt = <1500000>;
426f9010b0eSMarkus Reichl				regulator-state-mem {
427f9010b0eSMarkus Reichl					regulator-on-in-suspend;
428f9010b0eSMarkus Reichl					regulator-suspend-microvolt = <1500000>;
429f9010b0eSMarkus Reichl				};
430f9010b0eSMarkus Reichl			};
431f9010b0eSMarkus Reichl
432f9010b0eSMarkus Reichl			vcca0v9_hdmi: LDO_REG7 {
433f9010b0eSMarkus Reichl				regulator-name = "vcca0v9_hdmi";
434f9010b0eSMarkus Reichl				regulator-always-on;
435f9010b0eSMarkus Reichl				regulator-boot-on;
436f9010b0eSMarkus Reichl				regulator-min-microvolt = <900000>;
437f9010b0eSMarkus Reichl				regulator-max-microvolt = <900000>;
438f9010b0eSMarkus Reichl				regulator-state-mem {
439f9010b0eSMarkus Reichl					regulator-off-in-suspend;
440f9010b0eSMarkus Reichl				};
441f9010b0eSMarkus Reichl			};
442f9010b0eSMarkus Reichl
443f9010b0eSMarkus Reichl			vcc_3v0: LDO_REG8 {
444f9010b0eSMarkus Reichl				regulator-name = "vcc_3v0";
445f9010b0eSMarkus Reichl				regulator-always-on;
446f9010b0eSMarkus Reichl				regulator-boot-on;
447f9010b0eSMarkus Reichl				regulator-min-microvolt = <3000000>;
448f9010b0eSMarkus Reichl				regulator-max-microvolt = <3000000>;
449f9010b0eSMarkus Reichl				regulator-state-mem {
450f9010b0eSMarkus Reichl					regulator-on-in-suspend;
451f9010b0eSMarkus Reichl					regulator-suspend-microvolt = <3000000>;
452f9010b0eSMarkus Reichl				};
453f9010b0eSMarkus Reichl			};
454f9010b0eSMarkus Reichl
455f9010b0eSMarkus Reichl			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
456f9010b0eSMarkus Reichl				regulator-name = "vcc3v3_s3";
457f9010b0eSMarkus Reichl				regulator-always-on;
458f9010b0eSMarkus Reichl				regulator-boot-on;
459f9010b0eSMarkus Reichl				regulator-state-mem {
460f9010b0eSMarkus Reichl					regulator-off-in-suspend;
461f9010b0eSMarkus Reichl				};
462f9010b0eSMarkus Reichl			};
463f9010b0eSMarkus Reichl
464f9010b0eSMarkus Reichl			vcc3v3_s0: SWITCH_REG2 {
465f9010b0eSMarkus Reichl				regulator-name = "vcc3v3_s0";
466f9010b0eSMarkus Reichl				regulator-always-on;
467f9010b0eSMarkus Reichl				regulator-boot-on;
468f9010b0eSMarkus Reichl				regulator-state-mem {
469f9010b0eSMarkus Reichl					regulator-off-in-suspend;
470f9010b0eSMarkus Reichl				};
471f9010b0eSMarkus Reichl			};
472f9010b0eSMarkus Reichl		};
473f9010b0eSMarkus Reichl	};
474f9010b0eSMarkus Reichl
475f9010b0eSMarkus Reichl	vdd_cpu_b: regulator@40 {
476f9010b0eSMarkus Reichl		compatible = "silergy,syr827";
477f9010b0eSMarkus Reichl		reg = <0x40>;
478f9010b0eSMarkus Reichl		fcs,suspend-voltage-selector = <1>;
479f9010b0eSMarkus Reichl		pinctrl-names = "default";
4802bc65fefSJohan Jonker		pinctrl-0 = <&vsel1_pin>;
481f9010b0eSMarkus Reichl		regulator-name = "vdd_cpu_b";
482f9010b0eSMarkus Reichl		regulator-min-microvolt = <712500>;
483f9010b0eSMarkus Reichl		regulator-max-microvolt = <1500000>;
484f9010b0eSMarkus Reichl		regulator-ramp-delay = <1000>;
485f9010b0eSMarkus Reichl		regulator-always-on;
486f9010b0eSMarkus Reichl		regulator-boot-on;
487f9010b0eSMarkus Reichl		vin-supply = <&vcc3v3_sys>;
488f9010b0eSMarkus Reichl
489f9010b0eSMarkus Reichl		regulator-state-mem {
490f9010b0eSMarkus Reichl			regulator-off-in-suspend;
491f9010b0eSMarkus Reichl		};
492f9010b0eSMarkus Reichl	};
493f9010b0eSMarkus Reichl
494f9010b0eSMarkus Reichl	vdd_gpu: regulator@41 {
495f9010b0eSMarkus Reichl		compatible = "silergy,syr828";
496f9010b0eSMarkus Reichl		reg = <0x41>;
497f9010b0eSMarkus Reichl		fcs,suspend-voltage-selector = <1>;
498f9010b0eSMarkus Reichl		pinctrl-names = "default";
4992bc65fefSJohan Jonker		pinctrl-0 = <&vsel2_pin>;
500f9010b0eSMarkus Reichl		regulator-name = "vdd_gpu";
501f9010b0eSMarkus Reichl		regulator-min-microvolt = <712500>;
502f9010b0eSMarkus Reichl		regulator-max-microvolt = <1500000>;
503f9010b0eSMarkus Reichl		regulator-ramp-delay = <1000>;
50406b28186SAlex Bee		regulator-always-on;
50506b28186SAlex Bee		regulator-boot-on;
506f9010b0eSMarkus Reichl		vin-supply = <&vcc3v3_sys>;
507f9010b0eSMarkus Reichl
508f9010b0eSMarkus Reichl		regulator-state-mem {
509f9010b0eSMarkus Reichl			regulator-off-in-suspend;
510f9010b0eSMarkus Reichl		};
511f9010b0eSMarkus Reichl	};
512f9010b0eSMarkus Reichl};
513f9010b0eSMarkus Reichl
514f9010b0eSMarkus Reichl&i2c1 {
515f9010b0eSMarkus Reichl	i2c-scl-rising-time-ns = <300>;
516f9010b0eSMarkus Reichl	i2c-scl-falling-time-ns = <15>;
517f9010b0eSMarkus Reichl	status = "okay";
518f9010b0eSMarkus Reichl};
519f9010b0eSMarkus Reichl
520f9010b0eSMarkus Reichl&i2c3 {
521f9010b0eSMarkus Reichl	i2c-scl-rising-time-ns = <450>;
522f9010b0eSMarkus Reichl	i2c-scl-falling-time-ns = <15>;
523f9010b0eSMarkus Reichl	status = "okay";
524f9010b0eSMarkus Reichl};
525f9010b0eSMarkus Reichl
526f9010b0eSMarkus Reichl&i2c4 {
527f9010b0eSMarkus Reichl	i2c-scl-rising-time-ns = <600>;
528f9010b0eSMarkus Reichl	i2c-scl-falling-time-ns = <20>;
529f9010b0eSMarkus Reichl	status = "okay";
530f9010b0eSMarkus Reichl
531f9010b0eSMarkus Reichl	fusb1: usb-typec@22 {
532f9010b0eSMarkus Reichl		compatible = "fcs,fusb302";
533f9010b0eSMarkus Reichl		reg = <0x22>;
534f9010b0eSMarkus Reichl		interrupt-parent = <&gpio1>;
535f9010b0eSMarkus Reichl		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
536f9010b0eSMarkus Reichl		pinctrl-names = "default";
537f9010b0eSMarkus Reichl		pinctrl-0 = <&fusb1_int>;
538f9010b0eSMarkus Reichl		vbus-supply = <&vcc_vbus_typec1>;
539f9010b0eSMarkus Reichl		status = "okay";
540f9010b0eSMarkus Reichl	};
541f9010b0eSMarkus Reichl};
542f9010b0eSMarkus Reichl
543f9010b0eSMarkus Reichl&i2c7 {
544f9010b0eSMarkus Reichl	i2c-scl-rising-time-ns = <600>;
545f9010b0eSMarkus Reichl	i2c-scl-falling-time-ns = <20>;
546f9010b0eSMarkus Reichl	status = "okay";
547f9010b0eSMarkus Reichl
548f9010b0eSMarkus Reichl	fusb0: usb-typec@22 {
549f9010b0eSMarkus Reichl		compatible = "fcs,fusb302";
550f9010b0eSMarkus Reichl		reg = <0x22>;
551f9010b0eSMarkus Reichl		interrupt-parent = <&gpio1>;
552f9010b0eSMarkus Reichl		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
553f9010b0eSMarkus Reichl		pinctrl-names = "default";
554f9010b0eSMarkus Reichl		pinctrl-0 = <&fusb0_int>;
555f9010b0eSMarkus Reichl		vbus-supply = <&vcc_vbus_typec0>;
556f9010b0eSMarkus Reichl		status = "okay";
557f9010b0eSMarkus Reichl	};
5581fc61ed0SMarkus Reichl
5591fc61ed0SMarkus Reichl	mp8859: regulator@66 {
5601fc61ed0SMarkus Reichl		compatible = "mps,mp8859";
5611fc61ed0SMarkus Reichl		reg = <0x66>;
5621fc61ed0SMarkus Reichl		dc_12v: mp8859_dcdc {
5631fc61ed0SMarkus Reichl			regulator-name = "dc_12v";
5641fc61ed0SMarkus Reichl			regulator-min-microvolt = <12000000>;
5651fc61ed0SMarkus Reichl			regulator-max-microvolt = <12000000>;
5661fc61ed0SMarkus Reichl			regulator-always-on;
5671fc61ed0SMarkus Reichl			regulator-boot-on;
5681fc61ed0SMarkus Reichl			vin-supply = <&vcc_vbus_typec0>;
5691fc61ed0SMarkus Reichl
5701fc61ed0SMarkus Reichl			regulator-state-mem {
5711fc61ed0SMarkus Reichl				regulator-on-in-suspend;
5721fc61ed0SMarkus Reichl				regulator-suspend-microvolt = <12000000>;
5731fc61ed0SMarkus Reichl			};
5741fc61ed0SMarkus Reichl		};
5751fc61ed0SMarkus Reichl	};
576f9010b0eSMarkus Reichl};
577f9010b0eSMarkus Reichl
578f9010b0eSMarkus Reichl&i2s0 {
579f9010b0eSMarkus Reichl	rockchip,playback-channels = <8>;
580f9010b0eSMarkus Reichl	rockchip,capture-channels = <8>;
581f9010b0eSMarkus Reichl	status = "okay";
582f9010b0eSMarkus Reichl};
583f9010b0eSMarkus Reichl
584f9010b0eSMarkus Reichl&i2s1 {
585f9010b0eSMarkus Reichl	rockchip,playback-channels = <2>;
586f9010b0eSMarkus Reichl	rockchip,capture-channels = <2>;
587f9010b0eSMarkus Reichl	status = "okay";
588f9010b0eSMarkus Reichl};
589f9010b0eSMarkus Reichl
590f9010b0eSMarkus Reichl&i2s2 {
591f9010b0eSMarkus Reichl	status = "okay";
592f9010b0eSMarkus Reichl};
593f9010b0eSMarkus Reichl
594f9010b0eSMarkus Reichl&io_domains {
595f9010b0eSMarkus Reichl	audio-supply = <&vcca1v8_codec>;
596f9010b0eSMarkus Reichl	bt656-supply = <&vcc_3v0>;
597f9010b0eSMarkus Reichl	gpio1830-supply = <&vcc_3v0>;
598f9010b0eSMarkus Reichl	sdmmc-supply = <&vcc_sdio>;
599f9010b0eSMarkus Reichl	status = "okay";
600f9010b0eSMarkus Reichl};
601f9010b0eSMarkus Reichl
602f9010b0eSMarkus Reichl&pmu_io_domains {
603f9010b0eSMarkus Reichl	pmu1830-supply = <&vcc_3v0>;
604f9010b0eSMarkus Reichl	status = "okay";
605f9010b0eSMarkus Reichl};
606f9010b0eSMarkus Reichl
607f9010b0eSMarkus Reichl&pinctrl {
608f9010b0eSMarkus Reichl	buttons {
609f9010b0eSMarkus Reichl		pwr_key_l: pwr-key-l {
610f9010b0eSMarkus Reichl			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
611f9010b0eSMarkus Reichl		};
612f9010b0eSMarkus Reichl	};
613f9010b0eSMarkus Reichl
614e1d635bcSAlex Bee	ir {
615e1d635bcSAlex Bee		ir_int: ir-int {
616e1d635bcSAlex Bee			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
617e1d635bcSAlex Bee		};
618e1d635bcSAlex Bee	};
619e1d635bcSAlex Bee
620f9010b0eSMarkus Reichl	lcd-panel {
621f9010b0eSMarkus Reichl		lcd_panel_reset: lcd-panel-reset {
622a308163aSMarkus Reichl			rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
623f9010b0eSMarkus Reichl		};
624f9010b0eSMarkus Reichl	};
625f9010b0eSMarkus Reichl
626f9010b0eSMarkus Reichl	leds {
6276dd5e12cSJohan Jonker		diy_led_pin: diy-led-pin {
628f9010b0eSMarkus Reichl			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
629f9010b0eSMarkus Reichl		};
630f9010b0eSMarkus Reichl
6316dd5e12cSJohan Jonker		work_led_pin: work-led-pin {
632f9010b0eSMarkus Reichl			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
633f9010b0eSMarkus Reichl		};
634f9010b0eSMarkus Reichl
6356dd5e12cSJohan Jonker		yellow_led_pin: yellow-led-pin {
636f9010b0eSMarkus Reichl			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
637f9010b0eSMarkus Reichl		};
638f9010b0eSMarkus Reichl	};
639f9010b0eSMarkus Reichl
640f9010b0eSMarkus Reichl	pmic {
6412bc65fefSJohan Jonker		vsel1_pin: vsel1-pin {
642f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
643f9010b0eSMarkus Reichl		};
644f9010b0eSMarkus Reichl
6452bc65fefSJohan Jonker		vsel2_pin: vsel2-pin {
646f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
647f9010b0eSMarkus Reichl		};
648f9010b0eSMarkus Reichl	};
649f9010b0eSMarkus Reichl
650f9010b0eSMarkus Reichl	sdio-pwrseq {
651f9010b0eSMarkus Reichl		wifi_enable_h: wifi-enable-h {
652f9010b0eSMarkus Reichl			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
653f9010b0eSMarkus Reichl		};
654f9010b0eSMarkus Reichl	};
655f9010b0eSMarkus Reichl
656140e816aSMarkus Reichl	sdmmc {
657140e816aSMarkus Reichl		vcc3v0_sd_en: vcc3v0-sd-en {
658140e816aSMarkus Reichl			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
659140e816aSMarkus Reichl		};
660140e816aSMarkus Reichl	};
661140e816aSMarkus Reichl
662f9010b0eSMarkus Reichl	pmic {
663f9010b0eSMarkus Reichl		pmic_int_l: pmic-int-l {
664f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
665f9010b0eSMarkus Reichl		};
666f9010b0eSMarkus Reichl	};
667f9010b0eSMarkus Reichl
668f9010b0eSMarkus Reichl	usb2 {
669f9010b0eSMarkus Reichl		vcc5v0_host_en: vcc5v0-host-en {
670f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
671f9010b0eSMarkus Reichl		};
672f9010b0eSMarkus Reichl
673f9010b0eSMarkus Reichl		vcc_sys_en: vcc-sys-en {
674f9010b0eSMarkus Reichl			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
675f9010b0eSMarkus Reichl		};
676f9010b0eSMarkus Reichl
677f9010b0eSMarkus Reichl		hub_rst: hub-rst {
678f9010b0eSMarkus Reichl			rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>;
679f9010b0eSMarkus Reichl		};
680f9010b0eSMarkus Reichl	};
681f9010b0eSMarkus Reichl
682f9010b0eSMarkus Reichl	usb-typec {
683f9010b0eSMarkus Reichl		vcc_vbus_typec1_en: vcc-vbus-typec1-en {
684f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
685f9010b0eSMarkus Reichl		};
686f9010b0eSMarkus Reichl	};
687f9010b0eSMarkus Reichl
688f9010b0eSMarkus Reichl	fusb30x {
689f9010b0eSMarkus Reichl		fusb0_int: fusb0-int {
690f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
691f9010b0eSMarkus Reichl		};
692f9010b0eSMarkus Reichl
693f9010b0eSMarkus Reichl		fusb1_int: fusb1-int {
694f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
695f9010b0eSMarkus Reichl		};
696f9010b0eSMarkus Reichl	};
697f9010b0eSMarkus Reichl};
698f9010b0eSMarkus Reichl
699f9010b0eSMarkus Reichl&pwm0 {
700f9010b0eSMarkus Reichl	status = "okay";
701f9010b0eSMarkus Reichl};
702f9010b0eSMarkus Reichl
703f9010b0eSMarkus Reichl&pwm2 {
704f9010b0eSMarkus Reichl	status = "okay";
705f9010b0eSMarkus Reichl};
706f9010b0eSMarkus Reichl
707f9010b0eSMarkus Reichl&saradc {
708f9010b0eSMarkus Reichl	vref-supply = <&vcca1v8_s3>;
709f9010b0eSMarkus Reichl	status = "okay";
710f9010b0eSMarkus Reichl};
711f9010b0eSMarkus Reichl
712f9010b0eSMarkus Reichl&sdmmc {
713f9010b0eSMarkus Reichl	bus-width = <4>;
714f9010b0eSMarkus Reichl	cap-sd-highspeed;
715f9010b0eSMarkus Reichl	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
716f9010b0eSMarkus Reichl	disable-wp;
717f9010b0eSMarkus Reichl	max-frequency = <150000000>;
718f9010b0eSMarkus Reichl	pinctrl-names = "default";
719f9010b0eSMarkus Reichl	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
720140e816aSMarkus Reichl	sd-uhs-sdr104;
721140e816aSMarkus Reichl	vmmc-supply = <&vcc3v0_sd>;
722140e816aSMarkus Reichl	vqmmc-supply = <&vcc_sdio>;
723f9010b0eSMarkus Reichl	status = "okay";
724f9010b0eSMarkus Reichl};
725f9010b0eSMarkus Reichl
726f9010b0eSMarkus Reichl&sdhci {
727f9010b0eSMarkus Reichl	bus-width = <8>;
728f9010b0eSMarkus Reichl	non-removable;
729f9010b0eSMarkus Reichl	status = "okay";
730f9010b0eSMarkus Reichl};
731f9010b0eSMarkus Reichl
732a43e2909SMarkus Reichl&spi1 {
733a43e2909SMarkus Reichl	status = "okay";
734a43e2909SMarkus Reichl
735a43e2909SMarkus Reichl	flash@0 {
736a43e2909SMarkus Reichl		compatible = "jedec,spi-nor";
737a43e2909SMarkus Reichl		reg = <0>;
738*87ecb882SManoj Sai		spi-max-frequency = <30000000>;
739a43e2909SMarkus Reichl	};
740a43e2909SMarkus Reichl};
741a43e2909SMarkus Reichl
742f9010b0eSMarkus Reichl&tcphy0 {
743f9010b0eSMarkus Reichl	status = "okay";
744f9010b0eSMarkus Reichl};
745f9010b0eSMarkus Reichl
746f9010b0eSMarkus Reichl&tcphy1 {
747f9010b0eSMarkus Reichl	status = "okay";
748f9010b0eSMarkus Reichl};
749f9010b0eSMarkus Reichl
750f9010b0eSMarkus Reichl&tsadc {
751f9010b0eSMarkus Reichl	/* tshut mode 0:CRU 1:GPIO */
752f9010b0eSMarkus Reichl	rockchip,hw-tshut-mode = <1>;
753f9010b0eSMarkus Reichl	/* tshut polarity 0:LOW 1:HIGH */
754f9010b0eSMarkus Reichl	rockchip,hw-tshut-polarity = <1>;
755f9010b0eSMarkus Reichl	status = "okay";
756f9010b0eSMarkus Reichl};
757f9010b0eSMarkus Reichl
758f9010b0eSMarkus Reichl&u2phy0 {
759f9010b0eSMarkus Reichl	status = "okay";
760f9010b0eSMarkus Reichl
761f9010b0eSMarkus Reichl	u2phy0_otg: otg-port {
762f9010b0eSMarkus Reichl		phy-supply = <&vcc_vbus_typec0>;
763f9010b0eSMarkus Reichl		status = "okay";
764f9010b0eSMarkus Reichl	};
765f9010b0eSMarkus Reichl
766f9010b0eSMarkus Reichl	u2phy0_host: host-port {
767f9010b0eSMarkus Reichl		phy-supply = <&vcc5v0_host>;
768f9010b0eSMarkus Reichl		status = "okay";
769f9010b0eSMarkus Reichl	};
770f9010b0eSMarkus Reichl};
771f9010b0eSMarkus Reichl
772f9010b0eSMarkus Reichl&u2phy1 {
773f9010b0eSMarkus Reichl	status = "okay";
774f9010b0eSMarkus Reichl
775f9010b0eSMarkus Reichl	u2phy1_otg: otg-port {
776f9010b0eSMarkus Reichl		phy-supply = <&vcc_vbus_typec1>;
777f9010b0eSMarkus Reichl		status = "okay";
778f9010b0eSMarkus Reichl	};
779f9010b0eSMarkus Reichl
780f9010b0eSMarkus Reichl	u2phy1_host: host-port {
781f9010b0eSMarkus Reichl		phy-supply = <&vcc5v0_host>;
782f9010b0eSMarkus Reichl		status = "okay";
783f9010b0eSMarkus Reichl	};
784f9010b0eSMarkus Reichl};
785f9010b0eSMarkus Reichl
786f9010b0eSMarkus Reichl&uart0 {
787f9010b0eSMarkus Reichl	pinctrl-names = "default";
788f9010b0eSMarkus Reichl	pinctrl-0 = <&uart0_xfer &uart0_cts>;
789f9010b0eSMarkus Reichl	status = "okay";
790f9010b0eSMarkus Reichl};
791f9010b0eSMarkus Reichl
792f9010b0eSMarkus Reichl&uart2 {
793f9010b0eSMarkus Reichl	status = "okay";
794f9010b0eSMarkus Reichl};
795f9010b0eSMarkus Reichl
796f9010b0eSMarkus Reichl&usb_host0_ehci {
797f9010b0eSMarkus Reichl	status = "okay";
798f9010b0eSMarkus Reichl};
799f9010b0eSMarkus Reichl
800f9010b0eSMarkus Reichl&usb_host0_ohci {
801f9010b0eSMarkus Reichl	status = "okay";
802f9010b0eSMarkus Reichl};
803f9010b0eSMarkus Reichl
804f9010b0eSMarkus Reichl&usb_host1_ehci {
805f9010b0eSMarkus Reichl	status = "okay";
806f9010b0eSMarkus Reichl};
807f9010b0eSMarkus Reichl
808f9010b0eSMarkus Reichl&usb_host1_ohci {
809f9010b0eSMarkus Reichl	status = "okay";
810f9010b0eSMarkus Reichl};
811f9010b0eSMarkus Reichl
812f9010b0eSMarkus Reichl&usbdrd3_0 {
813f9010b0eSMarkus Reichl	status = "okay";
814f9010b0eSMarkus Reichl};
815f9010b0eSMarkus Reichl
816f9010b0eSMarkus Reichl&usbdrd_dwc3_0 {
817f9010b0eSMarkus Reichl	status = "okay";
818f9010b0eSMarkus Reichl};
819f9010b0eSMarkus Reichl
820f9010b0eSMarkus Reichl&usbdrd3_1 {
821f9010b0eSMarkus Reichl	status = "okay";
822f9010b0eSMarkus Reichl};
823f9010b0eSMarkus Reichl
824f9010b0eSMarkus Reichl&usbdrd_dwc3_1 {
825f9010b0eSMarkus Reichl	status = "okay";
826f9010b0eSMarkus Reichl	dr_mode = "host";
827f9010b0eSMarkus Reichl};
828f9010b0eSMarkus Reichl
829f9010b0eSMarkus Reichl&vopb {
830f9010b0eSMarkus Reichl	status = "okay";
831f9010b0eSMarkus Reichl};
832f9010b0eSMarkus Reichl
833f9010b0eSMarkus Reichl&vopb_mmu {
834f9010b0eSMarkus Reichl	status = "okay";
835f9010b0eSMarkus Reichl};
836f9010b0eSMarkus Reichl
837f9010b0eSMarkus Reichl&vopl {
838f9010b0eSMarkus Reichl	status = "okay";
839f9010b0eSMarkus Reichl};
840f9010b0eSMarkus Reichl
841f9010b0eSMarkus Reichl&vopl_mmu {
842f9010b0eSMarkus Reichl	status = "okay";
843f9010b0eSMarkus Reichl};
844