xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-rock-5-itx.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright (c) 2024 Radxa Limited
4*0e8011faSEmmanuel Vadot * Copyright (c) 2024 Heiko Stuebner <heiko@sntech.de>
5*0e8011faSEmmanuel Vadot */
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadot/dts-v1/;
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10*0e8011faSEmmanuel Vadot#include <dt-bindings/input/input.h>
11*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h>
12*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
13*0e8011faSEmmanuel Vadot#include <dt-bindings/pwm/pwm.h>
14*0e8011faSEmmanuel Vadot#include "dt-bindings/usb/pd.h"
15*0e8011faSEmmanuel Vadot#include "rk3588.dtsi"
16*0e8011faSEmmanuel Vadot
17*0e8011faSEmmanuel Vadot/ {
18*0e8011faSEmmanuel Vadot	model = "Radxa ROCK 5 ITX";
19*0e8011faSEmmanuel Vadot	compatible = "radxa,rock-5-itx", "rockchip,rk3588";
20*0e8011faSEmmanuel Vadot
21*0e8011faSEmmanuel Vadot	aliases {
22*0e8011faSEmmanuel Vadot		mmc0 = &sdhci;
23*0e8011faSEmmanuel Vadot		mmc1 = &sdmmc;
24*0e8011faSEmmanuel Vadot		mmc2 = &sdio;
25*0e8011faSEmmanuel Vadot	};
26*0e8011faSEmmanuel Vadot
27*0e8011faSEmmanuel Vadot	chosen {
28*0e8011faSEmmanuel Vadot		stdout-path = "serial2:1500000n8";
29*0e8011faSEmmanuel Vadot	};
30*0e8011faSEmmanuel Vadot
31*0e8011faSEmmanuel Vadot	adc_keys: adc-keys {
32*0e8011faSEmmanuel Vadot		compatible = "adc-keys";
33*0e8011faSEmmanuel Vadot		io-channels = <&saradc 0>;
34*0e8011faSEmmanuel Vadot		io-channel-names = "buttons";
35*0e8011faSEmmanuel Vadot		keyup-threshold-microvolt = <1800000>;
36*0e8011faSEmmanuel Vadot		poll-interval = <100>;
37*0e8011faSEmmanuel Vadot
38*0e8011faSEmmanuel Vadot		button-maskrom {
39*0e8011faSEmmanuel Vadot			label = "Mask Rom";
40*0e8011faSEmmanuel Vadot			linux,code = <KEY_SETUP>;
41*0e8011faSEmmanuel Vadot			press-threshold-microvolt = <1750>;
42*0e8011faSEmmanuel Vadot		};
43*0e8011faSEmmanuel Vadot	};
44*0e8011faSEmmanuel Vadot
45*0e8011faSEmmanuel Vadot	analog-sound {
46*0e8011faSEmmanuel Vadot		compatible = "audio-graph-card";
47*0e8011faSEmmanuel Vadot		label = "rk3588-es8316";
48*0e8011faSEmmanuel Vadot		dais = <&i2s0_8ch_p0>;
49*0e8011faSEmmanuel Vadot		hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
50*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
51*0e8011faSEmmanuel Vadot		pinctrl-0 = <&hp_detect>;
52*0e8011faSEmmanuel Vadot		routing = "MIC2", "Mic Jack",
53*0e8011faSEmmanuel Vadot			  "Headphones", "HPOL",
54*0e8011faSEmmanuel Vadot			  "Headphones", "HPOR";
55*0e8011faSEmmanuel Vadot		widgets = "Microphone", "Mic Jack",
56*0e8011faSEmmanuel Vadot			  "Headphone", "Headphones";
57*0e8011faSEmmanuel Vadot	};
58*0e8011faSEmmanuel Vadot
59*0e8011faSEmmanuel Vadot	gpio-leds {
60*0e8011faSEmmanuel Vadot		compatible = "gpio-leds";
61*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
62*0e8011faSEmmanuel Vadot		pinctrl-0 = <&led_pins>;
63*0e8011faSEmmanuel Vadot
64*0e8011faSEmmanuel Vadot		power-led1 {
65*0e8011faSEmmanuel Vadot			gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
66*0e8011faSEmmanuel Vadot			linux,default-trigger = "default-on";
67*0e8011faSEmmanuel Vadot		};
68*0e8011faSEmmanuel Vadot
69*0e8011faSEmmanuel Vadot		hdd-led2 {
70*0e8011faSEmmanuel Vadot			gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
71*0e8011faSEmmanuel Vadot			linux,default-trigger = "disk-activity";
72*0e8011faSEmmanuel Vadot		};
73*0e8011faSEmmanuel Vadot	};
74*0e8011faSEmmanuel Vadot
75*0e8011faSEmmanuel Vadot	fan0: pwm-fan {
76*0e8011faSEmmanuel Vadot		compatible = "pwm-fan";
77*0e8011faSEmmanuel Vadot		#cooling-cells = <2>;
78*0e8011faSEmmanuel Vadot		cooling-levels = <0 64 128 192 255>;
79*0e8011faSEmmanuel Vadot		fan-supply = <&vcc12v_dcin>;
80*0e8011faSEmmanuel Vadot		pwms = <&pwm14 0 10000 0>;
81*0e8011faSEmmanuel Vadot	};
82*0e8011faSEmmanuel Vadot
83*0e8011faSEmmanuel Vadot	/* M.2 E-KEY */
84*0e8011faSEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
85*0e8011faSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
86*0e8011faSEmmanuel Vadot		clocks = <&hym8563>;
87*0e8011faSEmmanuel Vadot		clock-names = "ext_clock";
88*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
89*0e8011faSEmmanuel Vadot		pinctrl-0 = <&wifi_enable_h>;
90*0e8011faSEmmanuel Vadot		reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
91*0e8011faSEmmanuel Vadot	};
92*0e8011faSEmmanuel Vadot
93*0e8011faSEmmanuel Vadot	typec_vin: regulator-typec-vin {
94*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
95*0e8011faSEmmanuel Vadot		enable-active-high;
96*0e8011faSEmmanuel Vadot		gpio = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
97*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
98*0e8011faSEmmanuel Vadot		pinctrl-0 = <&vbus5v0_typec_en>;
99*0e8011faSEmmanuel Vadot		regulator-name = "typec_vin";
100*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
101*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
102*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
103*0e8011faSEmmanuel Vadot	};
104*0e8011faSEmmanuel Vadot
105*0e8011faSEmmanuel Vadot	vcc12v_dcin: regulator-vcc12v-dcin {
106*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
107*0e8011faSEmmanuel Vadot		regulator-name = "vcc12v_dcin";
108*0e8011faSEmmanuel Vadot		regulator-always-on;
109*0e8011faSEmmanuel Vadot		regulator-boot-on;
110*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <12000000>;
111*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <12000000>;
112*0e8011faSEmmanuel Vadot	};
113*0e8011faSEmmanuel Vadot
114*0e8011faSEmmanuel Vadot	vcc33_io64: regulator-vcc33-io64 {
115*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
116*0e8011faSEmmanuel Vadot		regulator-name = "vcc33_io64";
117*0e8011faSEmmanuel Vadot		regulator-always-on;
118*0e8011faSEmmanuel Vadot		regulator-boot-on;
119*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
120*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
121*0e8011faSEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
122*0e8011faSEmmanuel Vadot	};
123*0e8011faSEmmanuel Vadot
124*0e8011faSEmmanuel Vadot	vcc3v3_ekey: regulator-vcc3v3-ekey {
125*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
126*0e8011faSEmmanuel Vadot		enable-active-high;
127*0e8011faSEmmanuel Vadot		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
128*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
129*0e8011faSEmmanuel Vadot		pinctrl-0 = <&ekey_en>;
130*0e8011faSEmmanuel Vadot		regulator-name = "vcc3v3_ekey";
131*0e8011faSEmmanuel Vadot		regulator-always-on;
132*0e8011faSEmmanuel Vadot		regulator-boot-on;
133*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
134*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
135*0e8011faSEmmanuel Vadot		startup-delay-us = <50000>;
136*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
137*0e8011faSEmmanuel Vadot	};
138*0e8011faSEmmanuel Vadot
139*0e8011faSEmmanuel Vadot	vcc3v3_lan: vcc3v3_lan_phy2: regulator-vcc3v3-lan {
140*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
141*0e8011faSEmmanuel Vadot		regulator-name = "vcc3v3_lan";
142*0e8011faSEmmanuel Vadot		regulator-always-on;
143*0e8011faSEmmanuel Vadot		regulator-boot-on;
144*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
145*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
146*0e8011faSEmmanuel Vadot		vin-supply = <&vcc_3v3_s3>;
147*0e8011faSEmmanuel Vadot	};
148*0e8011faSEmmanuel Vadot
149*0e8011faSEmmanuel Vadot	vcc3v3_mkey: regulator-vcc3v3-mkey {
150*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
151*0e8011faSEmmanuel Vadot		enable-active-high;
152*0e8011faSEmmanuel Vadot		gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
153*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
154*0e8011faSEmmanuel Vadot		pinctrl-0 = <&pcie30x4_pwren_h>;
155*0e8011faSEmmanuel Vadot		regulator-name = "vcc3v3_mkey";
156*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
157*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
158*0e8011faSEmmanuel Vadot		startup-delay-us = <5000>;
159*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
160*0e8011faSEmmanuel Vadot	};
161*0e8011faSEmmanuel Vadot
162*0e8011faSEmmanuel Vadot	vcc3v3_sys: regulator-vcc3v3-sys {
163*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
164*0e8011faSEmmanuel Vadot		regulator-name = "vcc3v3_sys";
165*0e8011faSEmmanuel Vadot		regulator-always-on;
166*0e8011faSEmmanuel Vadot		regulator-boot-on;
167*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
168*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
169*0e8011faSEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
170*0e8011faSEmmanuel Vadot	};
171*0e8011faSEmmanuel Vadot
172*0e8011faSEmmanuel Vadot	vcc5v0_sys: regulator-vcc5v0-sys {
173*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
174*0e8011faSEmmanuel Vadot		regulator-name = "vcc5v0_sys";
175*0e8011faSEmmanuel Vadot		regulator-always-on;
176*0e8011faSEmmanuel Vadot		regulator-boot-on;
177*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
178*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
179*0e8011faSEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
180*0e8011faSEmmanuel Vadot	};
181*0e8011faSEmmanuel Vadot
182*0e8011faSEmmanuel Vadot	vcc5v0_usb20: vcc5v0_usb12: vcc5v0_usb34: regulator-vcc5v0-usb {
183*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
184*0e8011faSEmmanuel Vadot		enable-active-high;
185*0e8011faSEmmanuel Vadot		gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
186*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
187*0e8011faSEmmanuel Vadot		pinctrl-0 = <&usb_host_pwren_h>;
188*0e8011faSEmmanuel Vadot		regulator-name = "vcc5v0_usb";
189*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
190*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
191*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
192*0e8011faSEmmanuel Vadot	};
193*0e8011faSEmmanuel Vadot
194*0e8011faSEmmanuel Vadot	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
195*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
196*0e8011faSEmmanuel Vadot		regulator-name = "vcc_1v1_nldo_s3";
197*0e8011faSEmmanuel Vadot		regulator-always-on;
198*0e8011faSEmmanuel Vadot		regulator-boot-on;
199*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <1100000>;
200*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <1100000>;
201*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
202*0e8011faSEmmanuel Vadot	};
203*0e8011faSEmmanuel Vadot};
204*0e8011faSEmmanuel Vadot
205*0e8011faSEmmanuel Vadot&combphy0_ps {
206*0e8011faSEmmanuel Vadot	status = "okay";
207*0e8011faSEmmanuel Vadot};
208*0e8011faSEmmanuel Vadot
209*0e8011faSEmmanuel Vadot&combphy1_ps {
210*0e8011faSEmmanuel Vadot	status = "okay";
211*0e8011faSEmmanuel Vadot};
212*0e8011faSEmmanuel Vadot
213*0e8011faSEmmanuel Vadot&combphy2_psu {
214*0e8011faSEmmanuel Vadot	status = "okay";
215*0e8011faSEmmanuel Vadot};
216*0e8011faSEmmanuel Vadot
217*0e8011faSEmmanuel Vadot&cpu_b0 {
218*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
219*0e8011faSEmmanuel Vadot};
220*0e8011faSEmmanuel Vadot
221*0e8011faSEmmanuel Vadot&cpu_b1 {
222*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
223*0e8011faSEmmanuel Vadot};
224*0e8011faSEmmanuel Vadot
225*0e8011faSEmmanuel Vadot&cpu_b2 {
226*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
227*0e8011faSEmmanuel Vadot};
228*0e8011faSEmmanuel Vadot
229*0e8011faSEmmanuel Vadot&cpu_b3 {
230*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
231*0e8011faSEmmanuel Vadot};
232*0e8011faSEmmanuel Vadot
233*0e8011faSEmmanuel Vadot&cpu_l0 {
234*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
235*0e8011faSEmmanuel Vadot};
236*0e8011faSEmmanuel Vadot
237*0e8011faSEmmanuel Vadot&cpu_l1 {
238*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
239*0e8011faSEmmanuel Vadot};
240*0e8011faSEmmanuel Vadot
241*0e8011faSEmmanuel Vadot&cpu_l2 {
242*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
243*0e8011faSEmmanuel Vadot};
244*0e8011faSEmmanuel Vadot
245*0e8011faSEmmanuel Vadot&cpu_l3 {
246*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
247*0e8011faSEmmanuel Vadot};
248*0e8011faSEmmanuel Vadot
249*0e8011faSEmmanuel Vadot&gpu {
250*0e8011faSEmmanuel Vadot	mali-supply = <&vdd_gpu_s0>;
251*0e8011faSEmmanuel Vadot	status = "okay";
252*0e8011faSEmmanuel Vadot};
253*0e8011faSEmmanuel Vadot
254*0e8011faSEmmanuel Vadot&i2c0 {
255*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
256*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c0m2_xfer>;
257*0e8011faSEmmanuel Vadot	status = "okay";
258*0e8011faSEmmanuel Vadot
259*0e8011faSEmmanuel Vadot	vdd_cpu_big0_s0: regulator@42 {
260*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk8602";
261*0e8011faSEmmanuel Vadot		reg = <0x42>;
262*0e8011faSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
263*0e8011faSEmmanuel Vadot		regulator-name = "vdd_cpu_big0_s0";
264*0e8011faSEmmanuel Vadot		regulator-always-on;
265*0e8011faSEmmanuel Vadot		regulator-boot-on;
266*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <550000>;
267*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
268*0e8011faSEmmanuel Vadot		regulator-ramp-delay = <2300>;
269*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
270*0e8011faSEmmanuel Vadot
271*0e8011faSEmmanuel Vadot		regulator-state-mem {
272*0e8011faSEmmanuel Vadot			regulator-off-in-suspend;
273*0e8011faSEmmanuel Vadot		};
274*0e8011faSEmmanuel Vadot	};
275*0e8011faSEmmanuel Vadot
276*0e8011faSEmmanuel Vadot	vdd_cpu_big1_s0: regulator@43 {
277*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk8603", "rockchip,rk8602";
278*0e8011faSEmmanuel Vadot		reg = <0x43>;
279*0e8011faSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
280*0e8011faSEmmanuel Vadot		regulator-name = "vdd_cpu_big1_s0";
281*0e8011faSEmmanuel Vadot		regulator-always-on;
282*0e8011faSEmmanuel Vadot		regulator-boot-on;
283*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <550000>;
284*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
285*0e8011faSEmmanuel Vadot		regulator-ramp-delay = <2300>;
286*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
287*0e8011faSEmmanuel Vadot
288*0e8011faSEmmanuel Vadot		regulator-state-mem {
289*0e8011faSEmmanuel Vadot			regulator-off-in-suspend;
290*0e8011faSEmmanuel Vadot		};
291*0e8011faSEmmanuel Vadot	};
292*0e8011faSEmmanuel Vadot};
293*0e8011faSEmmanuel Vadot
294*0e8011faSEmmanuel Vadot&i2c1 {
295*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
296*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c1m2_xfer>;
297*0e8011faSEmmanuel Vadot	status = "okay";
298*0e8011faSEmmanuel Vadot
299*0e8011faSEmmanuel Vadot	vdd_npu_s0: regulator@42 {
300*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk8602";
301*0e8011faSEmmanuel Vadot		reg = <0x42>;
302*0e8011faSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
303*0e8011faSEmmanuel Vadot		regulator-name = "vdd_npu_s0";
304*0e8011faSEmmanuel Vadot		regulator-always-on;
305*0e8011faSEmmanuel Vadot		regulator-boot-on;
306*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <550000>;
307*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <950000>;
308*0e8011faSEmmanuel Vadot		regulator-ramp-delay = <2300>;
309*0e8011faSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
310*0e8011faSEmmanuel Vadot
311*0e8011faSEmmanuel Vadot		regulator-state-mem {
312*0e8011faSEmmanuel Vadot			regulator-off-in-suspend;
313*0e8011faSEmmanuel Vadot		};
314*0e8011faSEmmanuel Vadot	};
315*0e8011faSEmmanuel Vadot};
316*0e8011faSEmmanuel Vadot
317*0e8011faSEmmanuel Vadot/* CAM0 connector */
318*0e8011faSEmmanuel Vadot&i2c3 {
319*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
320*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c3m0_xfer>;
321*0e8011faSEmmanuel Vadot};
322*0e8011faSEmmanuel Vadot
323*0e8011faSEmmanuel Vadot/* M.2 E-key */
324*0e8011faSEmmanuel Vadot&i2c4 {
325*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
326*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c4m1_xfer>;
327*0e8011faSEmmanuel Vadot};
328*0e8011faSEmmanuel Vadot
329*0e8011faSEmmanuel Vadot/* RTC and LCD0 connector */
330*0e8011faSEmmanuel Vadot&i2c6 {
331*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
332*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c6m0_xfer>;
333*0e8011faSEmmanuel Vadot	status = "okay";
334*0e8011faSEmmanuel Vadot
335*0e8011faSEmmanuel Vadot	hym8563: rtc@51 {
336*0e8011faSEmmanuel Vadot		compatible = "haoyu,hym8563";
337*0e8011faSEmmanuel Vadot		reg = <0x51>;
338*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
339*0e8011faSEmmanuel Vadot		clock-output-names = "wifi_32kout";
340*0e8011faSEmmanuel Vadot		interrupt-parent = <&gpio0>;
341*0e8011faSEmmanuel Vadot		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
342*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
343*0e8011faSEmmanuel Vadot		pinctrl-0 = <&rtc_int>;
344*0e8011faSEmmanuel Vadot	};
345*0e8011faSEmmanuel Vadot};
346*0e8011faSEmmanuel Vadot
347*0e8011faSEmmanuel Vadot/* Audio codec and CAM1 connector */
348*0e8011faSEmmanuel Vadot&i2c7 {
349*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
350*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c7m0_xfer>;
351*0e8011faSEmmanuel Vadot	status = "okay";
352*0e8011faSEmmanuel Vadot
353*0e8011faSEmmanuel Vadot	es8316: audio-codec@11 {
354*0e8011faSEmmanuel Vadot		compatible = "everest,es8316";
355*0e8011faSEmmanuel Vadot		reg = <0x11>;
356*0e8011faSEmmanuel Vadot		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
357*0e8011faSEmmanuel Vadot		assigned-clock-rates = <12288000>;
358*0e8011faSEmmanuel Vadot		clocks = <&cru I2S0_8CH_MCLKOUT>;
359*0e8011faSEmmanuel Vadot		clock-names = "mclk";
360*0e8011faSEmmanuel Vadot		#sound-dai-cells = <0>;
361*0e8011faSEmmanuel Vadot
362*0e8011faSEmmanuel Vadot		port {
363*0e8011faSEmmanuel Vadot			es8316_p0_0: endpoint {
364*0e8011faSEmmanuel Vadot				remote-endpoint = <&i2s0_8ch_p0_0>;
365*0e8011faSEmmanuel Vadot			};
366*0e8011faSEmmanuel Vadot		};
367*0e8011faSEmmanuel Vadot	};
368*0e8011faSEmmanuel Vadot};
369*0e8011faSEmmanuel Vadot
370*0e8011faSEmmanuel Vadot/* FUSB302 and LCD1 connector */
371*0e8011faSEmmanuel Vadot&i2c8 {
372*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
373*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c8m4_xfer>;
374*0e8011faSEmmanuel Vadot	status = "okay";
375*0e8011faSEmmanuel Vadot
376*0e8011faSEmmanuel Vadot	usbc0: usb-typec@22 {
377*0e8011faSEmmanuel Vadot		compatible = "fcs,fusb302";
378*0e8011faSEmmanuel Vadot		reg = <0x22>;
379*0e8011faSEmmanuel Vadot		interrupt-parent = <&gpio3>;
380*0e8011faSEmmanuel Vadot		interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
381*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
382*0e8011faSEmmanuel Vadot		pinctrl-0 = <&usbc0_int>;
383*0e8011faSEmmanuel Vadot		vbus-supply = <&typec_vin>;
384*0e8011faSEmmanuel Vadot
385*0e8011faSEmmanuel Vadot		usb_con: connector {
386*0e8011faSEmmanuel Vadot			compatible = "usb-c-connector";
387*0e8011faSEmmanuel Vadot			data-role = "dual";
388*0e8011faSEmmanuel Vadot			label = "USB-C";
389*0e8011faSEmmanuel Vadot			power-role = "source";
390*0e8011faSEmmanuel Vadot			source-pdos =
391*0e8011faSEmmanuel Vadot				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
392*0e8011faSEmmanuel Vadot
393*0e8011faSEmmanuel Vadot			ports {
394*0e8011faSEmmanuel Vadot				#address-cells = <1>;
395*0e8011faSEmmanuel Vadot				#size-cells = <0>;
396*0e8011faSEmmanuel Vadot
397*0e8011faSEmmanuel Vadot				port@0 {
398*0e8011faSEmmanuel Vadot					reg = <0>;
399*0e8011faSEmmanuel Vadot
400*0e8011faSEmmanuel Vadot					usbc0_orien_sw: endpoint {
401*0e8011faSEmmanuel Vadot						remote-endpoint = <&usbdp_phy0_orientation_switch>;
402*0e8011faSEmmanuel Vadot					};
403*0e8011faSEmmanuel Vadot				};
404*0e8011faSEmmanuel Vadot
405*0e8011faSEmmanuel Vadot				port@1 {
406*0e8011faSEmmanuel Vadot					reg = <1>;
407*0e8011faSEmmanuel Vadot
408*0e8011faSEmmanuel Vadot					usbc0_role_sw: endpoint {
409*0e8011faSEmmanuel Vadot						remote-endpoint = <&dwc3_0_role_switch>;
410*0e8011faSEmmanuel Vadot					};
411*0e8011faSEmmanuel Vadot				};
412*0e8011faSEmmanuel Vadot
413*0e8011faSEmmanuel Vadot				port@2 {
414*0e8011faSEmmanuel Vadot					reg = <2>;
415*0e8011faSEmmanuel Vadot
416*0e8011faSEmmanuel Vadot					dp_altmode_mux: endpoint {
417*0e8011faSEmmanuel Vadot						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
418*0e8011faSEmmanuel Vadot					};
419*0e8011faSEmmanuel Vadot				};
420*0e8011faSEmmanuel Vadot			};
421*0e8011faSEmmanuel Vadot		};
422*0e8011faSEmmanuel Vadot	};
423*0e8011faSEmmanuel Vadot};
424*0e8011faSEmmanuel Vadot
425*0e8011faSEmmanuel Vadot&i2c8m4_xfer {
426*0e8011faSEmmanuel Vadot	rockchip,pins =
427*0e8011faSEmmanuel Vadot		/* i2c8_scl_m4 */
428*0e8011faSEmmanuel Vadot		<3 RK_PC2 9 &pcfg_pull_up_drv_level_6>,
429*0e8011faSEmmanuel Vadot		/* i2c8_sda_m4 */
430*0e8011faSEmmanuel Vadot		<3 RK_PC3 9 &pcfg_pull_up_drv_level_6>;
431*0e8011faSEmmanuel Vadot};
432*0e8011faSEmmanuel Vadot
433*0e8011faSEmmanuel Vadot&i2s0_8ch {
434*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
435*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2s0_lrck
436*0e8011faSEmmanuel Vadot		     &i2s0_mclk
437*0e8011faSEmmanuel Vadot		     &i2s0_sclk
438*0e8011faSEmmanuel Vadot		     &i2s0_sdi0
439*0e8011faSEmmanuel Vadot		     &i2s0_sdo0>;
440*0e8011faSEmmanuel Vadot	status = "okay";
441*0e8011faSEmmanuel Vadot
442*0e8011faSEmmanuel Vadot	i2s0_8ch_p0: port {
443*0e8011faSEmmanuel Vadot		i2s0_8ch_p0_0: endpoint {
444*0e8011faSEmmanuel Vadot			dai-format = "i2s";
445*0e8011faSEmmanuel Vadot			mclk-fs = <256>;
446*0e8011faSEmmanuel Vadot			remote-endpoint = <&es8316_p0_0>;
447*0e8011faSEmmanuel Vadot		};
448*0e8011faSEmmanuel Vadot	};
449*0e8011faSEmmanuel Vadot};
450*0e8011faSEmmanuel Vadot
451*0e8011faSEmmanuel Vadot&package_thermal {
452*0e8011faSEmmanuel Vadot	polling-delay = <1000>;
453*0e8011faSEmmanuel Vadot
454*0e8011faSEmmanuel Vadot	trips {
455*0e8011faSEmmanuel Vadot		package_fan0: package-fan0 {
456*0e8011faSEmmanuel Vadot			hysteresis = <2000>;
457*0e8011faSEmmanuel Vadot			temperature = <50000>;
458*0e8011faSEmmanuel Vadot			type = "active";
459*0e8011faSEmmanuel Vadot		};
460*0e8011faSEmmanuel Vadot
461*0e8011faSEmmanuel Vadot		package_fan1: package-fan1 {
462*0e8011faSEmmanuel Vadot			hysteresis = <2000>;
463*0e8011faSEmmanuel Vadot			temperature = <65000>;
464*0e8011faSEmmanuel Vadot			type = "active";
465*0e8011faSEmmanuel Vadot		};
466*0e8011faSEmmanuel Vadot	};
467*0e8011faSEmmanuel Vadot
468*0e8011faSEmmanuel Vadot	cooling-maps {
469*0e8011faSEmmanuel Vadot		map0 {
470*0e8011faSEmmanuel Vadot			cooling-device = <&fan0 THERMAL_NO_LIMIT 1>;
471*0e8011faSEmmanuel Vadot			trip = <&package_fan0>;
472*0e8011faSEmmanuel Vadot		};
473*0e8011faSEmmanuel Vadot		map1 {
474*0e8011faSEmmanuel Vadot			cooling-device = <&fan0 2 THERMAL_NO_LIMIT>;
475*0e8011faSEmmanuel Vadot			trip = <&package_fan1>;
476*0e8011faSEmmanuel Vadot		};
477*0e8011faSEmmanuel Vadot	};
478*0e8011faSEmmanuel Vadot};
479*0e8011faSEmmanuel Vadot
480*0e8011faSEmmanuel Vadot/* M.2 E-key */
481*0e8011faSEmmanuel Vadot&pcie2x1l0 {
482*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
483*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie30x1_0_perstn_m1_l>;
484*0e8011faSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
485*0e8011faSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_ekey>;
486*0e8011faSEmmanuel Vadot	status = "okay";
487*0e8011faSEmmanuel Vadot};
488*0e8011faSEmmanuel Vadot
489*0e8011faSEmmanuel Vadot/* RTL8125B_1 */
490*0e8011faSEmmanuel Vadot&pcie2x1l1 {
491*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
492*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie30x1_1_perstn>;
493*0e8011faSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
494*0e8011faSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_lan>;
495*0e8011faSEmmanuel Vadot	status = "okay";
496*0e8011faSEmmanuel Vadot};
497*0e8011faSEmmanuel Vadot
498*0e8011faSEmmanuel Vadot/* RTL8125B_2 */
499*0e8011faSEmmanuel Vadot&pcie2x1l2 {
500*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
501*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie20x1_2_perstn>;
502*0e8011faSEmmanuel Vadot	reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
503*0e8011faSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_lan_phy2>;
504*0e8011faSEmmanuel Vadot	status = "okay";
505*0e8011faSEmmanuel Vadot};
506*0e8011faSEmmanuel Vadot
507*0e8011faSEmmanuel Vadot&pcie30phy {
508*0e8011faSEmmanuel Vadot	data-lanes = <1 1 2 2>;
509*0e8011faSEmmanuel Vadot	/* separate clock lines from the clock generator to phy and devices */
510*0e8011faSEmmanuel Vadot	rockchip,rx-common-refclk-mode = <0 0 0 0>;
511*0e8011faSEmmanuel Vadot	status = "okay";
512*0e8011faSEmmanuel Vadot};
513*0e8011faSEmmanuel Vadot
514*0e8011faSEmmanuel Vadot/* ASMedia ASM1164 Sata controller */
515*0e8011faSEmmanuel Vadot&pcie3x2 {
516*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
517*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie30x2_perstn_m1_l>;
518*0e8011faSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
519*0e8011faSEmmanuel Vadot	vpcie3v3-supply = <&vcc33_io64>;
520*0e8011faSEmmanuel Vadot	status = "okay";
521*0e8011faSEmmanuel Vadot};
522*0e8011faSEmmanuel Vadot
523*0e8011faSEmmanuel Vadot/* M.2 M.key */
524*0e8011faSEmmanuel Vadot&pcie3x4 {
525*0e8011faSEmmanuel Vadot	num-lanes = <2>;
526*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
527*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie30x4_perstn_m1_l>;
528*0e8011faSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
529*0e8011faSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_mkey>;
530*0e8011faSEmmanuel Vadot	status = "okay";
531*0e8011faSEmmanuel Vadot};
532*0e8011faSEmmanuel Vadot
533*0e8011faSEmmanuel Vadot&pinctrl {
534*0e8011faSEmmanuel Vadot	hym8563 {
535*0e8011faSEmmanuel Vadot		rtc_int: rtc-int {
536*0e8011faSEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
537*0e8011faSEmmanuel Vadot		};
538*0e8011faSEmmanuel Vadot	};
539*0e8011faSEmmanuel Vadot
540*0e8011faSEmmanuel Vadot	leds {
541*0e8011faSEmmanuel Vadot		led_pins: led-pins {
542*0e8011faSEmmanuel Vadot			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>,
543*0e8011faSEmmanuel Vadot					<0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
544*0e8011faSEmmanuel Vadot		};
545*0e8011faSEmmanuel Vadot	};
546*0e8011faSEmmanuel Vadot
547*0e8011faSEmmanuel Vadot	pcie {
548*0e8011faSEmmanuel Vadot		pcie20x1_2_perstn: pcie20x1-2-perstn {
549*0e8011faSEmmanuel Vadot			rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
550*0e8011faSEmmanuel Vadot		};
551*0e8011faSEmmanuel Vadot
552*0e8011faSEmmanuel Vadot		pcie30x1_0_perstn_m1_l: pcie30x1-0-perstn-m1-l {
553*0e8011faSEmmanuel Vadot			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
554*0e8011faSEmmanuel Vadot		};
555*0e8011faSEmmanuel Vadot
556*0e8011faSEmmanuel Vadot		pcie30x1_1_perstn: pcie30x1-1-perstn {
557*0e8011faSEmmanuel Vadot			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
558*0e8011faSEmmanuel Vadot		};
559*0e8011faSEmmanuel Vadot
560*0e8011faSEmmanuel Vadot		pcie30x2_perstn_m1_l: pcie30x2-perstn-m1-l {
561*0e8011faSEmmanuel Vadot			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
562*0e8011faSEmmanuel Vadot		};
563*0e8011faSEmmanuel Vadot
564*0e8011faSEmmanuel Vadot		pcie30x4_perstn_m1_l: pcie30x4-perstn-m1-l {
565*0e8011faSEmmanuel Vadot			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
566*0e8011faSEmmanuel Vadot		};
567*0e8011faSEmmanuel Vadot
568*0e8011faSEmmanuel Vadot		ekey_en: ekey-en {
569*0e8011faSEmmanuel Vadot			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_down>;
570*0e8011faSEmmanuel Vadot		};
571*0e8011faSEmmanuel Vadot
572*0e8011faSEmmanuel Vadot		pcie30x4_pwren_h: pcie30x4-pwren-h {
573*0e8011faSEmmanuel Vadot			rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
574*0e8011faSEmmanuel Vadot		};
575*0e8011faSEmmanuel Vadot	};
576*0e8011faSEmmanuel Vadot
577*0e8011faSEmmanuel Vadot	sound {
578*0e8011faSEmmanuel Vadot		hp_detect: hp-detect {
579*0e8011faSEmmanuel Vadot			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>;
580*0e8011faSEmmanuel Vadot		};
581*0e8011faSEmmanuel Vadot	};
582*0e8011faSEmmanuel Vadot
583*0e8011faSEmmanuel Vadot	usb {
584*0e8011faSEmmanuel Vadot		usb_host_pwren_h: usb-host-pwren-h {
585*0e8011faSEmmanuel Vadot			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
586*0e8011faSEmmanuel Vadot		};
587*0e8011faSEmmanuel Vadot
588*0e8011faSEmmanuel Vadot		vcc5v0_otg_en: vcc5v0-otg-en {
589*0e8011faSEmmanuel Vadot			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
590*0e8011faSEmmanuel Vadot		};
591*0e8011faSEmmanuel Vadot
592*0e8011faSEmmanuel Vadot		gl3523_reset: rl3523-reset {
593*0e8011faSEmmanuel Vadot			rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
594*0e8011faSEmmanuel Vadot		};
595*0e8011faSEmmanuel Vadot	};
596*0e8011faSEmmanuel Vadot
597*0e8011faSEmmanuel Vadot	usb-typec {
598*0e8011faSEmmanuel Vadot		usbc0_int: usbc0-int {
599*0e8011faSEmmanuel Vadot			rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
600*0e8011faSEmmanuel Vadot		};
601*0e8011faSEmmanuel Vadot
602*0e8011faSEmmanuel Vadot		vbus5v0_typec_en: vbus5v0-typec-en {
603*0e8011faSEmmanuel Vadot			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
604*0e8011faSEmmanuel Vadot		};
605*0e8011faSEmmanuel Vadot	};
606*0e8011faSEmmanuel Vadot
607*0e8011faSEmmanuel Vadot	hdmirx {
608*0e8011faSEmmanuel Vadot		hdmirx_det: hdmirx-det {
609*0e8011faSEmmanuel Vadot			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
610*0e8011faSEmmanuel Vadot		};
611*0e8011faSEmmanuel Vadot	};
612*0e8011faSEmmanuel Vadot
613*0e8011faSEmmanuel Vadot	sdio-pwrseq {
614*0e8011faSEmmanuel Vadot		wifi_enable_h: wifi-enable-h {
615*0e8011faSEmmanuel Vadot			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
616*0e8011faSEmmanuel Vadot		};
617*0e8011faSEmmanuel Vadot	};
618*0e8011faSEmmanuel Vadot
619*0e8011faSEmmanuel Vadot	wireless-wlan {
620*0e8011faSEmmanuel Vadot		wifi_host_wake_irq: wifi-host-wake-irq {
621*0e8011faSEmmanuel Vadot			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
622*0e8011faSEmmanuel Vadot		};
623*0e8011faSEmmanuel Vadot	};
624*0e8011faSEmmanuel Vadot
625*0e8011faSEmmanuel Vadot	bt {
626*0e8011faSEmmanuel Vadot		bt_enable_h: bt-enable-h {
627*0e8011faSEmmanuel Vadot			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
628*0e8011faSEmmanuel Vadot		};
629*0e8011faSEmmanuel Vadot
630*0e8011faSEmmanuel Vadot		bt_host_wake_l: bt-host-wake-l {
631*0e8011faSEmmanuel Vadot			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
632*0e8011faSEmmanuel Vadot		};
633*0e8011faSEmmanuel Vadot
634*0e8011faSEmmanuel Vadot		bt_wake_l: bt-wake-l {
635*0e8011faSEmmanuel Vadot			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
636*0e8011faSEmmanuel Vadot		};
637*0e8011faSEmmanuel Vadot	};
638*0e8011faSEmmanuel Vadot
639*0e8011faSEmmanuel Vadot	dp {
640*0e8011faSEmmanuel Vadot		dp1_hpd: dp1-hpd {
641*0e8011faSEmmanuel Vadot			rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
642*0e8011faSEmmanuel Vadot		};
643*0e8011faSEmmanuel Vadot	};
644*0e8011faSEmmanuel Vadot};
645*0e8011faSEmmanuel Vadot
646*0e8011faSEmmanuel Vadot&pwm14 {
647*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
648*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pwm14m1_pins>;
649*0e8011faSEmmanuel Vadot	status = "okay";
650*0e8011faSEmmanuel Vadot};
651*0e8011faSEmmanuel Vadot
652*0e8011faSEmmanuel Vadot&saradc {
653*0e8011faSEmmanuel Vadot	vref-supply = <&avcc_1v8_s0>;
654*0e8011faSEmmanuel Vadot	status = "okay";
655*0e8011faSEmmanuel Vadot};
656*0e8011faSEmmanuel Vadot
657*0e8011faSEmmanuel Vadot&sdhci {
658*0e8011faSEmmanuel Vadot	bus-width = <8>;
659*0e8011faSEmmanuel Vadot	max-frequency = <200000000>;
660*0e8011faSEmmanuel Vadot	mmc-hs400-1_8v;
661*0e8011faSEmmanuel Vadot	mmc-hs400-enhanced-strobe;
662*0e8011faSEmmanuel Vadot	mmc-hs200-1_8v;
663*0e8011faSEmmanuel Vadot	no-sdio;
664*0e8011faSEmmanuel Vadot	no-sd;
665*0e8011faSEmmanuel Vadot	non-removable;
666*0e8011faSEmmanuel Vadot	status = "okay";
667*0e8011faSEmmanuel Vadot};
668*0e8011faSEmmanuel Vadot
669*0e8011faSEmmanuel Vadot&sdmmc {
670*0e8011faSEmmanuel Vadot	bus-width = <4>;
671*0e8011faSEmmanuel Vadot	cap-mmc-highspeed;
672*0e8011faSEmmanuel Vadot	cap-sd-highspeed;
673*0e8011faSEmmanuel Vadot	disable-wp;
674*0e8011faSEmmanuel Vadot	max-frequency = <200000000>;
675*0e8011faSEmmanuel Vadot	no-sdio;
676*0e8011faSEmmanuel Vadot	no-mmc;
677*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
678*0e8011faSEmmanuel Vadot	pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
679*0e8011faSEmmanuel Vadot	sd-uhs-sdr104;
680*0e8011faSEmmanuel Vadot	vmmc-supply = <&vcc_3v3_s3>;
681*0e8011faSEmmanuel Vadot	vqmmc-supply = <&vccio_sd_s0>;
682*0e8011faSEmmanuel Vadot	status = "okay";
683*0e8011faSEmmanuel Vadot};
684*0e8011faSEmmanuel Vadot
685*0e8011faSEmmanuel Vadot/* M.2 E-KEY */
686*0e8011faSEmmanuel Vadot&sdio {
687*0e8011faSEmmanuel Vadot	broken-cd;
688*0e8011faSEmmanuel Vadot	bus-width = <4>;
689*0e8011faSEmmanuel Vadot	cap-sdio-irq;
690*0e8011faSEmmanuel Vadot	keep-power-in-suspend;
691*0e8011faSEmmanuel Vadot	max-frequency = <150000000>;
692*0e8011faSEmmanuel Vadot	mmc-pwrseq = <&sdio_pwrseq>;
693*0e8011faSEmmanuel Vadot	no-sd;
694*0e8011faSEmmanuel Vadot	no-mmc;
695*0e8011faSEmmanuel Vadot	non-removable;
696*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
697*0e8011faSEmmanuel Vadot	pinctrl-0 = <&sdiom0_pins>;
698*0e8011faSEmmanuel Vadot	sd-uhs-sdr104;
699*0e8011faSEmmanuel Vadot	vmmc-supply = <&vcc3v3_ekey>;
700*0e8011faSEmmanuel Vadot	status = "okay";
701*0e8011faSEmmanuel Vadot};
702*0e8011faSEmmanuel Vadot
703*0e8011faSEmmanuel Vadot&sfc {
704*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
705*0e8011faSEmmanuel Vadot	pinctrl-0 = <&fspim2_pins>;
706*0e8011faSEmmanuel Vadot	status = "okay";
707*0e8011faSEmmanuel Vadot
708*0e8011faSEmmanuel Vadot	spi_flash: flash@0 {
709*0e8011faSEmmanuel Vadot		compatible = "jedec,spi-nor";
710*0e8011faSEmmanuel Vadot		reg = <0x0>;
711*0e8011faSEmmanuel Vadot		spi-max-frequency = <50000000>;
712*0e8011faSEmmanuel Vadot		spi-rx-bus-width = <4>;
713*0e8011faSEmmanuel Vadot		spi-tx-bus-width = <1>;
714*0e8011faSEmmanuel Vadot	};
715*0e8011faSEmmanuel Vadot};
716*0e8011faSEmmanuel Vadot
717*0e8011faSEmmanuel Vadot&spi2 {
718*0e8011faSEmmanuel Vadot	status = "okay";
719*0e8011faSEmmanuel Vadot	assigned-clocks = <&cru CLK_SPI2>;
720*0e8011faSEmmanuel Vadot	assigned-clock-rates = <200000000>;
721*0e8011faSEmmanuel Vadot	num-cs = <1>;
722*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
723*0e8011faSEmmanuel Vadot	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
724*0e8011faSEmmanuel Vadot
725*0e8011faSEmmanuel Vadot	pmic@0 {
726*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk806";
727*0e8011faSEmmanuel Vadot		reg = <0x0>;
728*0e8011faSEmmanuel Vadot		gpio-controller;
729*0e8011faSEmmanuel Vadot		#gpio-cells = <2>;
730*0e8011faSEmmanuel Vadot		interrupt-parent = <&gpio0>;
731*0e8011faSEmmanuel Vadot		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
732*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
733*0e8011faSEmmanuel Vadot		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
734*0e8011faSEmmanuel Vadot			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
735*0e8011faSEmmanuel Vadot		spi-max-frequency = <1000000>;
736*0e8011faSEmmanuel Vadot		system-power-controller;
737*0e8011faSEmmanuel Vadot
738*0e8011faSEmmanuel Vadot		vcc1-supply = <&vcc5v0_sys>;
739*0e8011faSEmmanuel Vadot		vcc2-supply = <&vcc5v0_sys>;
740*0e8011faSEmmanuel Vadot		vcc3-supply = <&vcc5v0_sys>;
741*0e8011faSEmmanuel Vadot		vcc4-supply = <&vcc5v0_sys>;
742*0e8011faSEmmanuel Vadot		vcc5-supply = <&vcc5v0_sys>;
743*0e8011faSEmmanuel Vadot		vcc6-supply = <&vcc5v0_sys>;
744*0e8011faSEmmanuel Vadot		vcc7-supply = <&vcc5v0_sys>;
745*0e8011faSEmmanuel Vadot		vcc8-supply = <&vcc5v0_sys>;
746*0e8011faSEmmanuel Vadot		vcc9-supply = <&vcc5v0_sys>;
747*0e8011faSEmmanuel Vadot		vcc10-supply = <&vcc5v0_sys>;
748*0e8011faSEmmanuel Vadot		vcc11-supply = <&vcc_2v0_pldo_s3>;
749*0e8011faSEmmanuel Vadot		vcc12-supply = <&vcc5v0_sys>;
750*0e8011faSEmmanuel Vadot		vcc13-supply = <&vcc_1v1_nldo_s3>;
751*0e8011faSEmmanuel Vadot		vcc14-supply = <&vcc_1v1_nldo_s3>;
752*0e8011faSEmmanuel Vadot		vcca-supply = <&vcc5v0_sys>;
753*0e8011faSEmmanuel Vadot
754*0e8011faSEmmanuel Vadot		rk806_dvs1_null: dvs1-null-pins {
755*0e8011faSEmmanuel Vadot			pins = "gpio_pwrctrl1";
756*0e8011faSEmmanuel Vadot			function = "pin_fun0";
757*0e8011faSEmmanuel Vadot		};
758*0e8011faSEmmanuel Vadot
759*0e8011faSEmmanuel Vadot		rk806_dvs2_null: dvs2-null-pins {
760*0e8011faSEmmanuel Vadot			pins = "gpio_pwrctrl2";
761*0e8011faSEmmanuel Vadot			function = "pin_fun0";
762*0e8011faSEmmanuel Vadot		};
763*0e8011faSEmmanuel Vadot
764*0e8011faSEmmanuel Vadot		rk806_dvs3_null: dvs3-null-pins {
765*0e8011faSEmmanuel Vadot			pins = "gpio_pwrctrl3";
766*0e8011faSEmmanuel Vadot			function = "pin_fun0";
767*0e8011faSEmmanuel Vadot		};
768*0e8011faSEmmanuel Vadot
769*0e8011faSEmmanuel Vadot		regulators {
770*0e8011faSEmmanuel Vadot			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
771*0e8011faSEmmanuel Vadot				regulator-boot-on;
772*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <550000>;
773*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <950000>;
774*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
775*0e8011faSEmmanuel Vadot				regulator-name = "vdd_gpu_s0";
776*0e8011faSEmmanuel Vadot				regulator-enable-ramp-delay = <400>;
777*0e8011faSEmmanuel Vadot
778*0e8011faSEmmanuel Vadot				regulator-state-mem {
779*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
780*0e8011faSEmmanuel Vadot				};
781*0e8011faSEmmanuel Vadot			};
782*0e8011faSEmmanuel Vadot
783*0e8011faSEmmanuel Vadot			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
784*0e8011faSEmmanuel Vadot				regulator-always-on;
785*0e8011faSEmmanuel Vadot				regulator-boot-on;
786*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <550000>;
787*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <950000>;
788*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
789*0e8011faSEmmanuel Vadot				regulator-name = "vdd_cpu_lit_s0";
790*0e8011faSEmmanuel Vadot
791*0e8011faSEmmanuel Vadot				regulator-state-mem {
792*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
793*0e8011faSEmmanuel Vadot				};
794*0e8011faSEmmanuel Vadot			};
795*0e8011faSEmmanuel Vadot
796*0e8011faSEmmanuel Vadot			vdd_log_s0: dcdc-reg3 {
797*0e8011faSEmmanuel Vadot				regulator-always-on;
798*0e8011faSEmmanuel Vadot				regulator-boot-on;
799*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <675000>;
800*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
801*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
802*0e8011faSEmmanuel Vadot				regulator-name = "vdd_log_s0";
803*0e8011faSEmmanuel Vadot
804*0e8011faSEmmanuel Vadot				regulator-state-mem {
805*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
806*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
807*0e8011faSEmmanuel Vadot				};
808*0e8011faSEmmanuel Vadot			};
809*0e8011faSEmmanuel Vadot
810*0e8011faSEmmanuel Vadot			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
811*0e8011faSEmmanuel Vadot				regulator-always-on;
812*0e8011faSEmmanuel Vadot				regulator-boot-on;
813*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <550000>;
814*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <950000>;
815*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
816*0e8011faSEmmanuel Vadot				regulator-name = "vdd_vdenc_s0";
817*0e8011faSEmmanuel Vadot
818*0e8011faSEmmanuel Vadot				regulator-state-mem {
819*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
820*0e8011faSEmmanuel Vadot				};
821*0e8011faSEmmanuel Vadot			};
822*0e8011faSEmmanuel Vadot
823*0e8011faSEmmanuel Vadot			vdd_ddr_s0: dcdc-reg5 {
824*0e8011faSEmmanuel Vadot				regulator-always-on;
825*0e8011faSEmmanuel Vadot				regulator-boot-on;
826*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <675000>;
827*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <900000>;
828*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
829*0e8011faSEmmanuel Vadot				regulator-name = "vdd_ddr_s0";
830*0e8011faSEmmanuel Vadot
831*0e8011faSEmmanuel Vadot				regulator-state-mem {
832*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
833*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
834*0e8011faSEmmanuel Vadot				};
835*0e8011faSEmmanuel Vadot			};
836*0e8011faSEmmanuel Vadot
837*0e8011faSEmmanuel Vadot			vdd2_ddr_s3: dcdc-reg6 {
838*0e8011faSEmmanuel Vadot				regulator-always-on;
839*0e8011faSEmmanuel Vadot				regulator-boot-on;
840*0e8011faSEmmanuel Vadot				regulator-name = "vdd2_ddr_s3";
841*0e8011faSEmmanuel Vadot
842*0e8011faSEmmanuel Vadot				regulator-state-mem {
843*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
844*0e8011faSEmmanuel Vadot				};
845*0e8011faSEmmanuel Vadot			};
846*0e8011faSEmmanuel Vadot
847*0e8011faSEmmanuel Vadot			vcc_2v0_pldo_s3: dcdc-reg7 {
848*0e8011faSEmmanuel Vadot				regulator-always-on;
849*0e8011faSEmmanuel Vadot				regulator-boot-on;
850*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <2000000>;
851*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <2000000>;
852*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
853*0e8011faSEmmanuel Vadot				regulator-name = "vdd_2v0_pldo_s3";
854*0e8011faSEmmanuel Vadot
855*0e8011faSEmmanuel Vadot				regulator-state-mem {
856*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
857*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <2000000>;
858*0e8011faSEmmanuel Vadot				};
859*0e8011faSEmmanuel Vadot			};
860*0e8011faSEmmanuel Vadot
861*0e8011faSEmmanuel Vadot			vcc_3v3_s3: dcdc-reg8 {
862*0e8011faSEmmanuel Vadot				regulator-always-on;
863*0e8011faSEmmanuel Vadot				regulator-boot-on;
864*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
865*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
866*0e8011faSEmmanuel Vadot				regulator-name = "vcc_3v3_s3";
867*0e8011faSEmmanuel Vadot
868*0e8011faSEmmanuel Vadot				regulator-state-mem {
869*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
870*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
871*0e8011faSEmmanuel Vadot				};
872*0e8011faSEmmanuel Vadot			};
873*0e8011faSEmmanuel Vadot
874*0e8011faSEmmanuel Vadot			vddq_ddr_s0: dcdc-reg9 {
875*0e8011faSEmmanuel Vadot				regulator-always-on;
876*0e8011faSEmmanuel Vadot				regulator-boot-on;
877*0e8011faSEmmanuel Vadot				regulator-name = "vddq_ddr_s0";
878*0e8011faSEmmanuel Vadot
879*0e8011faSEmmanuel Vadot				regulator-state-mem {
880*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
881*0e8011faSEmmanuel Vadot				};
882*0e8011faSEmmanuel Vadot			};
883*0e8011faSEmmanuel Vadot
884*0e8011faSEmmanuel Vadot			vcc_1v8_s3: dcdc-reg10 {
885*0e8011faSEmmanuel Vadot				regulator-always-on;
886*0e8011faSEmmanuel Vadot				regulator-boot-on;
887*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
888*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
889*0e8011faSEmmanuel Vadot				regulator-name = "vcc_1v8_s3";
890*0e8011faSEmmanuel Vadot
891*0e8011faSEmmanuel Vadot				regulator-state-mem {
892*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
893*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
894*0e8011faSEmmanuel Vadot				};
895*0e8011faSEmmanuel Vadot			};
896*0e8011faSEmmanuel Vadot
897*0e8011faSEmmanuel Vadot			avcc_1v8_s0: pldo-reg1 {
898*0e8011faSEmmanuel Vadot				regulator-always-on;
899*0e8011faSEmmanuel Vadot				regulator-boot-on;
900*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
901*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
902*0e8011faSEmmanuel Vadot				regulator-name = "avcc_1v8_s0";
903*0e8011faSEmmanuel Vadot
904*0e8011faSEmmanuel Vadot				regulator-state-mem {
905*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
906*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
907*0e8011faSEmmanuel Vadot				};
908*0e8011faSEmmanuel Vadot			};
909*0e8011faSEmmanuel Vadot
910*0e8011faSEmmanuel Vadot			vcc_1v8_s0: pldo-reg2 {
911*0e8011faSEmmanuel Vadot				regulator-always-on;
912*0e8011faSEmmanuel Vadot				regulator-boot-on;
913*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
914*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
915*0e8011faSEmmanuel Vadot				regulator-name = "vcc_1v8_s0";
916*0e8011faSEmmanuel Vadot
917*0e8011faSEmmanuel Vadot				regulator-state-mem {
918*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
919*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
920*0e8011faSEmmanuel Vadot				};
921*0e8011faSEmmanuel Vadot			};
922*0e8011faSEmmanuel Vadot
923*0e8011faSEmmanuel Vadot			avdd_1v2_s0: pldo-reg3 {
924*0e8011faSEmmanuel Vadot				regulator-always-on;
925*0e8011faSEmmanuel Vadot				regulator-boot-on;
926*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
927*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
928*0e8011faSEmmanuel Vadot				regulator-name = "avdd_1v2_s0";
929*0e8011faSEmmanuel Vadot
930*0e8011faSEmmanuel Vadot				regulator-state-mem {
931*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
932*0e8011faSEmmanuel Vadot				};
933*0e8011faSEmmanuel Vadot			};
934*0e8011faSEmmanuel Vadot
935*0e8011faSEmmanuel Vadot			vcc_3v3_s0: pldo-reg4 {
936*0e8011faSEmmanuel Vadot				regulator-always-on;
937*0e8011faSEmmanuel Vadot				regulator-boot-on;
938*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
939*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
940*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
941*0e8011faSEmmanuel Vadot				regulator-name = "vcc_3v3_s0";
942*0e8011faSEmmanuel Vadot
943*0e8011faSEmmanuel Vadot				regulator-state-mem {
944*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
945*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
946*0e8011faSEmmanuel Vadot				};
947*0e8011faSEmmanuel Vadot			};
948*0e8011faSEmmanuel Vadot
949*0e8011faSEmmanuel Vadot			vccio_sd_s0: pldo-reg5 {
950*0e8011faSEmmanuel Vadot				regulator-always-on;
951*0e8011faSEmmanuel Vadot				regulator-boot-on;
952*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
953*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
954*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
955*0e8011faSEmmanuel Vadot				regulator-name = "vccio_sd_s0";
956*0e8011faSEmmanuel Vadot
957*0e8011faSEmmanuel Vadot				regulator-state-mem {
958*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
959*0e8011faSEmmanuel Vadot				};
960*0e8011faSEmmanuel Vadot			};
961*0e8011faSEmmanuel Vadot
962*0e8011faSEmmanuel Vadot			pldo6_s3: pldo-reg6 {
963*0e8011faSEmmanuel Vadot				regulator-always-on;
964*0e8011faSEmmanuel Vadot				regulator-boot-on;
965*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
966*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
967*0e8011faSEmmanuel Vadot				regulator-name = "pldo6_s3";
968*0e8011faSEmmanuel Vadot
969*0e8011faSEmmanuel Vadot				regulator-state-mem {
970*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
971*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
972*0e8011faSEmmanuel Vadot				};
973*0e8011faSEmmanuel Vadot			};
974*0e8011faSEmmanuel Vadot
975*0e8011faSEmmanuel Vadot			vdd_0v75_s3: nldo-reg1 {
976*0e8011faSEmmanuel Vadot				regulator-always-on;
977*0e8011faSEmmanuel Vadot				regulator-boot-on;
978*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <750000>;
979*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
980*0e8011faSEmmanuel Vadot				regulator-name = "vdd_0v75_s3";
981*0e8011faSEmmanuel Vadot
982*0e8011faSEmmanuel Vadot				regulator-state-mem {
983*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
984*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
985*0e8011faSEmmanuel Vadot				};
986*0e8011faSEmmanuel Vadot			};
987*0e8011faSEmmanuel Vadot
988*0e8011faSEmmanuel Vadot			vdd_ddr_pll_s0: nldo-reg2 {
989*0e8011faSEmmanuel Vadot				regulator-always-on;
990*0e8011faSEmmanuel Vadot				regulator-boot-on;
991*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <850000>;
992*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <850000>;
993*0e8011faSEmmanuel Vadot				regulator-name = "vdd_ddr_pll_s0";
994*0e8011faSEmmanuel Vadot
995*0e8011faSEmmanuel Vadot				regulator-state-mem {
996*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
997*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
998*0e8011faSEmmanuel Vadot				};
999*0e8011faSEmmanuel Vadot			};
1000*0e8011faSEmmanuel Vadot
1001*0e8011faSEmmanuel Vadot			avdd_0v75_s0: nldo-reg3 {
1002*0e8011faSEmmanuel Vadot				regulator-always-on;
1003*0e8011faSEmmanuel Vadot				regulator-boot-on;
1004*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <750000>;
1005*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
1006*0e8011faSEmmanuel Vadot				regulator-name = "avdd_0v75_s0";
1007*0e8011faSEmmanuel Vadot
1008*0e8011faSEmmanuel Vadot				regulator-state-mem {
1009*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
1010*0e8011faSEmmanuel Vadot				};
1011*0e8011faSEmmanuel Vadot			};
1012*0e8011faSEmmanuel Vadot
1013*0e8011faSEmmanuel Vadot			vdd_0v85_s0: nldo-reg4 {
1014*0e8011faSEmmanuel Vadot				regulator-always-on;
1015*0e8011faSEmmanuel Vadot				regulator-boot-on;
1016*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <850000>;
1017*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <850000>;
1018*0e8011faSEmmanuel Vadot				regulator-name = "vdd_0v85_s0";
1019*0e8011faSEmmanuel Vadot
1020*0e8011faSEmmanuel Vadot				regulator-state-mem {
1021*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
1022*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <837500>;
1023*0e8011faSEmmanuel Vadot				};
1024*0e8011faSEmmanuel Vadot			};
1025*0e8011faSEmmanuel Vadot
1026*0e8011faSEmmanuel Vadot			vdd_0v75_s0: nldo-reg5 {
1027*0e8011faSEmmanuel Vadot				regulator-always-on;
1028*0e8011faSEmmanuel Vadot				regulator-boot-on;
1029*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <750000>;
1030*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
1031*0e8011faSEmmanuel Vadot				regulator-name = "vdd_0v75_s0";
1032*0e8011faSEmmanuel Vadot
1033*0e8011faSEmmanuel Vadot				regulator-state-mem {
1034*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
1035*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
1036*0e8011faSEmmanuel Vadot				};
1037*0e8011faSEmmanuel Vadot			};
1038*0e8011faSEmmanuel Vadot		};
1039*0e8011faSEmmanuel Vadot	};
1040*0e8011faSEmmanuel Vadot};
1041*0e8011faSEmmanuel Vadot
1042*0e8011faSEmmanuel Vadot&tsadc {
1043*0e8011faSEmmanuel Vadot	status = "okay";
1044*0e8011faSEmmanuel Vadot};
1045*0e8011faSEmmanuel Vadot
1046*0e8011faSEmmanuel Vadot&uart2 {
1047*0e8011faSEmmanuel Vadot	pinctrl-0 = <&uart2m0_xfer>;
1048*0e8011faSEmmanuel Vadot	status = "okay";
1049*0e8011faSEmmanuel Vadot};
1050*0e8011faSEmmanuel Vadot
1051*0e8011faSEmmanuel Vadot/* Connected to M.2 E-key */
1052*0e8011faSEmmanuel Vadot&uart6 {
1053*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
1054*0e8011faSEmmanuel Vadot	pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
1055*0e8011faSEmmanuel Vadot	status = "okay";
1056*0e8011faSEmmanuel Vadot};
1057*0e8011faSEmmanuel Vadot
1058*0e8011faSEmmanuel Vadot&u2phy0 {
1059*0e8011faSEmmanuel Vadot	status = "okay";
1060*0e8011faSEmmanuel Vadot};
1061*0e8011faSEmmanuel Vadot
1062*0e8011faSEmmanuel Vadot&u2phy0_otg {
1063*0e8011faSEmmanuel Vadot	status = "okay";
1064*0e8011faSEmmanuel Vadot};
1065*0e8011faSEmmanuel Vadot
1066*0e8011faSEmmanuel Vadot&u2phy1 {
1067*0e8011faSEmmanuel Vadot	status = "okay";
1068*0e8011faSEmmanuel Vadot};
1069*0e8011faSEmmanuel Vadot
1070*0e8011faSEmmanuel Vadot&u2phy1_otg {
1071*0e8011faSEmmanuel Vadot	/* connected to USB3 hub, which is powered by vcc5v0_usb12 */
1072*0e8011faSEmmanuel Vadot	phy-supply = <&vcc5v0_usb12>;
1073*0e8011faSEmmanuel Vadot	status = "okay";
1074*0e8011faSEmmanuel Vadot};
1075*0e8011faSEmmanuel Vadot
1076*0e8011faSEmmanuel Vadot&u2phy2 {
1077*0e8011faSEmmanuel Vadot	status = "okay";
1078*0e8011faSEmmanuel Vadot};
1079*0e8011faSEmmanuel Vadot
1080*0e8011faSEmmanuel Vadot&u2phy2_host {
1081*0e8011faSEmmanuel Vadot	/* connected to USB2 hub, which is powered by vcc5v0_usb20 */
1082*0e8011faSEmmanuel Vadot	phy-supply = <&vcc5v0_usb20>;
1083*0e8011faSEmmanuel Vadot	status = "okay";
1084*0e8011faSEmmanuel Vadot};
1085*0e8011faSEmmanuel Vadot
1086*0e8011faSEmmanuel Vadot&u2phy3 {
1087*0e8011faSEmmanuel Vadot	status = "okay";
1088*0e8011faSEmmanuel Vadot};
1089*0e8011faSEmmanuel Vadot
1090*0e8011faSEmmanuel Vadot&u2phy3_host {
1091*0e8011faSEmmanuel Vadot	phy-supply = <&vcc5v0_usb20>;
1092*0e8011faSEmmanuel Vadot	status = "okay";
1093*0e8011faSEmmanuel Vadot};
1094*0e8011faSEmmanuel Vadot
1095*0e8011faSEmmanuel Vadot&usb_host0_ehci {
1096*0e8011faSEmmanuel Vadot	status = "okay";
1097*0e8011faSEmmanuel Vadot};
1098*0e8011faSEmmanuel Vadot
1099*0e8011faSEmmanuel Vadot&usb_host0_ohci {
1100*0e8011faSEmmanuel Vadot	status = "okay";
1101*0e8011faSEmmanuel Vadot};
1102*0e8011faSEmmanuel Vadot
1103*0e8011faSEmmanuel Vadot&usb_host1_ehci {
1104*0e8011faSEmmanuel Vadot	status = "okay";
1105*0e8011faSEmmanuel Vadot};
1106*0e8011faSEmmanuel Vadot
1107*0e8011faSEmmanuel Vadot&usb_host1_ohci {
1108*0e8011faSEmmanuel Vadot	status = "okay";
1109*0e8011faSEmmanuel Vadot};
1110*0e8011faSEmmanuel Vadot
1111*0e8011faSEmmanuel Vadot&usb_host0_xhci {
1112*0e8011faSEmmanuel Vadot	usb-role-switch;
1113*0e8011faSEmmanuel Vadot	status = "okay";
1114*0e8011faSEmmanuel Vadot
1115*0e8011faSEmmanuel Vadot	port {
1116*0e8011faSEmmanuel Vadot		#address-cells = <1>;
1117*0e8011faSEmmanuel Vadot		#size-cells = <0>;
1118*0e8011faSEmmanuel Vadot
1119*0e8011faSEmmanuel Vadot		dwc3_0_role_switch: endpoint@0 {
1120*0e8011faSEmmanuel Vadot			reg = <0>;
1121*0e8011faSEmmanuel Vadot			remote-endpoint = <&usbc0_role_sw>;
1122*0e8011faSEmmanuel Vadot		};
1123*0e8011faSEmmanuel Vadot	};
1124*0e8011faSEmmanuel Vadot};
1125*0e8011faSEmmanuel Vadot
1126*0e8011faSEmmanuel Vadot&usb_host1_xhci {
1127*0e8011faSEmmanuel Vadot	dr_mode = "host";
1128*0e8011faSEmmanuel Vadot	#address-cells = <1>;
1129*0e8011faSEmmanuel Vadot	#size-cells = <0>;
1130*0e8011faSEmmanuel Vadot	status = "okay";
1131*0e8011faSEmmanuel Vadot
1132*0e8011faSEmmanuel Vadot	/* 2.0 hub on port 1 */
1133*0e8011faSEmmanuel Vadot	hub_2_0: hub@1 {
1134*0e8011faSEmmanuel Vadot		compatible = "usb5e3,610";
1135*0e8011faSEmmanuel Vadot		reg = <1>;
1136*0e8011faSEmmanuel Vadot		peer-hub = <&hub_3_0>;
1137*0e8011faSEmmanuel Vadot		vdd-supply = <&vcc_3v3_s3>;
1138*0e8011faSEmmanuel Vadot	};
1139*0e8011faSEmmanuel Vadot
1140*0e8011faSEmmanuel Vadot	/* 3.0 hub on port 4 */
1141*0e8011faSEmmanuel Vadot	hub_3_0: hub@2 {
1142*0e8011faSEmmanuel Vadot		compatible = "usb5e3,620";
1143*0e8011faSEmmanuel Vadot		reg = <2>;
1144*0e8011faSEmmanuel Vadot		peer-hub = <&hub_2_0>;
1145*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
1146*0e8011faSEmmanuel Vadot		pinctrl-0 = <&gl3523_reset>;
1147*0e8011faSEmmanuel Vadot		reset-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
1148*0e8011faSEmmanuel Vadot		vdd-supply = <&vcc_3v3_s3>;
1149*0e8011faSEmmanuel Vadot	};
1150*0e8011faSEmmanuel Vadot};
1151*0e8011faSEmmanuel Vadot
1152*0e8011faSEmmanuel Vadot&usbdp_phy0 {
1153*0e8011faSEmmanuel Vadot	mode-switch;
1154*0e8011faSEmmanuel Vadot	orientation-switch;
1155*0e8011faSEmmanuel Vadot	sbu1-dc-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>;
1156*0e8011faSEmmanuel Vadot	sbu2-dc-gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_HIGH>;
1157*0e8011faSEmmanuel Vadot	status = "okay";
1158*0e8011faSEmmanuel Vadot
1159*0e8011faSEmmanuel Vadot	port {
1160*0e8011faSEmmanuel Vadot		#address-cells = <1>;
1161*0e8011faSEmmanuel Vadot		#size-cells = <0>;
1162*0e8011faSEmmanuel Vadot		usbdp_phy0_orientation_switch: endpoint@0 {
1163*0e8011faSEmmanuel Vadot			reg = <0>;
1164*0e8011faSEmmanuel Vadot			remote-endpoint = <&usbc0_orien_sw>;
1165*0e8011faSEmmanuel Vadot		};
1166*0e8011faSEmmanuel Vadot
1167*0e8011faSEmmanuel Vadot		usbdp_phy0_dp_altmode_mux: endpoint@1 {
1168*0e8011faSEmmanuel Vadot			reg = <1>;
1169*0e8011faSEmmanuel Vadot			remote-endpoint = <&dp_altmode_mux>;
1170*0e8011faSEmmanuel Vadot		};
1171*0e8011faSEmmanuel Vadot	};
1172*0e8011faSEmmanuel Vadot};
1173*0e8011faSEmmanuel Vadot
1174*0e8011faSEmmanuel Vadot&usbdp_phy1 {
1175*0e8011faSEmmanuel Vadot	rockchip,dp-lane-mux = <2 3>;
1176*0e8011faSEmmanuel Vadot	status = "okay";
1177*0e8011faSEmmanuel Vadot};
1178