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