xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm64/rockchip/rk3399-khadas-edge.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2019 Shenzhen Wesion Technology Co., Ltd.
4*4882a593Smuzhiyun * (https://www.khadas.com)
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun/dts-v1/;
8*4882a593Smuzhiyun#include <dt-bindings/input/linux-event-codes.h>
9*4882a593Smuzhiyun#include <dt-bindings/pwm/pwm.h>
10*4882a593Smuzhiyun#include "rk3399.dtsi"
11*4882a593Smuzhiyun#include "rk3399-opp.dtsi"
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	chosen {
15*4882a593Smuzhiyun		stdout-path = "serial2:1500000n8";
16*4882a593Smuzhiyun	};
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	clkin_gmac: external-gmac-clock {
19*4882a593Smuzhiyun		compatible = "fixed-clock";
20*4882a593Smuzhiyun		clock-frequency = <125000000>;
21*4882a593Smuzhiyun		clock-output-names = "clkin_gmac";
22*4882a593Smuzhiyun		#clock-cells = <0>;
23*4882a593Smuzhiyun	};
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun	sdio_pwrseq: sdio-pwrseq {
26*4882a593Smuzhiyun		compatible = "mmc-pwrseq-simple";
27*4882a593Smuzhiyun		clocks = <&rk808 1>;
28*4882a593Smuzhiyun		clock-names = "ext_clock";
29*4882a593Smuzhiyun		pinctrl-names = "default";
30*4882a593Smuzhiyun		pinctrl-0 = <&wifi_enable_h>;
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun		/*
33*4882a593Smuzhiyun		 * On the module itself this is one of these (depending
34*4882a593Smuzhiyun		 * on the actual card populated):
35*4882a593Smuzhiyun		 * - SDIO_RESET_L_WL_REG_ON
36*4882a593Smuzhiyun		 * - PDN (power down when low)
37*4882a593Smuzhiyun		 */
38*4882a593Smuzhiyun		reset-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_LOW>;
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	/* switched by pmic_sleep */
42*4882a593Smuzhiyun	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
43*4882a593Smuzhiyun		compatible = "regulator-fixed";
44*4882a593Smuzhiyun		regulator-name = "vcc1v8_s3";
45*4882a593Smuzhiyun		regulator-always-on;
46*4882a593Smuzhiyun		regulator-boot-on;
47*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
48*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
49*4882a593Smuzhiyun		vin-supply = <&vcc_1v8>;
50*4882a593Smuzhiyun	};
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun	vcc3v3_pcie: vcc3v3-pcie-regulator {
53*4882a593Smuzhiyun		compatible = "regulator-fixed";
54*4882a593Smuzhiyun		regulator-name = "vcc3v3_pcie";
55*4882a593Smuzhiyun		regulator-always-on;
56*4882a593Smuzhiyun		regulator-boot-on;
57*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
58*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
59*4882a593Smuzhiyun		vin-supply = <&vsys_3v3>;
60*4882a593Smuzhiyun	};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
63*4882a593Smuzhiyun	vcc5v0_host: vcc5v0-host-regulator {
64*4882a593Smuzhiyun		compatible = "regulator-fixed";
65*4882a593Smuzhiyun		enable-active-high;
66*4882a593Smuzhiyun		gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
67*4882a593Smuzhiyun		pinctrl-names = "default";
68*4882a593Smuzhiyun		pinctrl-0 = <&vcc5v0_host_en>;
69*4882a593Smuzhiyun		regulator-name = "vcc5v0_host";
70*4882a593Smuzhiyun		regulator-always-on;
71*4882a593Smuzhiyun		vin-supply = <&vsys_5v0>;
72*4882a593Smuzhiyun	};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun	vdd_log: vdd-log {
75*4882a593Smuzhiyun		compatible = "pwm-regulator";
76*4882a593Smuzhiyun		pwms = <&pwm2 0 25000 1>;
77*4882a593Smuzhiyun		regulator-name = "vdd_log";
78*4882a593Smuzhiyun		regulator-always-on;
79*4882a593Smuzhiyun		regulator-boot-on;
80*4882a593Smuzhiyun		regulator-min-microvolt = <800000>;
81*4882a593Smuzhiyun		regulator-max-microvolt = <1400000>;
82*4882a593Smuzhiyun		vin-supply = <&vsys_3v3>;
83*4882a593Smuzhiyun	};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	vsys: vsys {
86*4882a593Smuzhiyun		compatible = "regulator-fixed";
87*4882a593Smuzhiyun		regulator-name = "vsys";
88*4882a593Smuzhiyun		regulator-always-on;
89*4882a593Smuzhiyun		regulator-boot-on;
90*4882a593Smuzhiyun	};
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun	vsys_3v3: vsys-3v3 {
93*4882a593Smuzhiyun		compatible = "regulator-fixed";
94*4882a593Smuzhiyun		regulator-name = "vsys_3v3";
95*4882a593Smuzhiyun		regulator-always-on;
96*4882a593Smuzhiyun		regulator-boot-on;
97*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
98*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
99*4882a593Smuzhiyun		vin-supply = <&vsys>;
100*4882a593Smuzhiyun	};
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun	vsys_5v0: vsys-5v0 {
103*4882a593Smuzhiyun		compatible = "regulator-fixed";
104*4882a593Smuzhiyun		regulator-name = "vsys_5v0";
105*4882a593Smuzhiyun		regulator-always-on;
106*4882a593Smuzhiyun		regulator-boot-on;
107*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
108*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
109*4882a593Smuzhiyun		vin-supply = <&vsys>;
110*4882a593Smuzhiyun	};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun	adc-keys {
113*4882a593Smuzhiyun		compatible = "adc-keys";
114*4882a593Smuzhiyun		io-channels = <&saradc 1>;
115*4882a593Smuzhiyun		io-channel-names = "buttons";
116*4882a593Smuzhiyun		keyup-threshold-microvolt = <1800000>;
117*4882a593Smuzhiyun		poll-interval = <100>;
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun		recovery {
120*4882a593Smuzhiyun			label = "Recovery";
121*4882a593Smuzhiyun			linux,code = <KEY_VENDOR>;
122*4882a593Smuzhiyun			press-threshold-microvolt = <18000>;
123*4882a593Smuzhiyun		};
124*4882a593Smuzhiyun	};
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun	gpio-keys {
127*4882a593Smuzhiyun		compatible = "gpio-keys";
128*4882a593Smuzhiyun		autorepeat;
129*4882a593Smuzhiyun		pinctrl-names = "default";
130*4882a593Smuzhiyun		pinctrl-0 = <&pwrbtn>;
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun		power {
133*4882a593Smuzhiyun			debounce-interval = <100>;
134*4882a593Smuzhiyun			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
135*4882a593Smuzhiyun			label = "GPIO Key Power";
136*4882a593Smuzhiyun			linux,code = <KEY_POWER>;
137*4882a593Smuzhiyun			wakeup-source;
138*4882a593Smuzhiyun		};
139*4882a593Smuzhiyun	};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun	ir-receiver {
142*4882a593Smuzhiyun		compatible = "gpio-ir-receiver";
143*4882a593Smuzhiyun		gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
144*4882a593Smuzhiyun		linux,rc-map-name = "rc-khadas";
145*4882a593Smuzhiyun		pinctrl-names = "default";
146*4882a593Smuzhiyun		pinctrl-0 = <&ir_rx>;
147*4882a593Smuzhiyun	};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun	leds {
150*4882a593Smuzhiyun		compatible = "gpio-leds";
151*4882a593Smuzhiyun		pinctrl-names = "default";
152*4882a593Smuzhiyun		pinctrl-0 = <&sys_led_pin>, <&user_led_pin>;
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun		sys_led: led-0 {
155*4882a593Smuzhiyun			label = "sys_led";
156*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
157*4882a593Smuzhiyun			gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
158*4882a593Smuzhiyun		};
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun		user_led: led-1 {
161*4882a593Smuzhiyun			label = "user_led";
162*4882a593Smuzhiyun			default-state = "off";
163*4882a593Smuzhiyun			gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_HIGH>;
164*4882a593Smuzhiyun		};
165*4882a593Smuzhiyun	};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun	fan: pwm-fan {
168*4882a593Smuzhiyun		compatible = "pwm-fan";
169*4882a593Smuzhiyun		cooling-levels = <0 150 200 255>;
170*4882a593Smuzhiyun		#cooling-cells = <2>;
171*4882a593Smuzhiyun		fan-supply = <&vsys_5v0>;
172*4882a593Smuzhiyun		pwms = <&pwm0 0 40000 0>;
173*4882a593Smuzhiyun	};
174*4882a593Smuzhiyun};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun&cpu_l0 {
177*4882a593Smuzhiyun	cpu-supply = <&vdd_cpu_l>;
178*4882a593Smuzhiyun};
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun&cpu_l1 {
181*4882a593Smuzhiyun	cpu-supply = <&vdd_cpu_l>;
182*4882a593Smuzhiyun};
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun&cpu_l2 {
185*4882a593Smuzhiyun	cpu-supply = <&vdd_cpu_l>;
186*4882a593Smuzhiyun};
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun&cpu_l3 {
189*4882a593Smuzhiyun	cpu-supply = <&vdd_cpu_l>;
190*4882a593Smuzhiyun};
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun&cpu_b0 {
193*4882a593Smuzhiyun	cpu-supply = <&vdd_cpu_b>;
194*4882a593Smuzhiyun};
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun&cpu_b1 {
197*4882a593Smuzhiyun	cpu-supply = <&vdd_cpu_b>;
198*4882a593Smuzhiyun};
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun&cpu_thermal {
201*4882a593Smuzhiyun	trips {
202*4882a593Smuzhiyun		cpu_warm: cpu_warm {
203*4882a593Smuzhiyun			temperature = <55000>;
204*4882a593Smuzhiyun			hysteresis = <2000>;
205*4882a593Smuzhiyun			type = "active";
206*4882a593Smuzhiyun		};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun		cpu_hot: cpu_hot {
209*4882a593Smuzhiyun			temperature = <65000>;
210*4882a593Smuzhiyun			hysteresis = <2000>;
211*4882a593Smuzhiyun			type = "active";
212*4882a593Smuzhiyun		};
213*4882a593Smuzhiyun	};
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun	cooling-maps {
216*4882a593Smuzhiyun		map2 {
217*4882a593Smuzhiyun			trip = <&cpu_warm>;
218*4882a593Smuzhiyun			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
219*4882a593Smuzhiyun		};
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun		map3 {
222*4882a593Smuzhiyun			trip = <&cpu_hot>;
223*4882a593Smuzhiyun			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
224*4882a593Smuzhiyun		};
225*4882a593Smuzhiyun	};
226*4882a593Smuzhiyun};
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun&emmc_phy {
229*4882a593Smuzhiyun	status = "okay";
230*4882a593Smuzhiyun};
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun&gmac {
233*4882a593Smuzhiyun	assigned-clocks = <&cru SCLK_RMII_SRC>;
234*4882a593Smuzhiyun	assigned-clock-parents = <&clkin_gmac>;
235*4882a593Smuzhiyun	clock_in_out = "input";
236*4882a593Smuzhiyun	phy-supply = <&vcc_lan>;
237*4882a593Smuzhiyun	phy-mode = "rgmii";
238*4882a593Smuzhiyun	pinctrl-names = "default";
239*4882a593Smuzhiyun	pinctrl-0 = <&rgmii_pins>;
240*4882a593Smuzhiyun	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
241*4882a593Smuzhiyun	snps,reset-active-low;
242*4882a593Smuzhiyun	snps,reset-delays-us = <0 10000 50000>;
243*4882a593Smuzhiyun	tx_delay = <0x28>;
244*4882a593Smuzhiyun	rx_delay = <0x11>;
245*4882a593Smuzhiyun};
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun&gpu {
248*4882a593Smuzhiyun	mali-supply = <&vdd_gpu>;
249*4882a593Smuzhiyun	status = "okay";
250*4882a593Smuzhiyun};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun&gpu_thermal {
253*4882a593Smuzhiyun	trips {
254*4882a593Smuzhiyun		gpu_warm: gpu_warm {
255*4882a593Smuzhiyun			temperature = <55000>;
256*4882a593Smuzhiyun			hysteresis = <2000>;
257*4882a593Smuzhiyun			type = "active";
258*4882a593Smuzhiyun		};
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun		gpu_hot: gpu_hot {
261*4882a593Smuzhiyun			temperature = <65000>;
262*4882a593Smuzhiyun			hysteresis = <2000>;
263*4882a593Smuzhiyun			type = "active";
264*4882a593Smuzhiyun		};
265*4882a593Smuzhiyun	};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun	cooling-maps {
268*4882a593Smuzhiyun		map1 {
269*4882a593Smuzhiyun			trip = <&gpu_warm>;
270*4882a593Smuzhiyun			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
271*4882a593Smuzhiyun		};
272*4882a593Smuzhiyun
273*4882a593Smuzhiyun		map2 {
274*4882a593Smuzhiyun			trip = <&gpu_hot>;
275*4882a593Smuzhiyun			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
276*4882a593Smuzhiyun		};
277*4882a593Smuzhiyun	};
278*4882a593Smuzhiyun};
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun&hdmi {
281*4882a593Smuzhiyun	ddc-i2c-bus = <&i2c3>;
282*4882a593Smuzhiyun	pinctrl-names = "default";
283*4882a593Smuzhiyun	pinctrl-0 = <&hdmi_cec>;
284*4882a593Smuzhiyun	status = "okay";
285*4882a593Smuzhiyun};
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun&hdmi_sound {
288*4882a593Smuzhiyun	status = "okay";
289*4882a593Smuzhiyun};
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun&i2c3 {
292*4882a593Smuzhiyun	i2c-scl-rising-time-ns = <450>;
293*4882a593Smuzhiyun	i2c-scl-falling-time-ns = <15>;
294*4882a593Smuzhiyun	status = "okay";
295*4882a593Smuzhiyun};
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun&i2c4 {
298*4882a593Smuzhiyun	clock-frequency = <400000>;
299*4882a593Smuzhiyun	i2c-scl-rising-time-ns = <168>;
300*4882a593Smuzhiyun	i2c-scl-falling-time-ns = <4>;
301*4882a593Smuzhiyun	status = "okay";
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun	rk808: pmic@1b {
304*4882a593Smuzhiyun		compatible = "rockchip,rk808";
305*4882a593Smuzhiyun		reg = <0x1b>;
306*4882a593Smuzhiyun		interrupt-parent = <&gpio1>;
307*4882a593Smuzhiyun		interrupts = <RK_PC6 IRQ_TYPE_LEVEL_LOW>;
308*4882a593Smuzhiyun		#clock-cells = <1>;
309*4882a593Smuzhiyun		clock-output-names = "xin32k", "rk808-clkout2";
310*4882a593Smuzhiyun		pinctrl-names = "default";
311*4882a593Smuzhiyun		pinctrl-0 = <&pmic_int_l>;
312*4882a593Smuzhiyun		rockchip,system-power-controller;
313*4882a593Smuzhiyun		wakeup-source;
314*4882a593Smuzhiyun
315*4882a593Smuzhiyun		vcc1-supply = <&vsys_3v3>;
316*4882a593Smuzhiyun		vcc2-supply = <&vsys_3v3>;
317*4882a593Smuzhiyun		vcc3-supply = <&vsys_3v3>;
318*4882a593Smuzhiyun		vcc4-supply = <&vsys_3v3>;
319*4882a593Smuzhiyun		vcc6-supply = <&vsys_3v3>;
320*4882a593Smuzhiyun		vcc7-supply = <&vsys_3v3>;
321*4882a593Smuzhiyun		vcc8-supply = <&vsys_3v3>;
322*4882a593Smuzhiyun		vcc9-supply = <&vsys_3v3>;
323*4882a593Smuzhiyun		vcc10-supply = <&vsys_3v3>;
324*4882a593Smuzhiyun		vcc11-supply = <&vsys_3v3>;
325*4882a593Smuzhiyun		vcc12-supply = <&vsys_3v3>;
326*4882a593Smuzhiyun		vddio-supply = <&vcc_1v8>;
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun		regulators {
329*4882a593Smuzhiyun			vdd_center: DCDC_REG1 {
330*4882a593Smuzhiyun				regulator-name = "vdd_center";
331*4882a593Smuzhiyun				regulator-always-on;
332*4882a593Smuzhiyun				regulator-boot-on;
333*4882a593Smuzhiyun				regulator-min-microvolt = <750000>;
334*4882a593Smuzhiyun				regulator-max-microvolt = <1350000>;
335*4882a593Smuzhiyun				regulator-ramp-delay = <6001>;
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun				regulator-state-mem {
338*4882a593Smuzhiyun					regulator-off-in-suspend;
339*4882a593Smuzhiyun				};
340*4882a593Smuzhiyun			};
341*4882a593Smuzhiyun
342*4882a593Smuzhiyun			vdd_cpu_l: DCDC_REG2 {
343*4882a593Smuzhiyun				regulator-name = "vdd_cpu_l";
344*4882a593Smuzhiyun				regulator-always-on;
345*4882a593Smuzhiyun				regulator-boot-on;
346*4882a593Smuzhiyun				regulator-min-microvolt = <750000>;
347*4882a593Smuzhiyun				regulator-max-microvolt = <1350000>;
348*4882a593Smuzhiyun				regulator-ramp-delay = <6001>;
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun				regulator-state-mem {
351*4882a593Smuzhiyun					regulator-off-in-suspend;
352*4882a593Smuzhiyun				};
353*4882a593Smuzhiyun			};
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun			vcc_ddr: DCDC_REG3 {
356*4882a593Smuzhiyun				regulator-name = "vcc_ddr";
357*4882a593Smuzhiyun				regulator-always-on;
358*4882a593Smuzhiyun				regulator-boot-on;
359*4882a593Smuzhiyun
360*4882a593Smuzhiyun				regulator-state-mem {
361*4882a593Smuzhiyun					regulator-on-in-suspend;
362*4882a593Smuzhiyun				};
363*4882a593Smuzhiyun			};
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun			vcc_1v8: DCDC_REG4 {
366*4882a593Smuzhiyun				regulator-name = "vcc_1v8";
367*4882a593Smuzhiyun				regulator-always-on;
368*4882a593Smuzhiyun				regulator-boot-on;
369*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
370*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun				regulator-state-mem {
373*4882a593Smuzhiyun					regulator-on-in-suspend;
374*4882a593Smuzhiyun					regulator-suspend-microvolt = <1800000>;
375*4882a593Smuzhiyun				};
376*4882a593Smuzhiyun			};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun			vcc1v8_apio2: LDO_REG1 {
379*4882a593Smuzhiyun				regulator-name = "vcc1v8_apio2";
380*4882a593Smuzhiyun				regulator-always-on;
381*4882a593Smuzhiyun				regulator-boot-on;
382*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
383*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
384*4882a593Smuzhiyun
385*4882a593Smuzhiyun				regulator-state-mem {
386*4882a593Smuzhiyun					regulator-off-in-suspend;
387*4882a593Smuzhiyun				};
388*4882a593Smuzhiyun			};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun			vcc_vldo2: LDO_REG2 {
391*4882a593Smuzhiyun				regulator-name = "vcc_vldo2";
392*4882a593Smuzhiyun				regulator-always-on;
393*4882a593Smuzhiyun				regulator-boot-on;
394*4882a593Smuzhiyun				regulator-min-microvolt = <3000000>;
395*4882a593Smuzhiyun				regulator-max-microvolt = <3000000>;
396*4882a593Smuzhiyun
397*4882a593Smuzhiyun				regulator-state-mem {
398*4882a593Smuzhiyun					regulator-off-in-suspend;
399*4882a593Smuzhiyun				};
400*4882a593Smuzhiyun			};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun			vcc1v8_pmupll: LDO_REG3 {
403*4882a593Smuzhiyun				regulator-name = "vcc1v8_pmupll";
404*4882a593Smuzhiyun				regulator-always-on;
405*4882a593Smuzhiyun				regulator-boot-on;
406*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
407*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun				regulator-state-mem {
410*4882a593Smuzhiyun					regulator-on-in-suspend;
411*4882a593Smuzhiyun					regulator-suspend-microvolt = <1800000>;
412*4882a593Smuzhiyun				};
413*4882a593Smuzhiyun			};
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun			vccio_sd: LDO_REG4 {
416*4882a593Smuzhiyun				regulator-name = "vccio_sd";
417*4882a593Smuzhiyun				regulator-always-on;
418*4882a593Smuzhiyun				regulator-boot-on;
419*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
420*4882a593Smuzhiyun				regulator-max-microvolt = <3000000>;
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun				regulator-state-mem {
423*4882a593Smuzhiyun					regulator-on-in-suspend;
424*4882a593Smuzhiyun					regulator-suspend-microvolt = <3000000>;
425*4882a593Smuzhiyun				};
426*4882a593Smuzhiyun			};
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun			vcc_vldo5: LDO_REG5 {
429*4882a593Smuzhiyun				regulator-name = "vcc_vldo5";
430*4882a593Smuzhiyun				regulator-always-on;
431*4882a593Smuzhiyun				regulator-boot-on;
432*4882a593Smuzhiyun				regulator-min-microvolt = <3000000>;
433*4882a593Smuzhiyun				regulator-max-microvolt = <3000000>;
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun				regulator-state-mem {
436*4882a593Smuzhiyun					regulator-off-in-suspend;
437*4882a593Smuzhiyun				};
438*4882a593Smuzhiyun			};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun			vcc_1v5: LDO_REG6 {
441*4882a593Smuzhiyun				regulator-name = "vcc_1v5";
442*4882a593Smuzhiyun				regulator-always-on;
443*4882a593Smuzhiyun				regulator-boot-on;
444*4882a593Smuzhiyun				regulator-min-microvolt = <1500000>;
445*4882a593Smuzhiyun				regulator-max-microvolt = <1500000>;
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun				regulator-state-mem {
448*4882a593Smuzhiyun					regulator-on-in-suspend;
449*4882a593Smuzhiyun					regulator-suspend-microvolt = <1500000>;
450*4882a593Smuzhiyun				};
451*4882a593Smuzhiyun			};
452*4882a593Smuzhiyun
453*4882a593Smuzhiyun			vcc1v8_codec: LDO_REG7 {
454*4882a593Smuzhiyun				regulator-name = "vcc1v8_codec";
455*4882a593Smuzhiyun				regulator-always-on;
456*4882a593Smuzhiyun				regulator-boot-on;
457*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
458*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
459*4882a593Smuzhiyun
460*4882a593Smuzhiyun				regulator-state-mem {
461*4882a593Smuzhiyun					regulator-off-in-suspend;
462*4882a593Smuzhiyun				};
463*4882a593Smuzhiyun			};
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun			vcc_3v0: LDO_REG8 {
466*4882a593Smuzhiyun				regulator-name = "vcc_3v0";
467*4882a593Smuzhiyun				regulator-always-on;
468*4882a593Smuzhiyun				regulator-boot-on;
469*4882a593Smuzhiyun				regulator-min-microvolt = <3000000>;
470*4882a593Smuzhiyun				regulator-max-microvolt = <3000000>;
471*4882a593Smuzhiyun
472*4882a593Smuzhiyun				regulator-state-mem {
473*4882a593Smuzhiyun					regulator-on-in-suspend;
474*4882a593Smuzhiyun					regulator-suspend-microvolt = <3000000>;
475*4882a593Smuzhiyun				};
476*4882a593Smuzhiyun			};
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
479*4882a593Smuzhiyun				regulator-name = "vcc3v3_s3";
480*4882a593Smuzhiyun				regulator-always-on;
481*4882a593Smuzhiyun				regulator-boot-on;
482*4882a593Smuzhiyun
483*4882a593Smuzhiyun				regulator-state-mem {
484*4882a593Smuzhiyun					regulator-off-in-suspend;
485*4882a593Smuzhiyun				};
486*4882a593Smuzhiyun			};
487*4882a593Smuzhiyun
488*4882a593Smuzhiyun			vcc3v3_s0: SWITCH_REG2 {
489*4882a593Smuzhiyun				regulator-name = "vcc3v3_s0";
490*4882a593Smuzhiyun				regulator-always-on;
491*4882a593Smuzhiyun				regulator-boot-on;
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun				regulator-state-mem {
494*4882a593Smuzhiyun					regulator-off-in-suspend;
495*4882a593Smuzhiyun				};
496*4882a593Smuzhiyun			};
497*4882a593Smuzhiyun		};
498*4882a593Smuzhiyun	};
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun	vdd_cpu_b: regulator@40 {
501*4882a593Smuzhiyun		compatible = "silergy,syr827";
502*4882a593Smuzhiyun		reg = <0x40>;
503*4882a593Smuzhiyun		fcs,suspend-voltage-selector = <1>;
504*4882a593Smuzhiyun		pinctrl-names = "default";
505*4882a593Smuzhiyun		pinctrl-0 = <&cpu_b_sleep>;
506*4882a593Smuzhiyun		regulator-name = "vdd_cpu_b";
507*4882a593Smuzhiyun		regulator-min-microvolt = <712500>;
508*4882a593Smuzhiyun		regulator-max-microvolt = <1500000>;
509*4882a593Smuzhiyun		regulator-ramp-delay = <1000>;
510*4882a593Smuzhiyun		regulator-always-on;
511*4882a593Smuzhiyun		regulator-boot-on;
512*4882a593Smuzhiyun		vin-supply = <&vsys_3v3>;
513*4882a593Smuzhiyun
514*4882a593Smuzhiyun		regulator-state-mem {
515*4882a593Smuzhiyun			regulator-off-in-suspend;
516*4882a593Smuzhiyun		};
517*4882a593Smuzhiyun	};
518*4882a593Smuzhiyun
519*4882a593Smuzhiyun	vdd_gpu: regulator@41 {
520*4882a593Smuzhiyun		compatible = "silergy,syr828";
521*4882a593Smuzhiyun		reg = <0x41>;
522*4882a593Smuzhiyun		fcs,suspend-voltage-selector = <1>;
523*4882a593Smuzhiyun		pinctrl-names = "default";
524*4882a593Smuzhiyun		pinctrl-0 = <&gpu_sleep>;
525*4882a593Smuzhiyun		regulator-name = "vdd_gpu";
526*4882a593Smuzhiyun		regulator-min-microvolt = <712500>;
527*4882a593Smuzhiyun		regulator-max-microvolt = <1500000>;
528*4882a593Smuzhiyun		regulator-ramp-delay = <1000>;
529*4882a593Smuzhiyun		regulator-always-on;
530*4882a593Smuzhiyun		regulator-boot-on;
531*4882a593Smuzhiyun		vin-supply = <&vsys_3v3>;
532*4882a593Smuzhiyun
533*4882a593Smuzhiyun		regulator-state-mem {
534*4882a593Smuzhiyun			regulator-off-in-suspend;
535*4882a593Smuzhiyun		};
536*4882a593Smuzhiyun	};
537*4882a593Smuzhiyun};
538*4882a593Smuzhiyun
539*4882a593Smuzhiyun&i2c8 {
540*4882a593Smuzhiyun	clock-frequency = <400000>;
541*4882a593Smuzhiyun	i2c-scl-rising-time-ns = <160>;
542*4882a593Smuzhiyun	i2c-scl-falling-time-ns = <30>;
543*4882a593Smuzhiyun	status = "okay";
544*4882a593Smuzhiyun};
545*4882a593Smuzhiyun
546*4882a593Smuzhiyun&i2s0 {
547*4882a593Smuzhiyun	rockchip,playback-channels = <8>;
548*4882a593Smuzhiyun	rockchip,capture-channels = <8>;
549*4882a593Smuzhiyun	status = "okay";
550*4882a593Smuzhiyun};
551*4882a593Smuzhiyun
552*4882a593Smuzhiyun&i2s1 {
553*4882a593Smuzhiyun	rockchip,playback-channels = <2>;
554*4882a593Smuzhiyun	rockchip,capture-channels = <2>;
555*4882a593Smuzhiyun	status = "okay";
556*4882a593Smuzhiyun};
557*4882a593Smuzhiyun
558*4882a593Smuzhiyun&i2s2 {
559*4882a593Smuzhiyun	status = "okay";
560*4882a593Smuzhiyun};
561*4882a593Smuzhiyun
562*4882a593Smuzhiyun&io_domains {
563*4882a593Smuzhiyun	bt656-supply = <&vcc1v8_apio2>;
564*4882a593Smuzhiyun	audio-supply = <&vcc1v8_codec>;
565*4882a593Smuzhiyun	sdmmc-supply = <&vccio_sd>;
566*4882a593Smuzhiyun	gpio1830-supply = <&vcc_3v0>;
567*4882a593Smuzhiyun	status = "okay";
568*4882a593Smuzhiyun};
569*4882a593Smuzhiyun
570*4882a593Smuzhiyun&pmu_io_domains {
571*4882a593Smuzhiyun	pmu1830-supply = <&vcc_1v8>;
572*4882a593Smuzhiyun	status = "okay";
573*4882a593Smuzhiyun};
574*4882a593Smuzhiyun
575*4882a593Smuzhiyun&pinctrl {
576*4882a593Smuzhiyun	bt {
577*4882a593Smuzhiyun		bt_host_wake_l: bt-host-wake-l {
578*4882a593Smuzhiyun			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
579*4882a593Smuzhiyun		};
580*4882a593Smuzhiyun
581*4882a593Smuzhiyun		bt_reg_on_h: bt-reg-on-h {
582*4882a593Smuzhiyun			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
583*4882a593Smuzhiyun		};
584*4882a593Smuzhiyun
585*4882a593Smuzhiyun		bt_wake_l: bt-wake-l {
586*4882a593Smuzhiyun			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
587*4882a593Smuzhiyun		};
588*4882a593Smuzhiyun	};
589*4882a593Smuzhiyun
590*4882a593Smuzhiyun	buttons {
591*4882a593Smuzhiyun		pwrbtn: pwrbtn {
592*4882a593Smuzhiyun			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
593*4882a593Smuzhiyun		};
594*4882a593Smuzhiyun	};
595*4882a593Smuzhiyun
596*4882a593Smuzhiyun	ir {
597*4882a593Smuzhiyun		ir_rx: ir-rx {
598*4882a593Smuzhiyun		    rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
599*4882a593Smuzhiyun		};
600*4882a593Smuzhiyun	};
601*4882a593Smuzhiyun
602*4882a593Smuzhiyun	leds {
603*4882a593Smuzhiyun		sys_led_pin: sys-led-pin {
604*4882a593Smuzhiyun			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
605*4882a593Smuzhiyun		};
606*4882a593Smuzhiyun
607*4882a593Smuzhiyun		user_led_pin: user-led-pin {
608*4882a593Smuzhiyun			rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
609*4882a593Smuzhiyun		};
610*4882a593Smuzhiyun	};
611*4882a593Smuzhiyun
612*4882a593Smuzhiyun	pmic {
613*4882a593Smuzhiyun		pmic_int_l: pmic-int-l {
614*4882a593Smuzhiyun			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
615*4882a593Smuzhiyun		};
616*4882a593Smuzhiyun
617*4882a593Smuzhiyun		cpu_b_sleep: cpu-b-sleep {
618*4882a593Smuzhiyun			rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
619*4882a593Smuzhiyun		};
620*4882a593Smuzhiyun
621*4882a593Smuzhiyun		gpu_sleep: gpu-sleep {
622*4882a593Smuzhiyun			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
623*4882a593Smuzhiyun		};
624*4882a593Smuzhiyun	};
625*4882a593Smuzhiyun
626*4882a593Smuzhiyun	sdio-pwrseq {
627*4882a593Smuzhiyun		wifi_enable_h: wifi-enable-h {
628*4882a593Smuzhiyun			rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
629*4882a593Smuzhiyun		};
630*4882a593Smuzhiyun	};
631*4882a593Smuzhiyun
632*4882a593Smuzhiyun	usb2 {
633*4882a593Smuzhiyun		vcc5v0_host_en: vcc5v0-host-en {
634*4882a593Smuzhiyun			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
635*4882a593Smuzhiyun		};
636*4882a593Smuzhiyun	};
637*4882a593Smuzhiyun
638*4882a593Smuzhiyun	wifi {
639*4882a593Smuzhiyun		wifi_host_wake_l: wifi-host-wake-l {
640*4882a593Smuzhiyun			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
641*4882a593Smuzhiyun		};
642*4882a593Smuzhiyun	};
643*4882a593Smuzhiyun};
644*4882a593Smuzhiyun
645*4882a593Smuzhiyun&pwm0 {
646*4882a593Smuzhiyun	status = "okay";
647*4882a593Smuzhiyun};
648*4882a593Smuzhiyun
649*4882a593Smuzhiyun&pwm2 {
650*4882a593Smuzhiyun	status = "okay";
651*4882a593Smuzhiyun};
652*4882a593Smuzhiyun
653*4882a593Smuzhiyun&saradc {
654*4882a593Smuzhiyun	vref-supply = <&vcca1v8_s3>;
655*4882a593Smuzhiyun	status = "okay";
656*4882a593Smuzhiyun};
657*4882a593Smuzhiyun
658*4882a593Smuzhiyun&sdio0 {
659*4882a593Smuzhiyun	/* WiFi & BT combo module Ampak AP6356S */
660*4882a593Smuzhiyun	bus-width = <4>;
661*4882a593Smuzhiyun	cap-sdio-irq;
662*4882a593Smuzhiyun	cap-sd-highspeed;
663*4882a593Smuzhiyun	keep-power-in-suspend;
664*4882a593Smuzhiyun	mmc-pwrseq = <&sdio_pwrseq>;
665*4882a593Smuzhiyun	non-removable;
666*4882a593Smuzhiyun	pinctrl-names = "default";
667*4882a593Smuzhiyun	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
668*4882a593Smuzhiyun	sd-uhs-sdr104;
669*4882a593Smuzhiyun	vqmmc-supply = <&vcc1v8_s3>;
670*4882a593Smuzhiyun	vmmc-supply = <&vccio_sd>;
671*4882a593Smuzhiyun	#address-cells = <1>;
672*4882a593Smuzhiyun	#size-cells = <0>;
673*4882a593Smuzhiyun	status = "okay";
674*4882a593Smuzhiyun
675*4882a593Smuzhiyun	brcmf: wifi@1 {
676*4882a593Smuzhiyun		reg = <1>;
677*4882a593Smuzhiyun		compatible = "brcm,bcm4329-fmac";
678*4882a593Smuzhiyun		interrupt-parent = <&gpio0>;
679*4882a593Smuzhiyun		interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
680*4882a593Smuzhiyun		interrupt-names = "host-wake";
681*4882a593Smuzhiyun		brcm,drive-strength = <5>;
682*4882a593Smuzhiyun		pinctrl-names = "default";
683*4882a593Smuzhiyun		pinctrl-0 = <&wifi_host_wake_l>;
684*4882a593Smuzhiyun	};
685*4882a593Smuzhiyun};
686*4882a593Smuzhiyun
687*4882a593Smuzhiyun&sdmmc {
688*4882a593Smuzhiyun	bus-width = <4>;
689*4882a593Smuzhiyun	cap-mmc-highspeed;
690*4882a593Smuzhiyun	cap-sd-highspeed;
691*4882a593Smuzhiyun	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
692*4882a593Smuzhiyun	disable-wp;
693*4882a593Smuzhiyun	max-frequency = <150000000>;
694*4882a593Smuzhiyun	pinctrl-names = "default";
695*4882a593Smuzhiyun	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
696*4882a593Smuzhiyun	status = "okay";
697*4882a593Smuzhiyun};
698*4882a593Smuzhiyun
699*4882a593Smuzhiyun&sdhci {
700*4882a593Smuzhiyun	bus-width = <8>;
701*4882a593Smuzhiyun	mmc-hs400-1_8v;
702*4882a593Smuzhiyun	non-removable;
703*4882a593Smuzhiyun	status = "okay";
704*4882a593Smuzhiyun};
705*4882a593Smuzhiyun
706*4882a593Smuzhiyun&spi1 {
707*4882a593Smuzhiyun	status = "okay";
708*4882a593Smuzhiyun
709*4882a593Smuzhiyun	spiflash: flash@0 {
710*4882a593Smuzhiyun		compatible = "winbond,w25q128fw", "jedec,spi-nor";
711*4882a593Smuzhiyun		reg = <0>;
712*4882a593Smuzhiyun		spi-max-frequency = <104000000>;
713*4882a593Smuzhiyun	};
714*4882a593Smuzhiyun};
715*4882a593Smuzhiyun
716*4882a593Smuzhiyun&tcphy0 {
717*4882a593Smuzhiyun	status = "okay";
718*4882a593Smuzhiyun};
719*4882a593Smuzhiyun
720*4882a593Smuzhiyun&tcphy1 {
721*4882a593Smuzhiyun	status = "okay";
722*4882a593Smuzhiyun};
723*4882a593Smuzhiyun
724*4882a593Smuzhiyun&tsadc {
725*4882a593Smuzhiyun	/* tshut mode 0:CRU 1:GPIO */
726*4882a593Smuzhiyun	rockchip,hw-tshut-mode = <1>;
727*4882a593Smuzhiyun	/* tshut polarity 0:LOW 1:HIGH */
728*4882a593Smuzhiyun	rockchip,hw-tshut-polarity = <1>;
729*4882a593Smuzhiyun	status = "okay";
730*4882a593Smuzhiyun};
731*4882a593Smuzhiyun
732*4882a593Smuzhiyun&u2phy0 {
733*4882a593Smuzhiyun	status = "okay";
734*4882a593Smuzhiyun
735*4882a593Smuzhiyun	u2phy0_otg: otg-port {
736*4882a593Smuzhiyun		status = "okay";
737*4882a593Smuzhiyun	};
738*4882a593Smuzhiyun
739*4882a593Smuzhiyun	u2phy0_host: host-port {
740*4882a593Smuzhiyun		phy-supply = <&vcc5v0_host>;
741*4882a593Smuzhiyun		status = "okay";
742*4882a593Smuzhiyun	};
743*4882a593Smuzhiyun};
744*4882a593Smuzhiyun
745*4882a593Smuzhiyun&u2phy1 {
746*4882a593Smuzhiyun	status = "okay";
747*4882a593Smuzhiyun
748*4882a593Smuzhiyun	u2phy1_otg: otg-port {
749*4882a593Smuzhiyun		status = "okay";
750*4882a593Smuzhiyun	};
751*4882a593Smuzhiyun
752*4882a593Smuzhiyun	u2phy1_host: host-port {
753*4882a593Smuzhiyun		phy-supply = <&vcc5v0_host>;
754*4882a593Smuzhiyun		status = "okay";
755*4882a593Smuzhiyun	};
756*4882a593Smuzhiyun};
757*4882a593Smuzhiyun
758*4882a593Smuzhiyun&uart0 {
759*4882a593Smuzhiyun	pinctrl-names = "default";
760*4882a593Smuzhiyun	pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>;
761*4882a593Smuzhiyun	status = "okay";
762*4882a593Smuzhiyun
763*4882a593Smuzhiyun	bluetooth {
764*4882a593Smuzhiyun		compatible = "brcm,bcm43438-bt";
765*4882a593Smuzhiyun		clocks = <&rk808 1>;
766*4882a593Smuzhiyun		clock-names = "lpo";
767*4882a593Smuzhiyun		device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
768*4882a593Smuzhiyun		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
769*4882a593Smuzhiyun		shutdown-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
770*4882a593Smuzhiyun		max-speed = <4000000>;
771*4882a593Smuzhiyun		pinctrl-names = "default";
772*4882a593Smuzhiyun		pinctrl-0 = <&bt_reg_on_h &bt_host_wake_l &bt_wake_l>;
773*4882a593Smuzhiyun		vbat-supply = <&vsys_3v3>;
774*4882a593Smuzhiyun		vddio-supply = <&vcc_1v8>;
775*4882a593Smuzhiyun	};
776*4882a593Smuzhiyun};
777*4882a593Smuzhiyun
778*4882a593Smuzhiyun&uart2 {
779*4882a593Smuzhiyun	status = "okay";
780*4882a593Smuzhiyun};
781*4882a593Smuzhiyun
782*4882a593Smuzhiyun&usb_host0_ehci {
783*4882a593Smuzhiyun	status = "okay";
784*4882a593Smuzhiyun};
785*4882a593Smuzhiyun
786*4882a593Smuzhiyun&usb_host0_ohci {
787*4882a593Smuzhiyun	status = "okay";
788*4882a593Smuzhiyun};
789*4882a593Smuzhiyun
790*4882a593Smuzhiyun&usb_host1_ehci {
791*4882a593Smuzhiyun	status = "okay";
792*4882a593Smuzhiyun};
793*4882a593Smuzhiyun
794*4882a593Smuzhiyun&usb_host1_ohci {
795*4882a593Smuzhiyun	status = "okay";
796*4882a593Smuzhiyun};
797*4882a593Smuzhiyun
798*4882a593Smuzhiyun&usbdrd3_0 {
799*4882a593Smuzhiyun	status = "okay";
800*4882a593Smuzhiyun};
801*4882a593Smuzhiyun
802*4882a593Smuzhiyun&usbdrd_dwc3_0 {
803*4882a593Smuzhiyun	status = "okay";
804*4882a593Smuzhiyun	dr_mode = "otg";
805*4882a593Smuzhiyun};
806*4882a593Smuzhiyun
807*4882a593Smuzhiyun&usbdrd3_1 {
808*4882a593Smuzhiyun	status = "okay";
809*4882a593Smuzhiyun};
810*4882a593Smuzhiyun
811*4882a593Smuzhiyun&usbdrd_dwc3_1 {
812*4882a593Smuzhiyun	status = "okay";
813*4882a593Smuzhiyun	dr_mode = "host";
814*4882a593Smuzhiyun};
815*4882a593Smuzhiyun
816*4882a593Smuzhiyun&vopb {
817*4882a593Smuzhiyun	status = "okay";
818*4882a593Smuzhiyun};
819*4882a593Smuzhiyun
820*4882a593Smuzhiyun&vopb_mmu {
821*4882a593Smuzhiyun	status = "okay";
822*4882a593Smuzhiyun};
823*4882a593Smuzhiyun
824*4882a593Smuzhiyun&vopl {
825*4882a593Smuzhiyun	status = "okay";
826*4882a593Smuzhiyun};
827*4882a593Smuzhiyun
828*4882a593Smuzhiyun&vopl_mmu {
829*4882a593Smuzhiyun	status = "okay";
830*4882a593Smuzhiyun};
831