1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * Copyright (c) 2019 Akash Gajjar <Akash_Gajjar@mentor.com>
4*c66ec88fSEmmanuel Vadot * Copyright (c) 2019 Pragnesh Patel <Pragnesh_Patel@mentor.com>
5*c66ec88fSEmmanuel Vadot */
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadot/dts-v1/;
8*c66ec88fSEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h>
9*c66ec88fSEmmanuel Vadot#include <dt-bindings/pwm/pwm.h>
10*c66ec88fSEmmanuel Vadot#include "rk3399.dtsi"
11*c66ec88fSEmmanuel Vadot#include "rk3399-opp.dtsi"
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadot/ {
14*c66ec88fSEmmanuel Vadot	model = "Radxa ROCK Pi 4";
15*c66ec88fSEmmanuel Vadot	compatible = "radxa,rockpi4", "rockchip,rk3399";
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel Vadot	chosen {
18*c66ec88fSEmmanuel Vadot		stdout-path = "serial2:1500000n8";
19*c66ec88fSEmmanuel Vadot	};
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot	clkin_gmac: external-gmac-clock {
22*c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
23*c66ec88fSEmmanuel Vadot		clock-frequency = <125000000>;
24*c66ec88fSEmmanuel Vadot		clock-output-names = "clkin_gmac";
25*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
26*c66ec88fSEmmanuel Vadot	};
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
29*c66ec88fSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
30*c66ec88fSEmmanuel Vadot		clocks = <&rk808 1>;
31*c66ec88fSEmmanuel Vadot		clock-names = "ext_clock";
32*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
33*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&wifi_enable_h>;
34*c66ec88fSEmmanuel Vadot		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
35*c66ec88fSEmmanuel Vadot	};
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot	vcc12v_dcin: dc-12v {
38*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
39*c66ec88fSEmmanuel Vadot		regulator-name = "vcc12v_dcin";
40*c66ec88fSEmmanuel Vadot		regulator-always-on;
41*c66ec88fSEmmanuel Vadot		regulator-boot-on;
42*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <12000000>;
43*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <12000000>;
44*c66ec88fSEmmanuel Vadot	};
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot	vcc5v0_sys: vcc-sys {
47*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
48*c66ec88fSEmmanuel Vadot		regulator-name = "vcc5v0_sys";
49*c66ec88fSEmmanuel Vadot		regulator-always-on;
50*c66ec88fSEmmanuel Vadot		regulator-boot-on;
51*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
52*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
53*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
54*c66ec88fSEmmanuel Vadot	};
55*c66ec88fSEmmanuel Vadot
56*c66ec88fSEmmanuel Vadot	vcc_0v9: vcc-0v9 {
57*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
58*c66ec88fSEmmanuel Vadot		regulator-name = "vcc_0v9";
59*c66ec88fSEmmanuel Vadot		regulator-always-on;
60*c66ec88fSEmmanuel Vadot		regulator-boot-on;
61*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <900000>;
62*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <900000>;
63*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
64*c66ec88fSEmmanuel Vadot	};
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot	vcc3v3_pcie: vcc3v3-pcie-regulator {
67*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
68*c66ec88fSEmmanuel Vadot		enable-active-high;
69*c66ec88fSEmmanuel Vadot		gpio = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
70*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
71*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pcie_pwr_en>;
72*c66ec88fSEmmanuel Vadot		regulator-name = "vcc3v3_pcie";
73*c66ec88fSEmmanuel Vadot		regulator-always-on;
74*c66ec88fSEmmanuel Vadot		regulator-boot-on;
75*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
76*c66ec88fSEmmanuel Vadot	};
77*c66ec88fSEmmanuel Vadot
78*c66ec88fSEmmanuel Vadot	vcc3v3_sys: vcc3v3-sys {
79*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
80*c66ec88fSEmmanuel Vadot		regulator-name = "vcc3v3_sys";
81*c66ec88fSEmmanuel Vadot		regulator-always-on;
82*c66ec88fSEmmanuel Vadot		regulator-boot-on;
83*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
84*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
85*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
86*c66ec88fSEmmanuel Vadot	};
87*c66ec88fSEmmanuel Vadot
88*c66ec88fSEmmanuel Vadot	vcc5v0_host: vcc5v0-host-regulator {
89*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
90*c66ec88fSEmmanuel Vadot		enable-active-high;
91*c66ec88fSEmmanuel Vadot		gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
92*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
93*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_host_en>;
94*c66ec88fSEmmanuel Vadot		regulator-name = "vcc5v0_host";
95*c66ec88fSEmmanuel Vadot		regulator-always-on;
96*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
97*c66ec88fSEmmanuel Vadot	};
98*c66ec88fSEmmanuel Vadot
99*c66ec88fSEmmanuel Vadot	vcc5v0_typec: vcc5v0-typec-regulator {
100*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
101*c66ec88fSEmmanuel Vadot		enable-active-high;
102*c66ec88fSEmmanuel Vadot		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
103*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
104*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_typec_en>;
105*c66ec88fSEmmanuel Vadot		regulator-name = "vcc5v0_typec";
106*c66ec88fSEmmanuel Vadot		regulator-always-on;
107*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
108*c66ec88fSEmmanuel Vadot	};
109*c66ec88fSEmmanuel Vadot
110*c66ec88fSEmmanuel Vadot	vcc_lan: vcc3v3-phy-regulator {
111*c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
112*c66ec88fSEmmanuel Vadot		regulator-name = "vcc_lan";
113*c66ec88fSEmmanuel Vadot		regulator-always-on;
114*c66ec88fSEmmanuel Vadot		regulator-boot-on;
115*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
116*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
117*c66ec88fSEmmanuel Vadot
118*c66ec88fSEmmanuel Vadot		regulator-state-mem {
119*c66ec88fSEmmanuel Vadot			regulator-off-in-suspend;
120*c66ec88fSEmmanuel Vadot		};
121*c66ec88fSEmmanuel Vadot	};
122*c66ec88fSEmmanuel Vadot
123*c66ec88fSEmmanuel Vadot	vdd_log: vdd-log {
124*c66ec88fSEmmanuel Vadot		compatible = "pwm-regulator";
125*c66ec88fSEmmanuel Vadot		pwms = <&pwm2 0 25000 1>;
126*c66ec88fSEmmanuel Vadot		regulator-name = "vdd_log";
127*c66ec88fSEmmanuel Vadot		regulator-always-on;
128*c66ec88fSEmmanuel Vadot		regulator-boot-on;
129*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <800000>;
130*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1400000>;
131*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
132*c66ec88fSEmmanuel Vadot	};
133*c66ec88fSEmmanuel Vadot};
134*c66ec88fSEmmanuel Vadot
135*c66ec88fSEmmanuel Vadot&cpu_l0 {
136*c66ec88fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
137*c66ec88fSEmmanuel Vadot};
138*c66ec88fSEmmanuel Vadot
139*c66ec88fSEmmanuel Vadot&cpu_l1 {
140*c66ec88fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
141*c66ec88fSEmmanuel Vadot};
142*c66ec88fSEmmanuel Vadot
143*c66ec88fSEmmanuel Vadot&cpu_l2 {
144*c66ec88fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
145*c66ec88fSEmmanuel Vadot};
146*c66ec88fSEmmanuel Vadot
147*c66ec88fSEmmanuel Vadot&cpu_l3 {
148*c66ec88fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
149*c66ec88fSEmmanuel Vadot};
150*c66ec88fSEmmanuel Vadot
151*c66ec88fSEmmanuel Vadot&cpu_b0 {
152*c66ec88fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_b>;
153*c66ec88fSEmmanuel Vadot};
154*c66ec88fSEmmanuel Vadot
155*c66ec88fSEmmanuel Vadot&cpu_b1 {
156*c66ec88fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_b>;
157*c66ec88fSEmmanuel Vadot};
158*c66ec88fSEmmanuel Vadot
159*c66ec88fSEmmanuel Vadot&emmc_phy {
160*c66ec88fSEmmanuel Vadot	status = "okay";
161*c66ec88fSEmmanuel Vadot};
162*c66ec88fSEmmanuel Vadot
163*c66ec88fSEmmanuel Vadot&gmac {
164*c66ec88fSEmmanuel Vadot	assigned-clocks = <&cru SCLK_RMII_SRC>;
165*c66ec88fSEmmanuel Vadot	assigned-clock-parents = <&clkin_gmac>;
166*c66ec88fSEmmanuel Vadot	clock_in_out = "input";
167*c66ec88fSEmmanuel Vadot	phy-supply = <&vcc_lan>;
168*c66ec88fSEmmanuel Vadot	phy-mode = "rgmii";
169*c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
170*c66ec88fSEmmanuel Vadot	pinctrl-0 = <&rgmii_pins>;
171*c66ec88fSEmmanuel Vadot	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
172*c66ec88fSEmmanuel Vadot	snps,reset-active-low;
173*c66ec88fSEmmanuel Vadot	snps,reset-delays-us = <0 10000 50000>;
174*c66ec88fSEmmanuel Vadot	tx_delay = <0x28>;
175*c66ec88fSEmmanuel Vadot	rx_delay = <0x11>;
176*c66ec88fSEmmanuel Vadot	status = "okay";
177*c66ec88fSEmmanuel Vadot};
178*c66ec88fSEmmanuel Vadot
179*c66ec88fSEmmanuel Vadot&gpu {
180*c66ec88fSEmmanuel Vadot	mali-supply = <&vdd_gpu>;
181*c66ec88fSEmmanuel Vadot	status = "okay";
182*c66ec88fSEmmanuel Vadot};
183*c66ec88fSEmmanuel Vadot
184*c66ec88fSEmmanuel Vadot&hdmi {
185*c66ec88fSEmmanuel Vadot	ddc-i2c-bus = <&i2c3>;
186*c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
187*c66ec88fSEmmanuel Vadot	pinctrl-0 = <&hdmi_cec>;
188*c66ec88fSEmmanuel Vadot	status = "okay";
189*c66ec88fSEmmanuel Vadot};
190*c66ec88fSEmmanuel Vadot
191*c66ec88fSEmmanuel Vadot&hdmi_sound {
192*c66ec88fSEmmanuel Vadot	status = "okay";
193*c66ec88fSEmmanuel Vadot};
194*c66ec88fSEmmanuel Vadot
195*c66ec88fSEmmanuel Vadot&i2c0 {
196*c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
197*c66ec88fSEmmanuel Vadot	i2c-scl-rising-time-ns = <168>;
198*c66ec88fSEmmanuel Vadot	i2c-scl-falling-time-ns = <4>;
199*c66ec88fSEmmanuel Vadot	status = "okay";
200*c66ec88fSEmmanuel Vadot
201*c66ec88fSEmmanuel Vadot	rk808: pmic@1b {
202*c66ec88fSEmmanuel Vadot		compatible = "rockchip,rk808";
203*c66ec88fSEmmanuel Vadot		reg = <0x1b>;
204*c66ec88fSEmmanuel Vadot		interrupt-parent = <&gpio1>;
205*c66ec88fSEmmanuel Vadot		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
206*c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
207*c66ec88fSEmmanuel Vadot		clock-output-names = "xin32k", "rk808-clkout2";
208*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
209*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pmic_int_l>;
210*c66ec88fSEmmanuel Vadot		rockchip,system-power-controller;
211*c66ec88fSEmmanuel Vadot		wakeup-source;
212*c66ec88fSEmmanuel Vadot
213*c66ec88fSEmmanuel Vadot		vcc1-supply = <&vcc5v0_sys>;
214*c66ec88fSEmmanuel Vadot		vcc2-supply = <&vcc5v0_sys>;
215*c66ec88fSEmmanuel Vadot		vcc3-supply = <&vcc5v0_sys>;
216*c66ec88fSEmmanuel Vadot		vcc4-supply = <&vcc5v0_sys>;
217*c66ec88fSEmmanuel Vadot		vcc6-supply = <&vcc5v0_sys>;
218*c66ec88fSEmmanuel Vadot		vcc7-supply = <&vcc5v0_sys>;
219*c66ec88fSEmmanuel Vadot		vcc8-supply = <&vcc3v3_sys>;
220*c66ec88fSEmmanuel Vadot		vcc9-supply = <&vcc5v0_sys>;
221*c66ec88fSEmmanuel Vadot		vcc10-supply = <&vcc5v0_sys>;
222*c66ec88fSEmmanuel Vadot		vcc11-supply = <&vcc5v0_sys>;
223*c66ec88fSEmmanuel Vadot		vcc12-supply = <&vcc3v3_sys>;
224*c66ec88fSEmmanuel Vadot		vddio-supply = <&vcc_1v8>;
225*c66ec88fSEmmanuel Vadot
226*c66ec88fSEmmanuel Vadot		regulators {
227*c66ec88fSEmmanuel Vadot			vdd_center: DCDC_REG1 {
228*c66ec88fSEmmanuel Vadot				regulator-name = "vdd_center";
229*c66ec88fSEmmanuel Vadot				regulator-always-on;
230*c66ec88fSEmmanuel Vadot				regulator-boot-on;
231*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <750000>;
232*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
233*c66ec88fSEmmanuel Vadot				regulator-ramp-delay = <6001>;
234*c66ec88fSEmmanuel Vadot				regulator-state-mem {
235*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
236*c66ec88fSEmmanuel Vadot				};
237*c66ec88fSEmmanuel Vadot			};
238*c66ec88fSEmmanuel Vadot
239*c66ec88fSEmmanuel Vadot			vdd_cpu_l: DCDC_REG2 {
240*c66ec88fSEmmanuel Vadot				regulator-name = "vdd_cpu_l";
241*c66ec88fSEmmanuel Vadot				regulator-always-on;
242*c66ec88fSEmmanuel Vadot				regulator-boot-on;
243*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <750000>;
244*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
245*c66ec88fSEmmanuel Vadot				regulator-ramp-delay = <6001>;
246*c66ec88fSEmmanuel Vadot				regulator-state-mem {
247*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
248*c66ec88fSEmmanuel Vadot				};
249*c66ec88fSEmmanuel Vadot			};
250*c66ec88fSEmmanuel Vadot
251*c66ec88fSEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
252*c66ec88fSEmmanuel Vadot				regulator-name = "vcc_ddr";
253*c66ec88fSEmmanuel Vadot				regulator-always-on;
254*c66ec88fSEmmanuel Vadot				regulator-boot-on;
255*c66ec88fSEmmanuel Vadot				regulator-state-mem {
256*c66ec88fSEmmanuel Vadot					regulator-on-in-suspend;
257*c66ec88fSEmmanuel Vadot				};
258*c66ec88fSEmmanuel Vadot			};
259*c66ec88fSEmmanuel Vadot
260*c66ec88fSEmmanuel Vadot			vcc_1v8: DCDC_REG4 {
261*c66ec88fSEmmanuel Vadot				regulator-name = "vcc_1v8";
262*c66ec88fSEmmanuel Vadot				regulator-always-on;
263*c66ec88fSEmmanuel Vadot				regulator-boot-on;
264*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
265*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
266*c66ec88fSEmmanuel Vadot				regulator-state-mem {
267*c66ec88fSEmmanuel Vadot					regulator-on-in-suspend;
268*c66ec88fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
269*c66ec88fSEmmanuel Vadot				};
270*c66ec88fSEmmanuel Vadot			};
271*c66ec88fSEmmanuel Vadot
272*c66ec88fSEmmanuel Vadot			vcc1v8_codec: LDO_REG1 {
273*c66ec88fSEmmanuel Vadot				regulator-name = "vcc1v8_codec";
274*c66ec88fSEmmanuel Vadot				regulator-always-on;
275*c66ec88fSEmmanuel Vadot				regulator-boot-on;
276*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
277*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
278*c66ec88fSEmmanuel Vadot				regulator-state-mem {
279*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
280*c66ec88fSEmmanuel Vadot				};
281*c66ec88fSEmmanuel Vadot			};
282*c66ec88fSEmmanuel Vadot
283*c66ec88fSEmmanuel Vadot			vcc1v8_hdmi: LDO_REG2 {
284*c66ec88fSEmmanuel Vadot				regulator-name = "vcc1v8_hdmi";
285*c66ec88fSEmmanuel Vadot				regulator-always-on;
286*c66ec88fSEmmanuel Vadot				regulator-boot-on;
287*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
288*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
289*c66ec88fSEmmanuel Vadot				regulator-state-mem {
290*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
291*c66ec88fSEmmanuel Vadot				};
292*c66ec88fSEmmanuel Vadot			};
293*c66ec88fSEmmanuel Vadot
294*c66ec88fSEmmanuel Vadot			vcca_1v8: LDO_REG3 {
295*c66ec88fSEmmanuel Vadot				regulator-name = "vcca_1v8";
296*c66ec88fSEmmanuel Vadot				regulator-always-on;
297*c66ec88fSEmmanuel Vadot				regulator-boot-on;
298*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
299*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
300*c66ec88fSEmmanuel Vadot				regulator-state-mem {
301*c66ec88fSEmmanuel Vadot					regulator-on-in-suspend;
302*c66ec88fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
303*c66ec88fSEmmanuel Vadot				};
304*c66ec88fSEmmanuel Vadot			};
305*c66ec88fSEmmanuel Vadot
306*c66ec88fSEmmanuel Vadot			vcc_sdio: LDO_REG4 {
307*c66ec88fSEmmanuel Vadot				regulator-name = "vcc_sdio";
308*c66ec88fSEmmanuel Vadot				regulator-always-on;
309*c66ec88fSEmmanuel Vadot				regulator-boot-on;
310*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
311*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
312*c66ec88fSEmmanuel Vadot				regulator-state-mem {
313*c66ec88fSEmmanuel Vadot					regulator-on-in-suspend;
314*c66ec88fSEmmanuel Vadot					regulator-suspend-microvolt = <3000000>;
315*c66ec88fSEmmanuel Vadot				};
316*c66ec88fSEmmanuel Vadot			};
317*c66ec88fSEmmanuel Vadot
318*c66ec88fSEmmanuel Vadot			vcca3v0_codec: LDO_REG5 {
319*c66ec88fSEmmanuel Vadot				regulator-name = "vcca3v0_codec";
320*c66ec88fSEmmanuel Vadot				regulator-always-on;
321*c66ec88fSEmmanuel Vadot				regulator-boot-on;
322*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
323*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
324*c66ec88fSEmmanuel Vadot				regulator-state-mem {
325*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
326*c66ec88fSEmmanuel Vadot				};
327*c66ec88fSEmmanuel Vadot			};
328*c66ec88fSEmmanuel Vadot
329*c66ec88fSEmmanuel Vadot			vcc_1v5: LDO_REG6 {
330*c66ec88fSEmmanuel Vadot				regulator-name = "vcc_1v5";
331*c66ec88fSEmmanuel Vadot				regulator-always-on;
332*c66ec88fSEmmanuel Vadot				regulator-boot-on;
333*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <1500000>;
334*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <1500000>;
335*c66ec88fSEmmanuel Vadot				regulator-state-mem {
336*c66ec88fSEmmanuel Vadot					regulator-on-in-suspend;
337*c66ec88fSEmmanuel Vadot					regulator-suspend-microvolt = <1500000>;
338*c66ec88fSEmmanuel Vadot				};
339*c66ec88fSEmmanuel Vadot			};
340*c66ec88fSEmmanuel Vadot
341*c66ec88fSEmmanuel Vadot			vcc0v9_hdmi: LDO_REG7 {
342*c66ec88fSEmmanuel Vadot				regulator-name = "vcc0v9_hdmi";
343*c66ec88fSEmmanuel Vadot				regulator-always-on;
344*c66ec88fSEmmanuel Vadot				regulator-boot-on;
345*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <900000>;
346*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <900000>;
347*c66ec88fSEmmanuel Vadot				regulator-state-mem {
348*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
349*c66ec88fSEmmanuel Vadot				};
350*c66ec88fSEmmanuel Vadot			};
351*c66ec88fSEmmanuel Vadot
352*c66ec88fSEmmanuel Vadot			vcc_3v0: LDO_REG8 {
353*c66ec88fSEmmanuel Vadot				regulator-name = "vcc_3v0";
354*c66ec88fSEmmanuel Vadot				regulator-always-on;
355*c66ec88fSEmmanuel Vadot				regulator-boot-on;
356*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
357*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
358*c66ec88fSEmmanuel Vadot				regulator-state-mem {
359*c66ec88fSEmmanuel Vadot					regulator-on-in-suspend;
360*c66ec88fSEmmanuel Vadot					regulator-suspend-microvolt = <3000000>;
361*c66ec88fSEmmanuel Vadot				};
362*c66ec88fSEmmanuel Vadot			};
363*c66ec88fSEmmanuel Vadot
364*c66ec88fSEmmanuel Vadot			vcc_cam: SWITCH_REG1 {
365*c66ec88fSEmmanuel Vadot				regulator-name = "vcc_cam";
366*c66ec88fSEmmanuel Vadot				regulator-always-on;
367*c66ec88fSEmmanuel Vadot				regulator-boot-on;
368*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
369*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
370*c66ec88fSEmmanuel Vadot				regulator-state-mem {
371*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
372*c66ec88fSEmmanuel Vadot				};
373*c66ec88fSEmmanuel Vadot			};
374*c66ec88fSEmmanuel Vadot
375*c66ec88fSEmmanuel Vadot			vcc_mipi: SWITCH_REG2 {
376*c66ec88fSEmmanuel Vadot				regulator-name = "vcc_mipi";
377*c66ec88fSEmmanuel Vadot				regulator-always-on;
378*c66ec88fSEmmanuel Vadot				regulator-boot-on;
379*c66ec88fSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
380*c66ec88fSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
381*c66ec88fSEmmanuel Vadot				regulator-state-mem {
382*c66ec88fSEmmanuel Vadot					regulator-off-in-suspend;
383*c66ec88fSEmmanuel Vadot				};
384*c66ec88fSEmmanuel Vadot			};
385*c66ec88fSEmmanuel Vadot		};
386*c66ec88fSEmmanuel Vadot	};
387*c66ec88fSEmmanuel Vadot
388*c66ec88fSEmmanuel Vadot	vdd_cpu_b: regulator@40 {
389*c66ec88fSEmmanuel Vadot		compatible = "silergy,syr827";
390*c66ec88fSEmmanuel Vadot		reg = <0x40>;
391*c66ec88fSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
392*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
393*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&vsel1_pin>;
394*c66ec88fSEmmanuel Vadot		regulator-name = "vdd_cpu_b";
395*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <712500>;
396*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
397*c66ec88fSEmmanuel Vadot		regulator-ramp-delay = <1000>;
398*c66ec88fSEmmanuel Vadot		regulator-always-on;
399*c66ec88fSEmmanuel Vadot		regulator-boot-on;
400*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
401*c66ec88fSEmmanuel Vadot
402*c66ec88fSEmmanuel Vadot		regulator-state-mem {
403*c66ec88fSEmmanuel Vadot			regulator-off-in-suspend;
404*c66ec88fSEmmanuel Vadot		};
405*c66ec88fSEmmanuel Vadot	};
406*c66ec88fSEmmanuel Vadot
407*c66ec88fSEmmanuel Vadot	vdd_gpu: regulator@41 {
408*c66ec88fSEmmanuel Vadot		compatible = "silergy,syr828";
409*c66ec88fSEmmanuel Vadot		reg = <0x41>;
410*c66ec88fSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
411*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
412*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&vsel2_pin>;
413*c66ec88fSEmmanuel Vadot		regulator-name = "vdd_gpu";
414*c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <712500>;
415*c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
416*c66ec88fSEmmanuel Vadot		regulator-ramp-delay = <1000>;
417*c66ec88fSEmmanuel Vadot		regulator-always-on;
418*c66ec88fSEmmanuel Vadot		regulator-boot-on;
419*c66ec88fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
420*c66ec88fSEmmanuel Vadot
421*c66ec88fSEmmanuel Vadot		regulator-state-mem {
422*c66ec88fSEmmanuel Vadot			regulator-off-in-suspend;
423*c66ec88fSEmmanuel Vadot		};
424*c66ec88fSEmmanuel Vadot	};
425*c66ec88fSEmmanuel Vadot};
426*c66ec88fSEmmanuel Vadot
427*c66ec88fSEmmanuel Vadot&i2c1 {
428*c66ec88fSEmmanuel Vadot	i2c-scl-rising-time-ns = <300>;
429*c66ec88fSEmmanuel Vadot	i2c-scl-falling-time-ns = <15>;
430*c66ec88fSEmmanuel Vadot	status = "okay";
431*c66ec88fSEmmanuel Vadot};
432*c66ec88fSEmmanuel Vadot
433*c66ec88fSEmmanuel Vadot&i2c3 {
434*c66ec88fSEmmanuel Vadot	i2c-scl-rising-time-ns = <450>;
435*c66ec88fSEmmanuel Vadot	i2c-scl-falling-time-ns = <15>;
436*c66ec88fSEmmanuel Vadot	status = "okay";
437*c66ec88fSEmmanuel Vadot};
438*c66ec88fSEmmanuel Vadot
439*c66ec88fSEmmanuel Vadot&i2c4 {
440*c66ec88fSEmmanuel Vadot	i2c-scl-rising-time-ns = <600>;
441*c66ec88fSEmmanuel Vadot	i2c-scl-falling-time-ns = <20>;
442*c66ec88fSEmmanuel Vadot	status = "okay";
443*c66ec88fSEmmanuel Vadot};
444*c66ec88fSEmmanuel Vadot
445*c66ec88fSEmmanuel Vadot&i2s0 {
446*c66ec88fSEmmanuel Vadot	rockchip,playback-channels = <8>;
447*c66ec88fSEmmanuel Vadot	rockchip,capture-channels = <8>;
448*c66ec88fSEmmanuel Vadot	status = "okay";
449*c66ec88fSEmmanuel Vadot};
450*c66ec88fSEmmanuel Vadot
451*c66ec88fSEmmanuel Vadot&i2s1 {
452*c66ec88fSEmmanuel Vadot	rockchip,playback-channels = <2>;
453*c66ec88fSEmmanuel Vadot	rockchip,capture-channels = <2>;
454*c66ec88fSEmmanuel Vadot	status = "okay";
455*c66ec88fSEmmanuel Vadot};
456*c66ec88fSEmmanuel Vadot
457*c66ec88fSEmmanuel Vadot&i2s2 {
458*c66ec88fSEmmanuel Vadot	status = "okay";
459*c66ec88fSEmmanuel Vadot};
460*c66ec88fSEmmanuel Vadot
461*c66ec88fSEmmanuel Vadot&io_domains {
462*c66ec88fSEmmanuel Vadot	status = "okay";
463*c66ec88fSEmmanuel Vadot
464*c66ec88fSEmmanuel Vadot	bt656-supply = <&vcc_3v0>;
465*c66ec88fSEmmanuel Vadot	audio-supply = <&vcc_3v0>;
466*c66ec88fSEmmanuel Vadot	sdmmc-supply = <&vcc_sdio>;
467*c66ec88fSEmmanuel Vadot	gpio1830-supply = <&vcc_3v0>;
468*c66ec88fSEmmanuel Vadot};
469*c66ec88fSEmmanuel Vadot
470*c66ec88fSEmmanuel Vadot&pmu_io_domains {
471*c66ec88fSEmmanuel Vadot	status = "okay";
472*c66ec88fSEmmanuel Vadot
473*c66ec88fSEmmanuel Vadot	pmu1830-supply = <&vcc_3v0>;
474*c66ec88fSEmmanuel Vadot};
475*c66ec88fSEmmanuel Vadot
476*c66ec88fSEmmanuel Vadot&pcie_phy {
477*c66ec88fSEmmanuel Vadot	status = "okay";
478*c66ec88fSEmmanuel Vadot};
479*c66ec88fSEmmanuel Vadot
480*c66ec88fSEmmanuel Vadot&pcie0 {
481*c66ec88fSEmmanuel Vadot	ep-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
482*c66ec88fSEmmanuel Vadot	max-link-speed = <2>;
483*c66ec88fSEmmanuel Vadot	num-lanes = <4>;
484*c66ec88fSEmmanuel Vadot	pinctrl-0 = <&pcie_clkreqnb_cpm>;
485*c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
486*c66ec88fSEmmanuel Vadot	vpcie0v9-supply = <&vcc_0v9>;
487*c66ec88fSEmmanuel Vadot	vpcie1v8-supply = <&vcc_1v8>;
488*c66ec88fSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie>;
489*c66ec88fSEmmanuel Vadot	status = "okay";
490*c66ec88fSEmmanuel Vadot};
491*c66ec88fSEmmanuel Vadot
492*c66ec88fSEmmanuel Vadot&pinctrl {
493*c66ec88fSEmmanuel Vadot	bt {
494*c66ec88fSEmmanuel Vadot		bt_enable_h: bt-enable-h {
495*c66ec88fSEmmanuel Vadot			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
496*c66ec88fSEmmanuel Vadot		};
497*c66ec88fSEmmanuel Vadot
498*c66ec88fSEmmanuel Vadot		bt_host_wake_l: bt-host-wake-l {
499*c66ec88fSEmmanuel Vadot			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
500*c66ec88fSEmmanuel Vadot		};
501*c66ec88fSEmmanuel Vadot
502*c66ec88fSEmmanuel Vadot		bt_wake_l: bt-wake-l {
503*c66ec88fSEmmanuel Vadot			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
504*c66ec88fSEmmanuel Vadot		};
505*c66ec88fSEmmanuel Vadot	};
506*c66ec88fSEmmanuel Vadot
507*c66ec88fSEmmanuel Vadot	pcie {
508*c66ec88fSEmmanuel Vadot		pcie_pwr_en: pcie-pwr-en {
509*c66ec88fSEmmanuel Vadot			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
510*c66ec88fSEmmanuel Vadot		};
511*c66ec88fSEmmanuel Vadot	};
512*c66ec88fSEmmanuel Vadot
513*c66ec88fSEmmanuel Vadot	sdio0 {
514*c66ec88fSEmmanuel Vadot		sdio0_bus4: sdio0-bus4 {
515*c66ec88fSEmmanuel Vadot			rockchip,pins = <2 RK_PC4 1 &pcfg_pull_up_20ma>,
516*c66ec88fSEmmanuel Vadot					<2 RK_PC5 1 &pcfg_pull_up_20ma>,
517*c66ec88fSEmmanuel Vadot					<2 RK_PC6 1 &pcfg_pull_up_20ma>,
518*c66ec88fSEmmanuel Vadot					<2 RK_PC7 1 &pcfg_pull_up_20ma>;
519*c66ec88fSEmmanuel Vadot		};
520*c66ec88fSEmmanuel Vadot
521*c66ec88fSEmmanuel Vadot		sdio0_cmd: sdio0-cmd {
522*c66ec88fSEmmanuel Vadot			rockchip,pins = <2 RK_PD0 1 &pcfg_pull_up_20ma>;
523*c66ec88fSEmmanuel Vadot		};
524*c66ec88fSEmmanuel Vadot
525*c66ec88fSEmmanuel Vadot		sdio0_clk: sdio0-clk {
526*c66ec88fSEmmanuel Vadot			rockchip,pins = <2 RK_PD1 1 &pcfg_pull_none_20ma>;
527*c66ec88fSEmmanuel Vadot		};
528*c66ec88fSEmmanuel Vadot	};
529*c66ec88fSEmmanuel Vadot
530*c66ec88fSEmmanuel Vadot	pmic {
531*c66ec88fSEmmanuel Vadot		pmic_int_l: pmic-int-l {
532*c66ec88fSEmmanuel Vadot			rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
533*c66ec88fSEmmanuel Vadot		};
534*c66ec88fSEmmanuel Vadot
535*c66ec88fSEmmanuel Vadot		vsel1_pin: vsel1-pin {
536*c66ec88fSEmmanuel Vadot			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
537*c66ec88fSEmmanuel Vadot		};
538*c66ec88fSEmmanuel Vadot
539*c66ec88fSEmmanuel Vadot		vsel2_pin: vsel2-pin {
540*c66ec88fSEmmanuel Vadot			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
541*c66ec88fSEmmanuel Vadot		};
542*c66ec88fSEmmanuel Vadot	};
543*c66ec88fSEmmanuel Vadot
544*c66ec88fSEmmanuel Vadot	usb-typec {
545*c66ec88fSEmmanuel Vadot		vcc5v0_typec_en: vcc5v0-typec-en {
546*c66ec88fSEmmanuel Vadot			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
547*c66ec88fSEmmanuel Vadot		};
548*c66ec88fSEmmanuel Vadot	};
549*c66ec88fSEmmanuel Vadot
550*c66ec88fSEmmanuel Vadot	usb2 {
551*c66ec88fSEmmanuel Vadot		vcc5v0_host_en: vcc5v0-host-en {
552*c66ec88fSEmmanuel Vadot			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
553*c66ec88fSEmmanuel Vadot		};
554*c66ec88fSEmmanuel Vadot	};
555*c66ec88fSEmmanuel Vadot
556*c66ec88fSEmmanuel Vadot	wifi {
557*c66ec88fSEmmanuel Vadot		wifi_enable_h: wifi-enable-h {
558*c66ec88fSEmmanuel Vadot			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
559*c66ec88fSEmmanuel Vadot		};
560*c66ec88fSEmmanuel Vadot
561*c66ec88fSEmmanuel Vadot		wifi_host_wake_l: wifi-host-wake-l {
562*c66ec88fSEmmanuel Vadot			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
563*c66ec88fSEmmanuel Vadot		};
564*c66ec88fSEmmanuel Vadot	};
565*c66ec88fSEmmanuel Vadot};
566*c66ec88fSEmmanuel Vadot
567*c66ec88fSEmmanuel Vadot&pwm2 {
568*c66ec88fSEmmanuel Vadot	status = "okay";
569*c66ec88fSEmmanuel Vadot};
570*c66ec88fSEmmanuel Vadot
571*c66ec88fSEmmanuel Vadot&saradc {
572*c66ec88fSEmmanuel Vadot	status = "okay";
573*c66ec88fSEmmanuel Vadot
574*c66ec88fSEmmanuel Vadot	vref-supply = <&vcc_1v8>;
575*c66ec88fSEmmanuel Vadot};
576*c66ec88fSEmmanuel Vadot
577*c66ec88fSEmmanuel Vadot&sdio0 {
578*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
579*c66ec88fSEmmanuel Vadot	#size-cells = <0>;
580*c66ec88fSEmmanuel Vadot	bus-width = <4>;
581*c66ec88fSEmmanuel Vadot	clock-frequency = <50000000>;
582*c66ec88fSEmmanuel Vadot	cap-sdio-irq;
583*c66ec88fSEmmanuel Vadot	cap-sd-highspeed;
584*c66ec88fSEmmanuel Vadot	keep-power-in-suspend;
585*c66ec88fSEmmanuel Vadot	mmc-pwrseq = <&sdio_pwrseq>;
586*c66ec88fSEmmanuel Vadot	non-removable;
587*c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
588*c66ec88fSEmmanuel Vadot	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
589*c66ec88fSEmmanuel Vadot	sd-uhs-sdr104;
590*c66ec88fSEmmanuel Vadot	status = "okay";
591*c66ec88fSEmmanuel Vadot
592*c66ec88fSEmmanuel Vadot	brcmf: wifi@1 {
593*c66ec88fSEmmanuel Vadot		compatible = "brcm,bcm4329-fmac";
594*c66ec88fSEmmanuel Vadot		reg = <1>;
595*c66ec88fSEmmanuel Vadot		interrupt-parent = <&gpio0>;
596*c66ec88fSEmmanuel Vadot		interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
597*c66ec88fSEmmanuel Vadot		interrupt-names = "host-wake";
598*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
599*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&wifi_host_wake_l>;
600*c66ec88fSEmmanuel Vadot	};
601*c66ec88fSEmmanuel Vadot};
602*c66ec88fSEmmanuel Vadot
603*c66ec88fSEmmanuel Vadot&sdmmc {
604*c66ec88fSEmmanuel Vadot	bus-width = <4>;
605*c66ec88fSEmmanuel Vadot	cap-mmc-highspeed;
606*c66ec88fSEmmanuel Vadot	cap-sd-highspeed;
607*c66ec88fSEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
608*c66ec88fSEmmanuel Vadot	disable-wp;
609*c66ec88fSEmmanuel Vadot	max-frequency = <150000000>;
610*c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
611*c66ec88fSEmmanuel Vadot	pinctrl-0 = <&sdmmc_clk &sdmmc_cd &sdmmc_cmd &sdmmc_bus4>;
612*c66ec88fSEmmanuel Vadot	status = "okay";
613*c66ec88fSEmmanuel Vadot};
614*c66ec88fSEmmanuel Vadot
615*c66ec88fSEmmanuel Vadot&sdhci {
616*c66ec88fSEmmanuel Vadot	bus-width = <8>;
617*c66ec88fSEmmanuel Vadot	mmc-hs400-1_8v;
618*c66ec88fSEmmanuel Vadot	mmc-hs400-enhanced-strobe;
619*c66ec88fSEmmanuel Vadot	non-removable;
620*c66ec88fSEmmanuel Vadot	status = "okay";
621*c66ec88fSEmmanuel Vadot};
622*c66ec88fSEmmanuel Vadot
623*c66ec88fSEmmanuel Vadot&tcphy0 {
624*c66ec88fSEmmanuel Vadot	status = "okay";
625*c66ec88fSEmmanuel Vadot};
626*c66ec88fSEmmanuel Vadot
627*c66ec88fSEmmanuel Vadot&tcphy1 {
628*c66ec88fSEmmanuel Vadot	status = "okay";
629*c66ec88fSEmmanuel Vadot};
630*c66ec88fSEmmanuel Vadot
631*c66ec88fSEmmanuel Vadot&tsadc {
632*c66ec88fSEmmanuel Vadot	status = "okay";
633*c66ec88fSEmmanuel Vadot
634*c66ec88fSEmmanuel Vadot	/* tshut mode 0:CRU 1:GPIO */
635*c66ec88fSEmmanuel Vadot	rockchip,hw-tshut-mode = <1>;
636*c66ec88fSEmmanuel Vadot	/* tshut polarity 0:LOW 1:HIGH */
637*c66ec88fSEmmanuel Vadot	rockchip,hw-tshut-polarity = <1>;
638*c66ec88fSEmmanuel Vadot};
639*c66ec88fSEmmanuel Vadot
640*c66ec88fSEmmanuel Vadot&u2phy0 {
641*c66ec88fSEmmanuel Vadot	status = "okay";
642*c66ec88fSEmmanuel Vadot
643*c66ec88fSEmmanuel Vadot	u2phy0_otg: otg-port {
644*c66ec88fSEmmanuel Vadot		status = "okay";
645*c66ec88fSEmmanuel Vadot	};
646*c66ec88fSEmmanuel Vadot
647*c66ec88fSEmmanuel Vadot	u2phy0_host: host-port {
648*c66ec88fSEmmanuel Vadot		phy-supply = <&vcc5v0_host>;
649*c66ec88fSEmmanuel Vadot		status = "okay";
650*c66ec88fSEmmanuel Vadot	};
651*c66ec88fSEmmanuel Vadot};
652*c66ec88fSEmmanuel Vadot
653*c66ec88fSEmmanuel Vadot&u2phy1 {
654*c66ec88fSEmmanuel Vadot	status = "okay";
655*c66ec88fSEmmanuel Vadot
656*c66ec88fSEmmanuel Vadot	u2phy1_otg: otg-port {
657*c66ec88fSEmmanuel Vadot		status = "okay";
658*c66ec88fSEmmanuel Vadot	};
659*c66ec88fSEmmanuel Vadot
660*c66ec88fSEmmanuel Vadot	u2phy1_host: host-port {
661*c66ec88fSEmmanuel Vadot		phy-supply = <&vcc5v0_host>;
662*c66ec88fSEmmanuel Vadot		status = "okay";
663*c66ec88fSEmmanuel Vadot	};
664*c66ec88fSEmmanuel Vadot};
665*c66ec88fSEmmanuel Vadot
666*c66ec88fSEmmanuel Vadot&uart0 {
667*c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
668*c66ec88fSEmmanuel Vadot	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
669*c66ec88fSEmmanuel Vadot	status = "okay";
670*c66ec88fSEmmanuel Vadot
671*c66ec88fSEmmanuel Vadot	bluetooth {
672*c66ec88fSEmmanuel Vadot		compatible = "brcm,bcm43438-bt";
673*c66ec88fSEmmanuel Vadot		clocks = <&rk808 1>;
674*c66ec88fSEmmanuel Vadot		clock-names = "ext_clock";
675*c66ec88fSEmmanuel Vadot		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
676*c66ec88fSEmmanuel Vadot		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
677*c66ec88fSEmmanuel Vadot		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
678*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
679*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
680*c66ec88fSEmmanuel Vadot	};
681*c66ec88fSEmmanuel Vadot};
682*c66ec88fSEmmanuel Vadot
683*c66ec88fSEmmanuel Vadot&uart2 {
684*c66ec88fSEmmanuel Vadot	status = "okay";
685*c66ec88fSEmmanuel Vadot};
686*c66ec88fSEmmanuel Vadot
687*c66ec88fSEmmanuel Vadot&usb_host0_ehci {
688*c66ec88fSEmmanuel Vadot	status = "okay";
689*c66ec88fSEmmanuel Vadot};
690*c66ec88fSEmmanuel Vadot
691*c66ec88fSEmmanuel Vadot&usb_host0_ohci {
692*c66ec88fSEmmanuel Vadot	status = "okay";
693*c66ec88fSEmmanuel Vadot};
694*c66ec88fSEmmanuel Vadot
695*c66ec88fSEmmanuel Vadot&usb_host1_ehci {
696*c66ec88fSEmmanuel Vadot	status = "okay";
697*c66ec88fSEmmanuel Vadot};
698*c66ec88fSEmmanuel Vadot
699*c66ec88fSEmmanuel Vadot&usb_host1_ohci {
700*c66ec88fSEmmanuel Vadot	status = "okay";
701*c66ec88fSEmmanuel Vadot};
702*c66ec88fSEmmanuel Vadot
703*c66ec88fSEmmanuel Vadot&usbdrd3_0 {
704*c66ec88fSEmmanuel Vadot	status = "okay";
705*c66ec88fSEmmanuel Vadot};
706*c66ec88fSEmmanuel Vadot
707*c66ec88fSEmmanuel Vadot&usbdrd_dwc3_0 {
708*c66ec88fSEmmanuel Vadot	status = "okay";
709*c66ec88fSEmmanuel Vadot	dr_mode = "otg";
710*c66ec88fSEmmanuel Vadot};
711*c66ec88fSEmmanuel Vadot
712*c66ec88fSEmmanuel Vadot&usbdrd3_1 {
713*c66ec88fSEmmanuel Vadot	status = "okay";
714*c66ec88fSEmmanuel Vadot};
715*c66ec88fSEmmanuel Vadot
716*c66ec88fSEmmanuel Vadot&usbdrd_dwc3_1 {
717*c66ec88fSEmmanuel Vadot	status = "okay";
718*c66ec88fSEmmanuel Vadot	dr_mode = "host";
719*c66ec88fSEmmanuel Vadot};
720*c66ec88fSEmmanuel Vadot
721*c66ec88fSEmmanuel Vadot&vopb {
722*c66ec88fSEmmanuel Vadot	status = "okay";
723*c66ec88fSEmmanuel Vadot};
724*c66ec88fSEmmanuel Vadot
725*c66ec88fSEmmanuel Vadot&vopb_mmu {
726*c66ec88fSEmmanuel Vadot	status = "okay";
727*c66ec88fSEmmanuel Vadot};
728*c66ec88fSEmmanuel Vadot
729*c66ec88fSEmmanuel Vadot&vopl {
730*c66ec88fSEmmanuel Vadot	status = "okay";
731*c66ec88fSEmmanuel Vadot};
732*c66ec88fSEmmanuel Vadot
733*c66ec88fSEmmanuel Vadot&vopl_mmu {
734*c66ec88fSEmmanuel Vadot	status = "okay";
735*c66ec88fSEmmanuel Vadot};
736