xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-orangepi-5-plus.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*84943d6fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*84943d6fSEmmanuel Vadot/*
3*84943d6fSEmmanuel Vadot * Copyright (c) 2023 Ondřej Jirman <megi@xff.cz>
4*84943d6fSEmmanuel Vadot */
5*84943d6fSEmmanuel Vadot
6*84943d6fSEmmanuel Vadot/dts-v1/;
7*84943d6fSEmmanuel Vadot
8*84943d6fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
9*84943d6fSEmmanuel Vadot#include <dt-bindings/leds/common.h>
10*84943d6fSEmmanuel Vadot#include <dt-bindings/input/input.h>
11*84943d6fSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
12*84943d6fSEmmanuel Vadot#include <dt-bindings/usb/pd.h>
13*84943d6fSEmmanuel Vadot#include "rk3588.dtsi"
14*84943d6fSEmmanuel Vadot
15*84943d6fSEmmanuel Vadot/ {
16*84943d6fSEmmanuel Vadot	model = "Xunlong Orange Pi 5 Plus";
17*84943d6fSEmmanuel Vadot	compatible = "xunlong,orangepi-5-plus", "rockchip,rk3588";
18*84943d6fSEmmanuel Vadot
19*84943d6fSEmmanuel Vadot	aliases {
20*84943d6fSEmmanuel Vadot		mmc0 = &sdhci;
21*84943d6fSEmmanuel Vadot		mmc1 = &sdmmc;
22*84943d6fSEmmanuel Vadot	};
23*84943d6fSEmmanuel Vadot
24*84943d6fSEmmanuel Vadot	chosen {
25*84943d6fSEmmanuel Vadot		stdout-path = "serial2:1500000n8";
26*84943d6fSEmmanuel Vadot	};
27*84943d6fSEmmanuel Vadot
28*84943d6fSEmmanuel Vadot	adc-keys-0 {
29*84943d6fSEmmanuel Vadot		compatible = "adc-keys";
30*84943d6fSEmmanuel Vadot		io-channels = <&saradc 0>;
31*84943d6fSEmmanuel Vadot		io-channel-names = "buttons";
32*84943d6fSEmmanuel Vadot		keyup-threshold-microvolt = <1800000>;
33*84943d6fSEmmanuel Vadot		poll-interval = <100>;
34*84943d6fSEmmanuel Vadot
35*84943d6fSEmmanuel Vadot		button-maskrom {
36*84943d6fSEmmanuel Vadot			label = "Mask Rom";
37*84943d6fSEmmanuel Vadot			linux,code = <KEY_SETUP>;
38*84943d6fSEmmanuel Vadot			press-threshold-microvolt = <2000>;
39*84943d6fSEmmanuel Vadot		};
40*84943d6fSEmmanuel Vadot	};
41*84943d6fSEmmanuel Vadot
42*84943d6fSEmmanuel Vadot	adc-keys-1 {
43*84943d6fSEmmanuel Vadot		compatible = "adc-keys";
44*84943d6fSEmmanuel Vadot		io-channels = <&saradc 1>;
45*84943d6fSEmmanuel Vadot		io-channel-names = "buttons";
46*84943d6fSEmmanuel Vadot		keyup-threshold-microvolt = <1800000>;
47*84943d6fSEmmanuel Vadot		poll-interval = <100>;
48*84943d6fSEmmanuel Vadot
49*84943d6fSEmmanuel Vadot		button-recovery {
50*84943d6fSEmmanuel Vadot			label = "Recovery";
51*84943d6fSEmmanuel Vadot			linux,code = <KEY_VENDOR>;
52*84943d6fSEmmanuel Vadot			press-threshold-microvolt = <2000>;
53*84943d6fSEmmanuel Vadot		};
54*84943d6fSEmmanuel Vadot	};
55*84943d6fSEmmanuel Vadot
56*84943d6fSEmmanuel Vadot	speaker_amp: speaker-audio-amplifier {
57*84943d6fSEmmanuel Vadot		compatible = "simple-audio-amplifier";
58*84943d6fSEmmanuel Vadot		enable-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
59*84943d6fSEmmanuel Vadot		sound-name-prefix = "Speaker Amp";
60*84943d6fSEmmanuel Vadot	};
61*84943d6fSEmmanuel Vadot
62*84943d6fSEmmanuel Vadot	headphone_amp: headphones-audio-amplifier {
63*84943d6fSEmmanuel Vadot		compatible = "simple-audio-amplifier";
64*84943d6fSEmmanuel Vadot		enable-gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
65*84943d6fSEmmanuel Vadot		sound-name-prefix = "Headphones Amp";
66*84943d6fSEmmanuel Vadot	};
67*84943d6fSEmmanuel Vadot
68*84943d6fSEmmanuel Vadot	ir-receiver {
69*84943d6fSEmmanuel Vadot		compatible = "gpio-ir-receiver";
70*84943d6fSEmmanuel Vadot		gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
71*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
72*84943d6fSEmmanuel Vadot		pinctrl-0 = <&ir_receiver_pin>;
73*84943d6fSEmmanuel Vadot	};
74*84943d6fSEmmanuel Vadot
75*84943d6fSEmmanuel Vadot	gpio-leds {
76*84943d6fSEmmanuel Vadot		compatible = "gpio-leds";
77*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
78*84943d6fSEmmanuel Vadot		pinctrl-0 = <&blue_led_pin>;
79*84943d6fSEmmanuel Vadot
80*84943d6fSEmmanuel Vadot		led {
81*84943d6fSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
82*84943d6fSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
83*84943d6fSEmmanuel Vadot			function-enumerator = <1>;
84*84943d6fSEmmanuel Vadot			gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
85*84943d6fSEmmanuel Vadot		};
86*84943d6fSEmmanuel Vadot	};
87*84943d6fSEmmanuel Vadot
88*84943d6fSEmmanuel Vadot	fan: pwm-fan {
89*84943d6fSEmmanuel Vadot		compatible = "pwm-fan";
90*84943d6fSEmmanuel Vadot		cooling-levels = <0 70 75 80 100>;
91*84943d6fSEmmanuel Vadot		fan-supply = <&vcc5v0_sys>;
92*84943d6fSEmmanuel Vadot		pwms = <&pwm3 0 50000 0>;
93*84943d6fSEmmanuel Vadot		#cooling-cells = <2>;
94*84943d6fSEmmanuel Vadot	};
95*84943d6fSEmmanuel Vadot
96*84943d6fSEmmanuel Vadot	pwm-leds {
97*84943d6fSEmmanuel Vadot		compatible = "pwm-leds";
98*84943d6fSEmmanuel Vadot
99*84943d6fSEmmanuel Vadot		led {
100*84943d6fSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
101*84943d6fSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
102*84943d6fSEmmanuel Vadot			function-enumerator = <2>;
103*84943d6fSEmmanuel Vadot			max-brightness = <255>;
104*84943d6fSEmmanuel Vadot			pwms = <&pwm2 0 25000 0>;
105*84943d6fSEmmanuel Vadot		};
106*84943d6fSEmmanuel Vadot	};
107*84943d6fSEmmanuel Vadot
108*84943d6fSEmmanuel Vadot	sound {
109*84943d6fSEmmanuel Vadot		compatible = "simple-audio-card";
110*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
111*84943d6fSEmmanuel Vadot		pinctrl-0 = <&hp_detect>;
112*84943d6fSEmmanuel Vadot		simple-audio-card,name = "Analog";
113*84943d6fSEmmanuel Vadot		simple-audio-card,aux-devs = <&speaker_amp>, <&headphone_amp>;
114*84943d6fSEmmanuel Vadot		simple-audio-card,format = "i2s";
115*84943d6fSEmmanuel Vadot		simple-audio-card,mclk-fs = <256>;
116*84943d6fSEmmanuel Vadot		simple-audio-card,hp-det-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_LOW>;
117*84943d6fSEmmanuel Vadot		simple-audio-card,bitclock-master = <&daicpu>;
118*84943d6fSEmmanuel Vadot		simple-audio-card,frame-master = <&daicpu>;
119*84943d6fSEmmanuel Vadot		/*TODO: SARADC_IN3 is used as MIC detection / key input */
120*84943d6fSEmmanuel Vadot
121*84943d6fSEmmanuel Vadot		simple-audio-card,widgets =
122*84943d6fSEmmanuel Vadot			"Microphone", "Onboard Microphone",
123*84943d6fSEmmanuel Vadot			"Microphone", "Microphone Jack",
124*84943d6fSEmmanuel Vadot			"Speaker", "Speaker",
125*84943d6fSEmmanuel Vadot			"Headphone", "Headphones";
126*84943d6fSEmmanuel Vadot
127*84943d6fSEmmanuel Vadot		simple-audio-card,routing =
128*84943d6fSEmmanuel Vadot			"Headphones", "LOUT1",
129*84943d6fSEmmanuel Vadot			"Headphones", "ROUT1",
130*84943d6fSEmmanuel Vadot			"Speaker", "LOUT2",
131*84943d6fSEmmanuel Vadot			"Speaker", "ROUT2",
132*84943d6fSEmmanuel Vadot
133*84943d6fSEmmanuel Vadot			"Headphones", "Headphones Amp OUTL",
134*84943d6fSEmmanuel Vadot			"Headphones", "Headphones Amp OUTR",
135*84943d6fSEmmanuel Vadot			"Headphones Amp INL", "LOUT1",
136*84943d6fSEmmanuel Vadot			"Headphones Amp INR", "ROUT1",
137*84943d6fSEmmanuel Vadot
138*84943d6fSEmmanuel Vadot			"Speaker", "Speaker Amp OUTL",
139*84943d6fSEmmanuel Vadot			"Speaker", "Speaker Amp OUTR",
140*84943d6fSEmmanuel Vadot			"Speaker Amp INL", "LOUT2",
141*84943d6fSEmmanuel Vadot			"Speaker Amp INR", "ROUT2",
142*84943d6fSEmmanuel Vadot
143*84943d6fSEmmanuel Vadot			/* single ended signal to LINPUT1 */
144*84943d6fSEmmanuel Vadot			"LINPUT1", "Microphone Jack",
145*84943d6fSEmmanuel Vadot			"RINPUT1", "Microphone Jack",
146*84943d6fSEmmanuel Vadot			/* differential signal */
147*84943d6fSEmmanuel Vadot			"LINPUT2", "Onboard Microphone",
148*84943d6fSEmmanuel Vadot			"RINPUT2", "Onboard Microphone";
149*84943d6fSEmmanuel Vadot
150*84943d6fSEmmanuel Vadot		daicpu: simple-audio-card,cpu {
151*84943d6fSEmmanuel Vadot			sound-dai = <&i2s0_8ch>;
152*84943d6fSEmmanuel Vadot			system-clock-frequency = <12288000>;
153*84943d6fSEmmanuel Vadot		};
154*84943d6fSEmmanuel Vadot
155*84943d6fSEmmanuel Vadot		daicodec: simple-audio-card,codec {
156*84943d6fSEmmanuel Vadot			sound-dai = <&es8388>;
157*84943d6fSEmmanuel Vadot			system-clock-frequency = <12288000>;
158*84943d6fSEmmanuel Vadot		};
159*84943d6fSEmmanuel Vadot	};
160*84943d6fSEmmanuel Vadot
161*84943d6fSEmmanuel Vadot	vcc3v3_pcie30: vcc3v3-pcie30-regulator {
162*84943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
163*84943d6fSEmmanuel Vadot		enable-active-high;
164*84943d6fSEmmanuel Vadot		gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
165*84943d6fSEmmanuel Vadot		regulator-name = "vcc3v3_pcie30";
166*84943d6fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
167*84943d6fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
168*84943d6fSEmmanuel Vadot		startup-delay-us = <5000>;
169*84943d6fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
170*84943d6fSEmmanuel Vadot	};
171*84943d6fSEmmanuel Vadot
172*84943d6fSEmmanuel Vadot	vcc3v3_pcie_eth: vcc3v3-pcie-eth-regulator {
173*84943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
174*84943d6fSEmmanuel Vadot		gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
175*84943d6fSEmmanuel Vadot		regulator-name = "vcc3v3_pcie_eth";
176*84943d6fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
177*84943d6fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
178*84943d6fSEmmanuel Vadot		startup-delay-us = <50000>;
179*84943d6fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
180*84943d6fSEmmanuel Vadot	};
181*84943d6fSEmmanuel Vadot
182*84943d6fSEmmanuel Vadot	vcc3v3_wf: vcc3v3-wf-regulator {
183*84943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
184*84943d6fSEmmanuel Vadot		enable-active-high;
185*84943d6fSEmmanuel Vadot		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
186*84943d6fSEmmanuel Vadot		regulator-name = "vcc3v3_wf";
187*84943d6fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
188*84943d6fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
189*84943d6fSEmmanuel Vadot		startup-delay-us = <50000>;
190*84943d6fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
191*84943d6fSEmmanuel Vadot	};
192*84943d6fSEmmanuel Vadot
193*84943d6fSEmmanuel Vadot	vcc5v0_sys: vcc5v0-sys-regulator {
194*84943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
195*84943d6fSEmmanuel Vadot		regulator-name = "vcc5v0_sys";
196*84943d6fSEmmanuel Vadot		regulator-always-on;
197*84943d6fSEmmanuel Vadot		regulator-boot-on;
198*84943d6fSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
199*84943d6fSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
200*84943d6fSEmmanuel Vadot	};
201*84943d6fSEmmanuel Vadot
202*84943d6fSEmmanuel Vadot	vcc5v0_usb20: vcc5v0-usb20-regulator {
203*84943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
204*84943d6fSEmmanuel Vadot		enable-active-high;
205*84943d6fSEmmanuel Vadot		gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
206*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
207*84943d6fSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_usb20_en>;
208*84943d6fSEmmanuel Vadot		regulator-name = "vcc5v0_usb20";
209*84943d6fSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
210*84943d6fSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
211*84943d6fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
212*84943d6fSEmmanuel Vadot	};
213*84943d6fSEmmanuel Vadot};
214*84943d6fSEmmanuel Vadot
215*84943d6fSEmmanuel Vadot&combphy0_ps {
216*84943d6fSEmmanuel Vadot	status = "okay";
217*84943d6fSEmmanuel Vadot};
218*84943d6fSEmmanuel Vadot
219*84943d6fSEmmanuel Vadot&combphy1_ps {
220*84943d6fSEmmanuel Vadot	status = "okay";
221*84943d6fSEmmanuel Vadot};
222*84943d6fSEmmanuel Vadot
223*84943d6fSEmmanuel Vadot&combphy2_psu {
224*84943d6fSEmmanuel Vadot	status = "okay";
225*84943d6fSEmmanuel Vadot};
226*84943d6fSEmmanuel Vadot
227*84943d6fSEmmanuel Vadot&cpu_b0 {
228*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
229*84943d6fSEmmanuel Vadot};
230*84943d6fSEmmanuel Vadot
231*84943d6fSEmmanuel Vadot&cpu_b1 {
232*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
233*84943d6fSEmmanuel Vadot};
234*84943d6fSEmmanuel Vadot
235*84943d6fSEmmanuel Vadot&cpu_b2 {
236*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
237*84943d6fSEmmanuel Vadot};
238*84943d6fSEmmanuel Vadot
239*84943d6fSEmmanuel Vadot&cpu_b3 {
240*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
241*84943d6fSEmmanuel Vadot};
242*84943d6fSEmmanuel Vadot
243*84943d6fSEmmanuel Vadot&cpu_l0 {
244*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
245*84943d6fSEmmanuel Vadot};
246*84943d6fSEmmanuel Vadot
247*84943d6fSEmmanuel Vadot&cpu_l1 {
248*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
249*84943d6fSEmmanuel Vadot};
250*84943d6fSEmmanuel Vadot
251*84943d6fSEmmanuel Vadot&cpu_l2 {
252*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
253*84943d6fSEmmanuel Vadot};
254*84943d6fSEmmanuel Vadot
255*84943d6fSEmmanuel Vadot&cpu_l3 {
256*84943d6fSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
257*84943d6fSEmmanuel Vadot};
258*84943d6fSEmmanuel Vadot
259*84943d6fSEmmanuel Vadot&i2c0 {
260*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
261*84943d6fSEmmanuel Vadot	pinctrl-0 = <&i2c0m2_xfer>;
262*84943d6fSEmmanuel Vadot	status = "okay";
263*84943d6fSEmmanuel Vadot
264*84943d6fSEmmanuel Vadot	vdd_cpu_big0_s0: regulator@42 {
265*84943d6fSEmmanuel Vadot		compatible = "rockchip,rk8602";
266*84943d6fSEmmanuel Vadot		reg = <0x42>;
267*84943d6fSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
268*84943d6fSEmmanuel Vadot		regulator-name = "vdd_cpu_big0_s0";
269*84943d6fSEmmanuel Vadot		regulator-always-on;
270*84943d6fSEmmanuel Vadot		regulator-boot-on;
271*84943d6fSEmmanuel Vadot		regulator-min-microvolt = <550000>;
272*84943d6fSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
273*84943d6fSEmmanuel Vadot		regulator-ramp-delay = <2300>;
274*84943d6fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
275*84943d6fSEmmanuel Vadot
276*84943d6fSEmmanuel Vadot		regulator-state-mem {
277*84943d6fSEmmanuel Vadot			regulator-off-in-suspend;
278*84943d6fSEmmanuel Vadot		};
279*84943d6fSEmmanuel Vadot	};
280*84943d6fSEmmanuel Vadot
281*84943d6fSEmmanuel Vadot	vdd_cpu_big1_s0: regulator@43 {
282*84943d6fSEmmanuel Vadot		compatible = "rockchip,rk8603", "rockchip,rk8602";
283*84943d6fSEmmanuel Vadot		reg = <0x43>;
284*84943d6fSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
285*84943d6fSEmmanuel Vadot		regulator-name = "vdd_cpu_big1_s0";
286*84943d6fSEmmanuel Vadot		regulator-always-on;
287*84943d6fSEmmanuel Vadot		regulator-boot-on;
288*84943d6fSEmmanuel Vadot		regulator-min-microvolt = <550000>;
289*84943d6fSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
290*84943d6fSEmmanuel Vadot		regulator-ramp-delay = <2300>;
291*84943d6fSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
292*84943d6fSEmmanuel Vadot
293*84943d6fSEmmanuel Vadot		regulator-state-mem {
294*84943d6fSEmmanuel Vadot			regulator-off-in-suspend;
295*84943d6fSEmmanuel Vadot		};
296*84943d6fSEmmanuel Vadot	};
297*84943d6fSEmmanuel Vadot};
298*84943d6fSEmmanuel Vadot
299*84943d6fSEmmanuel Vadot&i2c6 {
300*84943d6fSEmmanuel Vadot	clock-frequency = <400000>;
301*84943d6fSEmmanuel Vadot	status = "okay";
302*84943d6fSEmmanuel Vadot
303*84943d6fSEmmanuel Vadot	hym8563: rtc@51 {
304*84943d6fSEmmanuel Vadot		compatible = "haoyu,hym8563";
305*84943d6fSEmmanuel Vadot		reg = <0x51>;
306*84943d6fSEmmanuel Vadot		interrupt-parent = <&gpio0>;
307*84943d6fSEmmanuel Vadot		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
308*84943d6fSEmmanuel Vadot		#clock-cells = <0>;
309*84943d6fSEmmanuel Vadot		clock-output-names = "hym8563";
310*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
311*84943d6fSEmmanuel Vadot		pinctrl-0 = <&hym8563_int>;
312*84943d6fSEmmanuel Vadot		wakeup-source;
313*84943d6fSEmmanuel Vadot	};
314*84943d6fSEmmanuel Vadot};
315*84943d6fSEmmanuel Vadot
316*84943d6fSEmmanuel Vadot&i2c7 {
317*84943d6fSEmmanuel Vadot	status = "okay";
318*84943d6fSEmmanuel Vadot
319*84943d6fSEmmanuel Vadot	/* PLDO2 vcca 1.8V, BUCK8 gated by PLDO2 being enabled */
320*84943d6fSEmmanuel Vadot	es8388: audio-codec@11 {
321*84943d6fSEmmanuel Vadot		compatible = "everest,es8388";
322*84943d6fSEmmanuel Vadot		reg = <0x11>;
323*84943d6fSEmmanuel Vadot		clocks = <&cru I2S0_8CH_MCLKOUT>;
324*84943d6fSEmmanuel Vadot		clock-names = "mclk";
325*84943d6fSEmmanuel Vadot		AVDD-supply = <&vcc_1v8_s0>;
326*84943d6fSEmmanuel Vadot		DVDD-supply = <&vcc_1v8_s0>;
327*84943d6fSEmmanuel Vadot		HPVDD-supply = <&vcc_3v3_s0>;
328*84943d6fSEmmanuel Vadot		PVDD-supply = <&vcc_3v3_s0>;
329*84943d6fSEmmanuel Vadot		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
330*84943d6fSEmmanuel Vadot		assigned-clock-rates = <12288000>;
331*84943d6fSEmmanuel Vadot		#sound-dai-cells = <0>;
332*84943d6fSEmmanuel Vadot	};
333*84943d6fSEmmanuel Vadot};
334*84943d6fSEmmanuel Vadot
335*84943d6fSEmmanuel Vadot&i2s0_8ch {
336*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
337*84943d6fSEmmanuel Vadot	pinctrl-0 = <&i2s0_lrck
338*84943d6fSEmmanuel Vadot		     &i2s0_mclk
339*84943d6fSEmmanuel Vadot		     &i2s0_sclk
340*84943d6fSEmmanuel Vadot		     &i2s0_sdi0
341*84943d6fSEmmanuel Vadot		     &i2s0_sdo0>;
342*84943d6fSEmmanuel Vadot	status = "okay";
343*84943d6fSEmmanuel Vadot};
344*84943d6fSEmmanuel Vadot
345*84943d6fSEmmanuel Vadot&i2s2_2ch {
346*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
347*84943d6fSEmmanuel Vadot	pinctrl-0 = <&i2s2m0_lrck
348*84943d6fSEmmanuel Vadot		     &i2s2m0_sclk
349*84943d6fSEmmanuel Vadot		     &i2s2m0_sdi
350*84943d6fSEmmanuel Vadot		     &i2s2m0_sdo>;
351*84943d6fSEmmanuel Vadot	status = "okay";
352*84943d6fSEmmanuel Vadot};
353*84943d6fSEmmanuel Vadot
354*84943d6fSEmmanuel Vadot/* phy1 - M.KEY socket */
355*84943d6fSEmmanuel Vadot&pcie2x1l0 {
356*84943d6fSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
357*84943d6fSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_wf>;
358*84943d6fSEmmanuel Vadot	status = "okay";
359*84943d6fSEmmanuel Vadot};
360*84943d6fSEmmanuel Vadot
361*84943d6fSEmmanuel Vadot/* phy2 - right ethernet port */
362*84943d6fSEmmanuel Vadot&pcie2x1l1 {
363*84943d6fSEmmanuel Vadot	reset-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
364*84943d6fSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
365*84943d6fSEmmanuel Vadot	status = "okay";
366*84943d6fSEmmanuel Vadot};
367*84943d6fSEmmanuel Vadot
368*84943d6fSEmmanuel Vadot/* phy0 - left ethernet port */
369*84943d6fSEmmanuel Vadot&pcie2x1l2 {
370*84943d6fSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
371*84943d6fSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
372*84943d6fSEmmanuel Vadot	status = "okay";
373*84943d6fSEmmanuel Vadot};
374*84943d6fSEmmanuel Vadot
375*84943d6fSEmmanuel Vadot&pcie30phy {
376*84943d6fSEmmanuel Vadot	status = "okay";
377*84943d6fSEmmanuel Vadot};
378*84943d6fSEmmanuel Vadot
379*84943d6fSEmmanuel Vadot&pcie3x4 {
380*84943d6fSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
381*84943d6fSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie30>;
382*84943d6fSEmmanuel Vadot	status = "okay";
383*84943d6fSEmmanuel Vadot};
384*84943d6fSEmmanuel Vadot
385*84943d6fSEmmanuel Vadot&pinctrl {
386*84943d6fSEmmanuel Vadot	hym8563 {
387*84943d6fSEmmanuel Vadot		hym8563_int: hym8563-int {
388*84943d6fSEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
389*84943d6fSEmmanuel Vadot		};
390*84943d6fSEmmanuel Vadot	};
391*84943d6fSEmmanuel Vadot
392*84943d6fSEmmanuel Vadot	leds {
393*84943d6fSEmmanuel Vadot		blue_led_pin: blue-led {
394*84943d6fSEmmanuel Vadot			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
395*84943d6fSEmmanuel Vadot		};
396*84943d6fSEmmanuel Vadot	};
397*84943d6fSEmmanuel Vadot
398*84943d6fSEmmanuel Vadot	ir-receiver {
399*84943d6fSEmmanuel Vadot		ir_receiver_pin: ir-receiver-pin {
400*84943d6fSEmmanuel Vadot			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
401*84943d6fSEmmanuel Vadot		};
402*84943d6fSEmmanuel Vadot	};
403*84943d6fSEmmanuel Vadot
404*84943d6fSEmmanuel Vadot	sound {
405*84943d6fSEmmanuel Vadot		hp_detect: hp-detect {
406*84943d6fSEmmanuel Vadot			rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
407*84943d6fSEmmanuel Vadot		};
408*84943d6fSEmmanuel Vadot	};
409*84943d6fSEmmanuel Vadot
410*84943d6fSEmmanuel Vadot	usb {
411*84943d6fSEmmanuel Vadot		vcc5v0_usb20_en: vcc5v0-usb20-en {
412*84943d6fSEmmanuel Vadot			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
413*84943d6fSEmmanuel Vadot		};
414*84943d6fSEmmanuel Vadot	};
415*84943d6fSEmmanuel Vadot};
416*84943d6fSEmmanuel Vadot
417*84943d6fSEmmanuel Vadot&pwm2 {
418*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pwm2m1_pins>;
419*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
420*84943d6fSEmmanuel Vadot	status = "okay";
421*84943d6fSEmmanuel Vadot};
422*84943d6fSEmmanuel Vadot
423*84943d6fSEmmanuel Vadot&pwm3 {
424*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pwm3m1_pins>;
425*84943d6fSEmmanuel Vadot	status = "okay";
426*84943d6fSEmmanuel Vadot};
427*84943d6fSEmmanuel Vadot
428*84943d6fSEmmanuel Vadot&saradc {
429*84943d6fSEmmanuel Vadot	vref-supply = <&vcc_1v8_s0>;
430*84943d6fSEmmanuel Vadot	status = "okay";
431*84943d6fSEmmanuel Vadot};
432*84943d6fSEmmanuel Vadot
433*84943d6fSEmmanuel Vadot&sdhci {
434*84943d6fSEmmanuel Vadot	bus-width = <8>;
435*84943d6fSEmmanuel Vadot	no-sdio;
436*84943d6fSEmmanuel Vadot	no-sd;
437*84943d6fSEmmanuel Vadot	non-removable;
438*84943d6fSEmmanuel Vadot	max-frequency = <200000000>;
439*84943d6fSEmmanuel Vadot	mmc-hs400-1_8v;
440*84943d6fSEmmanuel Vadot	mmc-hs400-enhanced-strobe;
441*84943d6fSEmmanuel Vadot	status = "okay";
442*84943d6fSEmmanuel Vadot};
443*84943d6fSEmmanuel Vadot
444*84943d6fSEmmanuel Vadot&sdmmc {
445*84943d6fSEmmanuel Vadot	bus-width = <4>;
446*84943d6fSEmmanuel Vadot	cap-sd-highspeed;
447*84943d6fSEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
448*84943d6fSEmmanuel Vadot	disable-wp;
449*84943d6fSEmmanuel Vadot	max-frequency = <150000000>;
450*84943d6fSEmmanuel Vadot	no-sdio;
451*84943d6fSEmmanuel Vadot	no-mmc;
452*84943d6fSEmmanuel Vadot	sd-uhs-sdr104;
453*84943d6fSEmmanuel Vadot	vmmc-supply = <&vcc_3v3_s3>;
454*84943d6fSEmmanuel Vadot	vqmmc-supply = <&vccio_sd_s0>;
455*84943d6fSEmmanuel Vadot	status = "okay";
456*84943d6fSEmmanuel Vadot};
457*84943d6fSEmmanuel Vadot
458*84943d6fSEmmanuel Vadot&sfc {
459*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
460*84943d6fSEmmanuel Vadot	pinctrl-0 = <&fspim1_pins>;
461*84943d6fSEmmanuel Vadot	status = "okay";
462*84943d6fSEmmanuel Vadot
463*84943d6fSEmmanuel Vadot	spi_flash: flash@0 {
464*84943d6fSEmmanuel Vadot		compatible = "jedec,spi-nor";
465*84943d6fSEmmanuel Vadot		reg = <0x0>;
466*84943d6fSEmmanuel Vadot		spi-max-frequency = <100000000>;
467*84943d6fSEmmanuel Vadot		spi-rx-bus-width = <4>;
468*84943d6fSEmmanuel Vadot		spi-tx-bus-width = <1>;
469*84943d6fSEmmanuel Vadot	};
470*84943d6fSEmmanuel Vadot};
471*84943d6fSEmmanuel Vadot
472*84943d6fSEmmanuel Vadot&spi2 {
473*84943d6fSEmmanuel Vadot	assigned-clocks = <&cru CLK_SPI2>;
474*84943d6fSEmmanuel Vadot	assigned-clock-rates = <200000000>;
475*84943d6fSEmmanuel Vadot	num-cs = <1>;
476*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
477*84943d6fSEmmanuel Vadot	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
478*84943d6fSEmmanuel Vadot	status = "okay";
479*84943d6fSEmmanuel Vadot
480*84943d6fSEmmanuel Vadot	pmic@0 {
481*84943d6fSEmmanuel Vadot		compatible = "rockchip,rk806";
482*84943d6fSEmmanuel Vadot		reg = <0x0>;
483*84943d6fSEmmanuel Vadot		interrupt-parent = <&gpio0>;
484*84943d6fSEmmanuel Vadot		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
485*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
486*84943d6fSEmmanuel Vadot		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
487*84943d6fSEmmanuel Vadot			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
488*84943d6fSEmmanuel Vadot		spi-max-frequency = <1000000>;
489*84943d6fSEmmanuel Vadot
490*84943d6fSEmmanuel Vadot		vcc1-supply = <&vcc5v0_sys>;
491*84943d6fSEmmanuel Vadot		vcc2-supply = <&vcc5v0_sys>;
492*84943d6fSEmmanuel Vadot		vcc3-supply = <&vcc5v0_sys>;
493*84943d6fSEmmanuel Vadot		vcc4-supply = <&vcc5v0_sys>;
494*84943d6fSEmmanuel Vadot		vcc5-supply = <&vcc5v0_sys>;
495*84943d6fSEmmanuel Vadot		vcc6-supply = <&vcc5v0_sys>;
496*84943d6fSEmmanuel Vadot		vcc7-supply = <&vcc5v0_sys>;
497*84943d6fSEmmanuel Vadot		vcc8-supply = <&vcc5v0_sys>;
498*84943d6fSEmmanuel Vadot		vcc9-supply = <&vcc5v0_sys>;
499*84943d6fSEmmanuel Vadot		vcc10-supply = <&vcc5v0_sys>;
500*84943d6fSEmmanuel Vadot		vcc11-supply = <&vcc_2v0_pldo_s3>;
501*84943d6fSEmmanuel Vadot		vcc12-supply = <&vcc5v0_sys>;
502*84943d6fSEmmanuel Vadot		vcc13-supply = <&vdd2_ddr_s3>;
503*84943d6fSEmmanuel Vadot		vcc14-supply = <&vdd2_ddr_s3>;
504*84943d6fSEmmanuel Vadot		vcca-supply = <&vcc5v0_sys>;
505*84943d6fSEmmanuel Vadot
506*84943d6fSEmmanuel Vadot		gpio-controller;
507*84943d6fSEmmanuel Vadot		#gpio-cells = <2>;
508*84943d6fSEmmanuel Vadot
509*84943d6fSEmmanuel Vadot		rk806_dvs1_null: dvs1-null-pins {
510*84943d6fSEmmanuel Vadot			pins = "gpio_pwrctrl2";
511*84943d6fSEmmanuel Vadot			function = "pin_fun0";
512*84943d6fSEmmanuel Vadot		};
513*84943d6fSEmmanuel Vadot
514*84943d6fSEmmanuel Vadot		rk806_dvs2_null: dvs2-null-pins {
515*84943d6fSEmmanuel Vadot			pins = "gpio_pwrctrl2";
516*84943d6fSEmmanuel Vadot			function = "pin_fun0";
517*84943d6fSEmmanuel Vadot		};
518*84943d6fSEmmanuel Vadot
519*84943d6fSEmmanuel Vadot		rk806_dvs3_null: dvs3-null-pins {
520*84943d6fSEmmanuel Vadot			pins = "gpio_pwrctrl3";
521*84943d6fSEmmanuel Vadot			function = "pin_fun0";
522*84943d6fSEmmanuel Vadot		};
523*84943d6fSEmmanuel Vadot
524*84943d6fSEmmanuel Vadot		regulators {
525*84943d6fSEmmanuel Vadot			vdd_gpu_s0: dcdc-reg1 {
526*84943d6fSEmmanuel Vadot				regulator-name = "vdd_gpu_s0";
527*84943d6fSEmmanuel Vadot				regulator-boot-on;
528*84943d6fSEmmanuel Vadot				regulator-enable-ramp-delay = <400>;
529*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <550000>;
530*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <950000>;
531*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
532*84943d6fSEmmanuel Vadot
533*84943d6fSEmmanuel Vadot				regulator-state-mem {
534*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
535*84943d6fSEmmanuel Vadot				};
536*84943d6fSEmmanuel Vadot			};
537*84943d6fSEmmanuel Vadot
538*84943d6fSEmmanuel Vadot			vdd_cpu_lit_s0: dcdc-reg2 {
539*84943d6fSEmmanuel Vadot				regulator-name = "vdd_cpu_lit_s0";
540*84943d6fSEmmanuel Vadot				regulator-always-on;
541*84943d6fSEmmanuel Vadot				regulator-boot-on;
542*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <550000>;
543*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <950000>;
544*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
545*84943d6fSEmmanuel Vadot
546*84943d6fSEmmanuel Vadot				regulator-state-mem {
547*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
548*84943d6fSEmmanuel Vadot				};
549*84943d6fSEmmanuel Vadot			};
550*84943d6fSEmmanuel Vadot
551*84943d6fSEmmanuel Vadot			vdd_log_s0: dcdc-reg3 {
552*84943d6fSEmmanuel Vadot				regulator-name = "vdd_log_s0";
553*84943d6fSEmmanuel Vadot				regulator-always-on;
554*84943d6fSEmmanuel Vadot				regulator-boot-on;
555*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <675000>;
556*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <825000>;
557*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
558*84943d6fSEmmanuel Vadot
559*84943d6fSEmmanuel Vadot				regulator-state-mem {
560*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
561*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
562*84943d6fSEmmanuel Vadot				};
563*84943d6fSEmmanuel Vadot			};
564*84943d6fSEmmanuel Vadot
565*84943d6fSEmmanuel Vadot			vdd_vdenc_s0: dcdc-reg4 {
566*84943d6fSEmmanuel Vadot				regulator-name = "vdd_vdenc_s0";
567*84943d6fSEmmanuel Vadot				regulator-always-on;
568*84943d6fSEmmanuel Vadot				regulator-boot-on;
569*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <550000>;
570*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <825000>;
571*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
572*84943d6fSEmmanuel Vadot
573*84943d6fSEmmanuel Vadot				regulator-state-mem {
574*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
575*84943d6fSEmmanuel Vadot				};
576*84943d6fSEmmanuel Vadot			};
577*84943d6fSEmmanuel Vadot
578*84943d6fSEmmanuel Vadot			vdd_ddr_s0: dcdc-reg5 {
579*84943d6fSEmmanuel Vadot				regulator-name = "vdd_ddr_s0";
580*84943d6fSEmmanuel Vadot				regulator-always-on;
581*84943d6fSEmmanuel Vadot				regulator-boot-on;
582*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <675000>;
583*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <900000>;
584*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
585*84943d6fSEmmanuel Vadot
586*84943d6fSEmmanuel Vadot				regulator-state-mem {
587*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
588*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
589*84943d6fSEmmanuel Vadot				};
590*84943d6fSEmmanuel Vadot			};
591*84943d6fSEmmanuel Vadot
592*84943d6fSEmmanuel Vadot			vdd2_ddr_s3: dcdc-reg6 {
593*84943d6fSEmmanuel Vadot				regulator-name = "vdd2_ddr_s3";
594*84943d6fSEmmanuel Vadot				regulator-always-on;
595*84943d6fSEmmanuel Vadot				regulator-boot-on;
596*84943d6fSEmmanuel Vadot
597*84943d6fSEmmanuel Vadot				regulator-state-mem {
598*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
599*84943d6fSEmmanuel Vadot				};
600*84943d6fSEmmanuel Vadot			};
601*84943d6fSEmmanuel Vadot
602*84943d6fSEmmanuel Vadot			vcc_2v0_pldo_s3: dcdc-reg7 {
603*84943d6fSEmmanuel Vadot				regulator-name = "vdd_2v0_pldo_s3";
604*84943d6fSEmmanuel Vadot				regulator-always-on;
605*84943d6fSEmmanuel Vadot				regulator-boot-on;
606*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <2000000>;
607*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <2000000>;
608*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
609*84943d6fSEmmanuel Vadot
610*84943d6fSEmmanuel Vadot				regulator-state-mem {
611*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
612*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <2000000>;
613*84943d6fSEmmanuel Vadot				};
614*84943d6fSEmmanuel Vadot			};
615*84943d6fSEmmanuel Vadot
616*84943d6fSEmmanuel Vadot			vcc_3v3_s3: dcdc-reg8 {
617*84943d6fSEmmanuel Vadot				regulator-name = "vcc_3v3_s3";
618*84943d6fSEmmanuel Vadot				regulator-always-on;
619*84943d6fSEmmanuel Vadot				regulator-boot-on;
620*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
621*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
622*84943d6fSEmmanuel Vadot
623*84943d6fSEmmanuel Vadot				regulator-state-mem {
624*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
625*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
626*84943d6fSEmmanuel Vadot				};
627*84943d6fSEmmanuel Vadot			};
628*84943d6fSEmmanuel Vadot
629*84943d6fSEmmanuel Vadot			vddq_ddr_s0: dcdc-reg9 {
630*84943d6fSEmmanuel Vadot				regulator-name = "vddq_ddr_s0";
631*84943d6fSEmmanuel Vadot				regulator-always-on;
632*84943d6fSEmmanuel Vadot				regulator-boot-on;
633*84943d6fSEmmanuel Vadot
634*84943d6fSEmmanuel Vadot				regulator-state-mem {
635*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
636*84943d6fSEmmanuel Vadot				};
637*84943d6fSEmmanuel Vadot			};
638*84943d6fSEmmanuel Vadot
639*84943d6fSEmmanuel Vadot			vcc_1v8_s3: dcdc-reg10 {
640*84943d6fSEmmanuel Vadot				regulator-name = "vcc_1v8_s3";
641*84943d6fSEmmanuel Vadot				regulator-always-on;
642*84943d6fSEmmanuel Vadot				regulator-boot-on;
643*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
644*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
645*84943d6fSEmmanuel Vadot
646*84943d6fSEmmanuel Vadot				regulator-state-mem {
647*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
648*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
649*84943d6fSEmmanuel Vadot				};
650*84943d6fSEmmanuel Vadot			};
651*84943d6fSEmmanuel Vadot
652*84943d6fSEmmanuel Vadot			avcc_1v8_s0: pldo-reg1 {
653*84943d6fSEmmanuel Vadot				regulator-name = "avcc_1v8_s0";
654*84943d6fSEmmanuel Vadot				regulator-always-on;
655*84943d6fSEmmanuel Vadot				regulator-boot-on;
656*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
657*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
658*84943d6fSEmmanuel Vadot
659*84943d6fSEmmanuel Vadot				regulator-state-mem {
660*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
661*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
662*84943d6fSEmmanuel Vadot				};
663*84943d6fSEmmanuel Vadot			};
664*84943d6fSEmmanuel Vadot
665*84943d6fSEmmanuel Vadot			/* shorted to avcc_1v8_s0 on the board */
666*84943d6fSEmmanuel Vadot			vcc_1v8_s0: pldo-reg2 {
667*84943d6fSEmmanuel Vadot				regulator-name = "vcc_1v8_s0";
668*84943d6fSEmmanuel Vadot				regulator-always-on;
669*84943d6fSEmmanuel Vadot				regulator-boot-on;
670*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
671*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
672*84943d6fSEmmanuel Vadot
673*84943d6fSEmmanuel Vadot				regulator-state-mem {
674*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
675*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
676*84943d6fSEmmanuel Vadot				};
677*84943d6fSEmmanuel Vadot			};
678*84943d6fSEmmanuel Vadot
679*84943d6fSEmmanuel Vadot			avdd_1v2_s0: pldo-reg3 {
680*84943d6fSEmmanuel Vadot				regulator-name = "avdd_1v2_s0";
681*84943d6fSEmmanuel Vadot				regulator-always-on;
682*84943d6fSEmmanuel Vadot				regulator-boot-on;
683*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
684*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
685*84943d6fSEmmanuel Vadot
686*84943d6fSEmmanuel Vadot				regulator-state-mem {
687*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
688*84943d6fSEmmanuel Vadot				};
689*84943d6fSEmmanuel Vadot			};
690*84943d6fSEmmanuel Vadot
691*84943d6fSEmmanuel Vadot			vcc_3v3_s0: pldo-reg4 {
692*84943d6fSEmmanuel Vadot				regulator-name = "vcc_3v3_s0";
693*84943d6fSEmmanuel Vadot				regulator-always-on;
694*84943d6fSEmmanuel Vadot				regulator-boot-on;
695*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
696*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
697*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
698*84943d6fSEmmanuel Vadot
699*84943d6fSEmmanuel Vadot				regulator-state-mem {
700*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
701*84943d6fSEmmanuel Vadot				};
702*84943d6fSEmmanuel Vadot			};
703*84943d6fSEmmanuel Vadot
704*84943d6fSEmmanuel Vadot			vccio_sd_s0: pldo-reg5 {
705*84943d6fSEmmanuel Vadot				regulator-name = "vccio_sd_s0";
706*84943d6fSEmmanuel Vadot				regulator-always-on;
707*84943d6fSEmmanuel Vadot				regulator-boot-on;
708*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
709*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
710*84943d6fSEmmanuel Vadot				regulator-ramp-delay = <12500>;
711*84943d6fSEmmanuel Vadot
712*84943d6fSEmmanuel Vadot				regulator-state-mem {
713*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
714*84943d6fSEmmanuel Vadot				};
715*84943d6fSEmmanuel Vadot			};
716*84943d6fSEmmanuel Vadot
717*84943d6fSEmmanuel Vadot			pldo6_s3: pldo-reg6 {
718*84943d6fSEmmanuel Vadot				regulator-name = "pldo6_s3";
719*84943d6fSEmmanuel Vadot				regulator-always-on;
720*84943d6fSEmmanuel Vadot				regulator-boot-on;
721*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
722*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
723*84943d6fSEmmanuel Vadot
724*84943d6fSEmmanuel Vadot				regulator-state-mem {
725*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
726*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
727*84943d6fSEmmanuel Vadot				};
728*84943d6fSEmmanuel Vadot			};
729*84943d6fSEmmanuel Vadot
730*84943d6fSEmmanuel Vadot			vdd_0v75_s3: nldo-reg1 {
731*84943d6fSEmmanuel Vadot				regulator-name = "vdd_0v75_s3";
732*84943d6fSEmmanuel Vadot				regulator-always-on;
733*84943d6fSEmmanuel Vadot				regulator-boot-on;
734*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <750000>;
735*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <750000>;
736*84943d6fSEmmanuel Vadot
737*84943d6fSEmmanuel Vadot				regulator-state-mem {
738*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
739*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
740*84943d6fSEmmanuel Vadot				};
741*84943d6fSEmmanuel Vadot			};
742*84943d6fSEmmanuel Vadot
743*84943d6fSEmmanuel Vadot			vdd_ddr_pll_s0: nldo-reg2 {
744*84943d6fSEmmanuel Vadot				regulator-name = "vdd_ddr_pll_s0";
745*84943d6fSEmmanuel Vadot				regulator-always-on;
746*84943d6fSEmmanuel Vadot				regulator-boot-on;
747*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <850000>;
748*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <850000>;
749*84943d6fSEmmanuel Vadot
750*84943d6fSEmmanuel Vadot				regulator-state-mem {
751*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
752*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
753*84943d6fSEmmanuel Vadot				};
754*84943d6fSEmmanuel Vadot			};
755*84943d6fSEmmanuel Vadot
756*84943d6fSEmmanuel Vadot			avdd_0v75_s0: nldo-reg3 {
757*84943d6fSEmmanuel Vadot				regulator-name = "avdd_0v75_s0";
758*84943d6fSEmmanuel Vadot				regulator-always-on;
759*84943d6fSEmmanuel Vadot				regulator-boot-on;
760*84943d6fSEmmanuel Vadot				/*
761*84943d6fSEmmanuel Vadot				 * The schematic mentions that actual setting
762*84943d6fSEmmanuel Vadot				 * should be 0.8375V. RK3588 datasheet specifies
763*84943d6fSEmmanuel Vadot				 * maximum as 0.825V. So we set datasheet max
764*84943d6fSEmmanuel Vadot				 * here.
765*84943d6fSEmmanuel Vadot				 */
766*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <825000>;
767*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <825000>;
768*84943d6fSEmmanuel Vadot
769*84943d6fSEmmanuel Vadot				regulator-state-mem {
770*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
771*84943d6fSEmmanuel Vadot				};
772*84943d6fSEmmanuel Vadot			};
773*84943d6fSEmmanuel Vadot
774*84943d6fSEmmanuel Vadot			vdd_0v85_s0: nldo-reg4 {
775*84943d6fSEmmanuel Vadot				regulator-name = "vdd_0v85_s0";
776*84943d6fSEmmanuel Vadot				regulator-always-on;
777*84943d6fSEmmanuel Vadot				regulator-boot-on;
778*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <850000>;
779*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <850000>;
780*84943d6fSEmmanuel Vadot
781*84943d6fSEmmanuel Vadot				regulator-state-mem {
782*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
783*84943d6fSEmmanuel Vadot				};
784*84943d6fSEmmanuel Vadot			};
785*84943d6fSEmmanuel Vadot
786*84943d6fSEmmanuel Vadot			vdd_0v75_s0: nldo-reg5 {
787*84943d6fSEmmanuel Vadot				regulator-name = "vdd_0v75_s0";
788*84943d6fSEmmanuel Vadot				regulator-always-on;
789*84943d6fSEmmanuel Vadot				regulator-boot-on;
790*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <750000>;
791*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <750000>;
792*84943d6fSEmmanuel Vadot
793*84943d6fSEmmanuel Vadot				regulator-state-mem {
794*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
795*84943d6fSEmmanuel Vadot				};
796*84943d6fSEmmanuel Vadot			};
797*84943d6fSEmmanuel Vadot		};
798*84943d6fSEmmanuel Vadot	};
799*84943d6fSEmmanuel Vadot};
800*84943d6fSEmmanuel Vadot
801*84943d6fSEmmanuel Vadot&tsadc {
802*84943d6fSEmmanuel Vadot	status = "okay";
803*84943d6fSEmmanuel Vadot};
804*84943d6fSEmmanuel Vadot
805*84943d6fSEmmanuel Vadot&u2phy2 {
806*84943d6fSEmmanuel Vadot	status = "okay";
807*84943d6fSEmmanuel Vadot};
808*84943d6fSEmmanuel Vadot
809*84943d6fSEmmanuel Vadot&u2phy3 {
810*84943d6fSEmmanuel Vadot	status = "okay";
811*84943d6fSEmmanuel Vadot};
812*84943d6fSEmmanuel Vadot
813*84943d6fSEmmanuel Vadot&u2phy2_host {
814*84943d6fSEmmanuel Vadot	phy-supply = <&vcc5v0_usb20>;
815*84943d6fSEmmanuel Vadot	status = "okay";
816*84943d6fSEmmanuel Vadot};
817*84943d6fSEmmanuel Vadot
818*84943d6fSEmmanuel Vadot&u2phy3_host {
819*84943d6fSEmmanuel Vadot	phy-supply = <&vcc5v0_usb20>;
820*84943d6fSEmmanuel Vadot	status = "okay";
821*84943d6fSEmmanuel Vadot};
822*84943d6fSEmmanuel Vadot
823*84943d6fSEmmanuel Vadot&uart2 {
824*84943d6fSEmmanuel Vadot	pinctrl-0 = <&uart2m0_xfer>;
825*84943d6fSEmmanuel Vadot	status = "okay";
826*84943d6fSEmmanuel Vadot};
827*84943d6fSEmmanuel Vadot
828*84943d6fSEmmanuel Vadot&uart9 {
829*84943d6fSEmmanuel Vadot	pinctrl-0 = <&uart9m0_xfer>;
830*84943d6fSEmmanuel Vadot	status = "okay";
831*84943d6fSEmmanuel Vadot};
832*84943d6fSEmmanuel Vadot
833*84943d6fSEmmanuel Vadot&usb_host0_ehci {
834*84943d6fSEmmanuel Vadot	status = "okay";
835*84943d6fSEmmanuel Vadot};
836*84943d6fSEmmanuel Vadot
837*84943d6fSEmmanuel Vadot&usb_host0_ohci {
838*84943d6fSEmmanuel Vadot	status = "okay";
839*84943d6fSEmmanuel Vadot};
840*84943d6fSEmmanuel Vadot
841*84943d6fSEmmanuel Vadot&usb_host1_ehci {
842*84943d6fSEmmanuel Vadot	status = "okay";
843*84943d6fSEmmanuel Vadot};
844*84943d6fSEmmanuel Vadot
845*84943d6fSEmmanuel Vadot&usb_host1_ohci {
846*84943d6fSEmmanuel Vadot	status = "okay";
847*84943d6fSEmmanuel Vadot};
848