xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-jaguar.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*8d13bc63SEmmanuel Vadot/*
3*8d13bc63SEmmanuel Vadot * Copyright (c) 2023 Theobroma Systems Design und Consulting GmbH
4*8d13bc63SEmmanuel Vadot */
5*8d13bc63SEmmanuel Vadot
6*8d13bc63SEmmanuel Vadot/dts-v1/;
7*8d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
8*8d13bc63SEmmanuel Vadot#include <dt-bindings/input/input.h>
9*8d13bc63SEmmanuel Vadot#include <dt-bindings/leds/common.h>
10*8d13bc63SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
11*8d13bc63SEmmanuel Vadot#include <dt-bindings/usb/pd.h>
12*8d13bc63SEmmanuel Vadot#include "rk3588.dtsi"
13*8d13bc63SEmmanuel Vadot
14*8d13bc63SEmmanuel Vadot/ {
15*8d13bc63SEmmanuel Vadot	model = "Theobroma Systems RK3588-SBC Jaguar";
16*8d13bc63SEmmanuel Vadot	compatible = "tsd,rk3588-jaguar", "rockchip,rk3588";
17*8d13bc63SEmmanuel Vadot
18*8d13bc63SEmmanuel Vadot	adc-keys {
19*8d13bc63SEmmanuel Vadot		compatible = "adc-keys";
20*8d13bc63SEmmanuel Vadot		io-channels = <&saradc 0>;
21*8d13bc63SEmmanuel Vadot		io-channel-names = "buttons";
22*8d13bc63SEmmanuel Vadot		keyup-threshold-microvolt = <1800000>;
23*8d13bc63SEmmanuel Vadot		poll-interval = <100>;
24*8d13bc63SEmmanuel Vadot
25*8d13bc63SEmmanuel Vadot		/* Can be controlled through SW2 but also GPIO1 on CP2102 on P20 */
26*8d13bc63SEmmanuel Vadot		button-bios-disable {
27*8d13bc63SEmmanuel Vadot			label = "BIOS_DISABLE";
28*8d13bc63SEmmanuel Vadot			linux,code = <KEY_VENDOR>;
29*8d13bc63SEmmanuel Vadot			press-threshold-microvolt = <0>;
30*8d13bc63SEmmanuel Vadot		};
31*8d13bc63SEmmanuel Vadot	};
32*8d13bc63SEmmanuel Vadot
33*8d13bc63SEmmanuel Vadot	aliases {
34*8d13bc63SEmmanuel Vadot		ethernet0 = &gmac0;
35*8d13bc63SEmmanuel Vadot		mmc0 = &sdhci;
36*8d13bc63SEmmanuel Vadot		mmc1 = &sdmmc;
37*8d13bc63SEmmanuel Vadot		rtc0 = &rtc_twi;
38*8d13bc63SEmmanuel Vadot	};
39*8d13bc63SEmmanuel Vadot
40*8d13bc63SEmmanuel Vadot	chosen {
41*8d13bc63SEmmanuel Vadot		stdout-path = "serial2:115200n8";
42*8d13bc63SEmmanuel Vadot	};
43*8d13bc63SEmmanuel Vadot
44*8d13bc63SEmmanuel Vadot	/* DCIN is 12-24V but standard is 12V */
45*8d13bc63SEmmanuel Vadot	dc_12v: dc-12v-regulator {
46*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
47*8d13bc63SEmmanuel Vadot		regulator-name = "dc_12v";
48*8d13bc63SEmmanuel Vadot		regulator-always-on;
49*8d13bc63SEmmanuel Vadot		regulator-boot-on;
50*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
51*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
52*8d13bc63SEmmanuel Vadot	};
53*8d13bc63SEmmanuel Vadot
54*8d13bc63SEmmanuel Vadot	emmc_pwrseq: emmc-pwrseq {
55*8d13bc63SEmmanuel Vadot		compatible = "mmc-pwrseq-emmc";
56*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&emmc_reset>;
57*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
58*8d13bc63SEmmanuel Vadot		reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
59*8d13bc63SEmmanuel Vadot	};
60*8d13bc63SEmmanuel Vadot
61*8d13bc63SEmmanuel Vadot	leds {
62*8d13bc63SEmmanuel Vadot		compatible = "gpio-leds";
63*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
64*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&led1_pin>;
65*8d13bc63SEmmanuel Vadot
66*8d13bc63SEmmanuel Vadot		/* LED1 on PCB */
67*8d13bc63SEmmanuel Vadot		led-1 {
68*8d13bc63SEmmanuel Vadot			gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
69*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_HEARTBEAT;
70*8d13bc63SEmmanuel Vadot			linux,default-trigger = "heartbeat";
71*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_AMBER>;
72*8d13bc63SEmmanuel Vadot		};
73*8d13bc63SEmmanuel Vadot	};
74*8d13bc63SEmmanuel Vadot
75*8d13bc63SEmmanuel Vadot	pps {
76*8d13bc63SEmmanuel Vadot		compatible = "pps-gpio";
77*8d13bc63SEmmanuel Vadot		gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
78*8d13bc63SEmmanuel Vadot	};
79*8d13bc63SEmmanuel Vadot
80*8d13bc63SEmmanuel Vadot	vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
81*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
82*8d13bc63SEmmanuel Vadot		regulator-name = "vcc_1v1_nldo_s3";
83*8d13bc63SEmmanuel Vadot		regulator-always-on;
84*8d13bc63SEmmanuel Vadot		regulator-boot-on;
85*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <1100000>;
86*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1100000>;
87*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
88*8d13bc63SEmmanuel Vadot	};
89*8d13bc63SEmmanuel Vadot
90*8d13bc63SEmmanuel Vadot	vcc_1v2_s3: vcc-1v2-s3-regulator {
91*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
92*8d13bc63SEmmanuel Vadot		regulator-name = "vcc_1v2_s3";
93*8d13bc63SEmmanuel Vadot		regulator-always-on;
94*8d13bc63SEmmanuel Vadot		regulator-boot-on;
95*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <1200000>;
96*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1200000>;
97*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
98*8d13bc63SEmmanuel Vadot	};
99*8d13bc63SEmmanuel Vadot
100*8d13bc63SEmmanuel Vadot	/* Exposed on P14 and P15 */
101*8d13bc63SEmmanuel Vadot	vcc_2v8_s3: vcc-2v8-s3-regulator {
102*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
103*8d13bc63SEmmanuel Vadot		regulator-name = "vcc_2v8_s3";
104*8d13bc63SEmmanuel Vadot		regulator-always-on;
105*8d13bc63SEmmanuel Vadot		regulator-boot-on;
106*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <2800000>;
107*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <2800000>;
108*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_3v3_s3>;
109*8d13bc63SEmmanuel Vadot	};
110*8d13bc63SEmmanuel Vadot
111*8d13bc63SEmmanuel Vadot	vcc_5v0_usb_a: vcc-5v0-usb-a-regulator {
112*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
113*8d13bc63SEmmanuel Vadot		regulator-name = "usb_a_vcc";
114*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
115*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
116*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
117*8d13bc63SEmmanuel Vadot		gpio = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
118*8d13bc63SEmmanuel Vadot		enable-active-high;
119*8d13bc63SEmmanuel Vadot	};
120*8d13bc63SEmmanuel Vadot
121*8d13bc63SEmmanuel Vadot	vcc_5v0_usb_c1: vcc-5v0-usb-c1-regulator {
122*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
123*8d13bc63SEmmanuel Vadot		regulator-name = "5v_usbc1";
124*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
125*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
126*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_usb>;
127*8d13bc63SEmmanuel Vadot		gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
128*8d13bc63SEmmanuel Vadot		enable-active-high;
129*8d13bc63SEmmanuel Vadot	};
130*8d13bc63SEmmanuel Vadot
131*8d13bc63SEmmanuel Vadot	vcc_5v0_usb_c2: vcc-5v0-usb-c2-regulator {
132*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
133*8d13bc63SEmmanuel Vadot		regulator-name = "5v_usbc2";
134*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
135*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
136*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_usb>;
137*8d13bc63SEmmanuel Vadot		gpio = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
138*8d13bc63SEmmanuel Vadot		enable-active-high;
139*8d13bc63SEmmanuel Vadot	};
140*8d13bc63SEmmanuel Vadot
141*8d13bc63SEmmanuel Vadot	vcc3v3_mdot2: vcc3v3-mdot2-regulator {
142*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
143*8d13bc63SEmmanuel Vadot		regulator-name = "vcc3v3_mdot2";
144*8d13bc63SEmmanuel Vadot		regulator-always-on;
145*8d13bc63SEmmanuel Vadot		regulator-boot-on;
146*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
147*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
148*8d13bc63SEmmanuel Vadot		vin-supply = <&dc_12v>;
149*8d13bc63SEmmanuel Vadot	};
150*8d13bc63SEmmanuel Vadot
151*8d13bc63SEmmanuel Vadot	vcc5v0_sys: vcc5v0-sys-regulator {
152*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
153*8d13bc63SEmmanuel Vadot		regulator-name = "vcc5v0_sys";
154*8d13bc63SEmmanuel Vadot		regulator-always-on;
155*8d13bc63SEmmanuel Vadot		regulator-boot-on;
156*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
157*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
158*8d13bc63SEmmanuel Vadot		vin-supply = <&dc_12v>;
159*8d13bc63SEmmanuel Vadot	};
160*8d13bc63SEmmanuel Vadot
161*8d13bc63SEmmanuel Vadot	vcc5v0_usb: vcc5v0-usb-regulator {
162*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
163*8d13bc63SEmmanuel Vadot		regulator-name = "vcc5v0_usb";
164*8d13bc63SEmmanuel Vadot		regulator-always-on;
165*8d13bc63SEmmanuel Vadot		regulator-boot-on;
166*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
167*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
168*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
169*8d13bc63SEmmanuel Vadot	};
170*8d13bc63SEmmanuel Vadot};
171*8d13bc63SEmmanuel Vadot
172*8d13bc63SEmmanuel Vadot&combphy1_ps {
173*8d13bc63SEmmanuel Vadot	status = "okay";
174*8d13bc63SEmmanuel Vadot};
175*8d13bc63SEmmanuel Vadot
176*8d13bc63SEmmanuel Vadot&cpu_b0 {
177*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
178*8d13bc63SEmmanuel Vadot};
179*8d13bc63SEmmanuel Vadot
180*8d13bc63SEmmanuel Vadot&cpu_b1 {
181*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
182*8d13bc63SEmmanuel Vadot};
183*8d13bc63SEmmanuel Vadot
184*8d13bc63SEmmanuel Vadot&cpu_b2 {
185*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
186*8d13bc63SEmmanuel Vadot};
187*8d13bc63SEmmanuel Vadot
188*8d13bc63SEmmanuel Vadot&cpu_b3 {
189*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
190*8d13bc63SEmmanuel Vadot};
191*8d13bc63SEmmanuel Vadot
192*8d13bc63SEmmanuel Vadot&cpu_l0 {
193*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
194*8d13bc63SEmmanuel Vadot};
195*8d13bc63SEmmanuel Vadot
196*8d13bc63SEmmanuel Vadot&cpu_l1 {
197*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
198*8d13bc63SEmmanuel Vadot};
199*8d13bc63SEmmanuel Vadot
200*8d13bc63SEmmanuel Vadot&cpu_l2 {
201*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
202*8d13bc63SEmmanuel Vadot};
203*8d13bc63SEmmanuel Vadot
204*8d13bc63SEmmanuel Vadot&cpu_l3 {
205*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
206*8d13bc63SEmmanuel Vadot};
207*8d13bc63SEmmanuel Vadot
208*8d13bc63SEmmanuel Vadot&gmac0 {
209*8d13bc63SEmmanuel Vadot	clock_in_out = "output";
210*8d13bc63SEmmanuel Vadot	phy-handle = <&rgmii_phy>;
211*8d13bc63SEmmanuel Vadot	phy-mode = "rgmii";
212*8d13bc63SEmmanuel Vadot	phy-supply = <&vcc_1v2_s3>;
213*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
214*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&gmac0_miim
215*8d13bc63SEmmanuel Vadot		     &gmac0_rx_bus2
216*8d13bc63SEmmanuel Vadot		     &gmac0_tx_bus2
217*8d13bc63SEmmanuel Vadot		     &gmac0_rgmii_clk
218*8d13bc63SEmmanuel Vadot		     &gmac0_rgmii_bus
219*8d13bc63SEmmanuel Vadot		     &eth0_pins
220*8d13bc63SEmmanuel Vadot		     &eth_reset>;
221*8d13bc63SEmmanuel Vadot	tx_delay = <0x10>;
222*8d13bc63SEmmanuel Vadot	rx_delay = <0x10>;
223*8d13bc63SEmmanuel Vadot	snps,reset-gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_LOW>;
224*8d13bc63SEmmanuel Vadot	snps,reset-active-low;
225*8d13bc63SEmmanuel Vadot	snps,reset-delays-us = <0 10000 100000>;
226*8d13bc63SEmmanuel Vadot
227*8d13bc63SEmmanuel Vadot	status = "okay";
228*8d13bc63SEmmanuel Vadot};
229*8d13bc63SEmmanuel Vadot
230*8d13bc63SEmmanuel Vadot&gpio1 {
231*8d13bc63SEmmanuel Vadot	mdot2e-w-disable1-n-hog {
232*8d13bc63SEmmanuel Vadot		gpios = <RK_PB1 GPIO_ACTIVE_LOW>;
233*8d13bc63SEmmanuel Vadot		output-low;
234*8d13bc63SEmmanuel Vadot		line-name = "m.2 E-key W_DISABLE1#";
235*8d13bc63SEmmanuel Vadot		gpio-hog;
236*8d13bc63SEmmanuel Vadot	};
237*8d13bc63SEmmanuel Vadot};
238*8d13bc63SEmmanuel Vadot
239*8d13bc63SEmmanuel Vadot&gpio4 {
240*8d13bc63SEmmanuel Vadot	mdot2e-w-disable2-n-hog {
241*8d13bc63SEmmanuel Vadot		gpios = <RK_PC1 GPIO_ACTIVE_LOW>;
242*8d13bc63SEmmanuel Vadot		output-low;
243*8d13bc63SEmmanuel Vadot		line-name = "m.2 E-key W_DISABLE2#";
244*8d13bc63SEmmanuel Vadot		gpio-hog;
245*8d13bc63SEmmanuel Vadot	};
246*8d13bc63SEmmanuel Vadot};
247*8d13bc63SEmmanuel Vadot
248*8d13bc63SEmmanuel Vadot&i2c0 {
249*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&i2c0m2_xfer>;
250*8d13bc63SEmmanuel Vadot	status = "okay";
251*8d13bc63SEmmanuel Vadot
252*8d13bc63SEmmanuel Vadot	fan@18 {
253*8d13bc63SEmmanuel Vadot		compatible = "ti,amc6821";
254*8d13bc63SEmmanuel Vadot		reg = <0x18>;
255*8d13bc63SEmmanuel Vadot	};
256*8d13bc63SEmmanuel Vadot
257*8d13bc63SEmmanuel Vadot	vdd_npu_s0: regulator@42 {
258*8d13bc63SEmmanuel Vadot		compatible = "rockchip,rk8602";
259*8d13bc63SEmmanuel Vadot		reg = <0x42>;
260*8d13bc63SEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
261*8d13bc63SEmmanuel Vadot		regulator-name = "vdd_npu_s0";
262*8d13bc63SEmmanuel Vadot		regulator-always-on;
263*8d13bc63SEmmanuel Vadot		regulator-boot-on;
264*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <550000>;
265*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <950000>;
266*8d13bc63SEmmanuel Vadot		regulator-ramp-delay = <2300>;
267*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
268*8d13bc63SEmmanuel Vadot
269*8d13bc63SEmmanuel Vadot		regulator-state-mem {
270*8d13bc63SEmmanuel Vadot			regulator-off-in-suspend;
271*8d13bc63SEmmanuel Vadot		};
272*8d13bc63SEmmanuel Vadot	};
273*8d13bc63SEmmanuel Vadot
274*8d13bc63SEmmanuel Vadot	vdd_cpu_big1_s0: regulator@43 {
275*8d13bc63SEmmanuel Vadot		compatible = "rockchip,rk8603", "rockchip,rk8602";
276*8d13bc63SEmmanuel Vadot		reg = <0x43>;
277*8d13bc63SEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
278*8d13bc63SEmmanuel Vadot		regulator-name = "vdd_cpu_big1_s0";
279*8d13bc63SEmmanuel Vadot		regulator-always-on;
280*8d13bc63SEmmanuel Vadot		regulator-boot-on;
281*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <550000>;
282*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1050000>;
283*8d13bc63SEmmanuel Vadot		regulator-ramp-delay = <2300>;
284*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
285*8d13bc63SEmmanuel Vadot
286*8d13bc63SEmmanuel Vadot		regulator-state-mem {
287*8d13bc63SEmmanuel Vadot			regulator-off-in-suspend;
288*8d13bc63SEmmanuel Vadot		};
289*8d13bc63SEmmanuel Vadot	};
290*8d13bc63SEmmanuel Vadot
291*8d13bc63SEmmanuel Vadot	rtc_twi: rtc@6f {
292*8d13bc63SEmmanuel Vadot		compatible = "isil,isl1208";
293*8d13bc63SEmmanuel Vadot		reg = <0x6f>;
294*8d13bc63SEmmanuel Vadot	};
295*8d13bc63SEmmanuel Vadot};
296*8d13bc63SEmmanuel Vadot
297*8d13bc63SEmmanuel Vadot&i2c1 {
298*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&i2c1m4_xfer>;
299*8d13bc63SEmmanuel Vadot};
300*8d13bc63SEmmanuel Vadot
301*8d13bc63SEmmanuel Vadot&i2c6 {
302*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&i2c6m4_xfer>;
303*8d13bc63SEmmanuel Vadot};
304*8d13bc63SEmmanuel Vadot
305*8d13bc63SEmmanuel Vadot&i2c7 {
306*8d13bc63SEmmanuel Vadot	status = "okay";
307*8d13bc63SEmmanuel Vadot
308*8d13bc63SEmmanuel Vadot	/* SE050 Secure Element at 0x48; GPIO1_A4 for enable pin */
309*8d13bc63SEmmanuel Vadot
310*8d13bc63SEmmanuel Vadot	/* Also on 0x55 */
311*8d13bc63SEmmanuel Vadot	eeprom@54 {
312*8d13bc63SEmmanuel Vadot		compatible = "st,24c04", "atmel,24c04";
313*8d13bc63SEmmanuel Vadot		reg = <0x54>;
314*8d13bc63SEmmanuel Vadot		pagesize = <16>;
315*8d13bc63SEmmanuel Vadot		vcc-supply = <&vcc_3v3_s3>;
316*8d13bc63SEmmanuel Vadot	};
317*8d13bc63SEmmanuel Vadot};
318*8d13bc63SEmmanuel Vadot
319*8d13bc63SEmmanuel Vadot&i2c8 {
320*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&i2c8m2_xfer>;
321*8d13bc63SEmmanuel Vadot	status = "okay";
322*8d13bc63SEmmanuel Vadot
323*8d13bc63SEmmanuel Vadot	vdd_cpu_big0_s0: regulator@42 {
324*8d13bc63SEmmanuel Vadot		compatible = "rockchip,rk8602";
325*8d13bc63SEmmanuel Vadot		reg = <0x42>;
326*8d13bc63SEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
327*8d13bc63SEmmanuel Vadot		regulator-name = "vdd_cpu_big0_s0";
328*8d13bc63SEmmanuel Vadot		regulator-always-on;
329*8d13bc63SEmmanuel Vadot		regulator-boot-on;
330*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <550000>;
331*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1050000>;
332*8d13bc63SEmmanuel Vadot		regulator-ramp-delay = <2300>;
333*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
334*8d13bc63SEmmanuel Vadot
335*8d13bc63SEmmanuel Vadot		regulator-state-mem {
336*8d13bc63SEmmanuel Vadot			regulator-off-in-suspend;
337*8d13bc63SEmmanuel Vadot		};
338*8d13bc63SEmmanuel Vadot	};
339*8d13bc63SEmmanuel Vadot};
340*8d13bc63SEmmanuel Vadot
341*8d13bc63SEmmanuel Vadot&mdio0 {
342*8d13bc63SEmmanuel Vadot	rgmii_phy: ethernet-phy@6 {
343*8d13bc63SEmmanuel Vadot		/* KSZ9031 or KSZ9131 */
344*8d13bc63SEmmanuel Vadot		compatible = "ethernet-phy-ieee802.3-c22";
345*8d13bc63SEmmanuel Vadot		reg = <0x6>;
346*8d13bc63SEmmanuel Vadot		clocks = <&cru REFCLKO25M_ETH0_OUT>;
347*8d13bc63SEmmanuel Vadot	};
348*8d13bc63SEmmanuel Vadot};
349*8d13bc63SEmmanuel Vadot
350*8d13bc63SEmmanuel Vadot&pcie2x1l0 {
351*8d13bc63SEmmanuel Vadot	reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; /* WIFI_PERST0# */
352*8d13bc63SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_mdot2>;
353*8d13bc63SEmmanuel Vadot	status = "okay";
354*8d13bc63SEmmanuel Vadot};
355*8d13bc63SEmmanuel Vadot
356*8d13bc63SEmmanuel Vadot&pinctrl {
357*8d13bc63SEmmanuel Vadot	emmc {
358*8d13bc63SEmmanuel Vadot		emmc_reset: emmc-reset {
359*8d13bc63SEmmanuel Vadot			rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
360*8d13bc63SEmmanuel Vadot		};
361*8d13bc63SEmmanuel Vadot	};
362*8d13bc63SEmmanuel Vadot
363*8d13bc63SEmmanuel Vadot	ethernet {
364*8d13bc63SEmmanuel Vadot		eth_reset: eth-reset {
365*8d13bc63SEmmanuel Vadot			rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
366*8d13bc63SEmmanuel Vadot		};
367*8d13bc63SEmmanuel Vadot	};
368*8d13bc63SEmmanuel Vadot
369*8d13bc63SEmmanuel Vadot	leds {
370*8d13bc63SEmmanuel Vadot		led1_pin: led1-pin {
371*8d13bc63SEmmanuel Vadot			rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
372*8d13bc63SEmmanuel Vadot		};
373*8d13bc63SEmmanuel Vadot	};
374*8d13bc63SEmmanuel Vadot};
375*8d13bc63SEmmanuel Vadot
376*8d13bc63SEmmanuel Vadot&saradc {
377*8d13bc63SEmmanuel Vadot	vref-supply = <&vcc_1v8_s0>;
378*8d13bc63SEmmanuel Vadot	status = "okay";
379*8d13bc63SEmmanuel Vadot};
380*8d13bc63SEmmanuel Vadot
381*8d13bc63SEmmanuel Vadot&sdhci {
382*8d13bc63SEmmanuel Vadot	bus-width = <8>;
383*8d13bc63SEmmanuel Vadot	cap-mmc-highspeed;
384*8d13bc63SEmmanuel Vadot	mmc-ddr-1_8v;
385*8d13bc63SEmmanuel Vadot	mmc-hs200-1_8v;
386*8d13bc63SEmmanuel Vadot	mmc-hs400-1_8v;
387*8d13bc63SEmmanuel Vadot	mmc-hs400-enhanced-strobe;
388*8d13bc63SEmmanuel Vadot	mmc-pwrseq = <&emmc_pwrseq>;
389*8d13bc63SEmmanuel Vadot	no-sdio;
390*8d13bc63SEmmanuel Vadot	no-sd;
391*8d13bc63SEmmanuel Vadot	non-removable;
392*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
393*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk &emmc_data_strobe>;
394*8d13bc63SEmmanuel Vadot	supports-cqe;
395*8d13bc63SEmmanuel Vadot	vmmc-supply = <&vcc_3v3_s3>;
396*8d13bc63SEmmanuel Vadot	vqmmc-supply = <&vcc_1v8_s3>;
397*8d13bc63SEmmanuel Vadot	status = "okay";
398*8d13bc63SEmmanuel Vadot};
399*8d13bc63SEmmanuel Vadot
400*8d13bc63SEmmanuel Vadot&sdmmc {
401*8d13bc63SEmmanuel Vadot	broken-cd;
402*8d13bc63SEmmanuel Vadot	bus-width = <4>;
403*8d13bc63SEmmanuel Vadot	cap-sd-highspeed;
404*8d13bc63SEmmanuel Vadot	disable-wp;
405*8d13bc63SEmmanuel Vadot	max-frequency = <150000000>;
406*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
407*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&sdmmc_bus4 &sdmmc_cmd &sdmmc_clk>;
408*8d13bc63SEmmanuel Vadot	sd-uhs-sdr12;
409*8d13bc63SEmmanuel Vadot	sd-uhs-sdr25;
410*8d13bc63SEmmanuel Vadot	sd-uhs-sdr50;
411*8d13bc63SEmmanuel Vadot	sd-uhs-ddr50;
412*8d13bc63SEmmanuel Vadot	sd-uhs-sdr104;
413*8d13bc63SEmmanuel Vadot	vmmc-supply = <&vcc_3v3_s3>;
414*8d13bc63SEmmanuel Vadot	vqmmc-supply = <&vccio_sd_s0>;
415*8d13bc63SEmmanuel Vadot	status = "okay";
416*8d13bc63SEmmanuel Vadot};
417*8d13bc63SEmmanuel Vadot
418*8d13bc63SEmmanuel Vadot&spi2 {
419*8d13bc63SEmmanuel Vadot	assigned-clocks = <&cru CLK_SPI2>;
420*8d13bc63SEmmanuel Vadot	assigned-clock-rates = <200000000>;
421*8d13bc63SEmmanuel Vadot	num-cs = <1>;
422*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
423*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
424*8d13bc63SEmmanuel Vadot	status = "okay";
425*8d13bc63SEmmanuel Vadot
426*8d13bc63SEmmanuel Vadot	pmic@0 {
427*8d13bc63SEmmanuel Vadot		compatible = "rockchip,rk806";
428*8d13bc63SEmmanuel Vadot		reg = <0x0>;
429*8d13bc63SEmmanuel Vadot		interrupt-parent = <&gpio0>;
430*8d13bc63SEmmanuel Vadot		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
431*8d13bc63SEmmanuel Vadot		gpio-controller;
432*8d13bc63SEmmanuel Vadot		#gpio-cells = <2>;
433*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
434*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
435*8d13bc63SEmmanuel Vadot			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
436*8d13bc63SEmmanuel Vadot		spi-max-frequency = <1000000>;
437*8d13bc63SEmmanuel Vadot		system-power-controller;
438*8d13bc63SEmmanuel Vadot		vcc1-supply = <&vcc5v0_sys>;
439*8d13bc63SEmmanuel Vadot		vcc2-supply = <&vcc5v0_sys>;
440*8d13bc63SEmmanuel Vadot		vcc3-supply = <&vcc5v0_sys>;
441*8d13bc63SEmmanuel Vadot		vcc4-supply = <&vcc5v0_sys>;
442*8d13bc63SEmmanuel Vadot		vcc5-supply = <&vcc5v0_sys>;
443*8d13bc63SEmmanuel Vadot		vcc6-supply = <&vcc5v0_sys>;
444*8d13bc63SEmmanuel Vadot		vcc7-supply = <&vcc5v0_sys>;
445*8d13bc63SEmmanuel Vadot		vcc8-supply = <&vcc5v0_sys>;
446*8d13bc63SEmmanuel Vadot		vcc9-supply = <&vcc5v0_sys>;
447*8d13bc63SEmmanuel Vadot		vcc10-supply = <&vcc5v0_sys>;
448*8d13bc63SEmmanuel Vadot		vcc11-supply = <&vcc_2v0_pldo_s3>;
449*8d13bc63SEmmanuel Vadot		vcc12-supply = <&vcc5v0_sys>;
450*8d13bc63SEmmanuel Vadot		vcc13-supply = <&vcc_1v1_nldo_s3>;
451*8d13bc63SEmmanuel Vadot		vcc14-supply = <&vcc_1v1_nldo_s3>;
452*8d13bc63SEmmanuel Vadot		vcca-supply = <&vcc5v0_sys>;
453*8d13bc63SEmmanuel Vadot
454*8d13bc63SEmmanuel Vadot		rk806_dvs1_null: dvs1-null-pins {
455*8d13bc63SEmmanuel Vadot			pins = "gpio_pwrctrl2";
456*8d13bc63SEmmanuel Vadot			function = "pin_fun0";
457*8d13bc63SEmmanuel Vadot		};
458*8d13bc63SEmmanuel Vadot
459*8d13bc63SEmmanuel Vadot		rk806_dvs2_null: dvs2-null-pins {
460*8d13bc63SEmmanuel Vadot			pins = "gpio_pwrctrl2";
461*8d13bc63SEmmanuel Vadot			function = "pin_fun0";
462*8d13bc63SEmmanuel Vadot		};
463*8d13bc63SEmmanuel Vadot
464*8d13bc63SEmmanuel Vadot		rk806_dvs3_null: dvs3-null-pins {
465*8d13bc63SEmmanuel Vadot			pins = "gpio_pwrctrl3";
466*8d13bc63SEmmanuel Vadot			function = "pin_fun0";
467*8d13bc63SEmmanuel Vadot		};
468*8d13bc63SEmmanuel Vadot
469*8d13bc63SEmmanuel Vadot		regulators {
470*8d13bc63SEmmanuel Vadot			vdd_gpu_s0: dcdc-reg1 {
471*8d13bc63SEmmanuel Vadot				regulator-boot-on;
472*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <550000>;
473*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <950000>;
474*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
475*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_gpu_s0";
476*8d13bc63SEmmanuel Vadot				regulator-enable-ramp-delay = <400>;
477*8d13bc63SEmmanuel Vadot
478*8d13bc63SEmmanuel Vadot				regulator-state-mem {
479*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
480*8d13bc63SEmmanuel Vadot				};
481*8d13bc63SEmmanuel Vadot			};
482*8d13bc63SEmmanuel Vadot
483*8d13bc63SEmmanuel Vadot			vdd_cpu_lit_s0: dcdc-reg2 {
484*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_cpu_lit_s0";
485*8d13bc63SEmmanuel Vadot				regulator-always-on;
486*8d13bc63SEmmanuel Vadot				regulator-boot-on;
487*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <550000>;
488*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <950000>;
489*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
490*8d13bc63SEmmanuel Vadot
491*8d13bc63SEmmanuel Vadot				regulator-state-mem {
492*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
493*8d13bc63SEmmanuel Vadot				};
494*8d13bc63SEmmanuel Vadot			};
495*8d13bc63SEmmanuel Vadot
496*8d13bc63SEmmanuel Vadot			vdd_log_s0: dcdc-reg3 {
497*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_log_s0";
498*8d13bc63SEmmanuel Vadot				regulator-always-on;
499*8d13bc63SEmmanuel Vadot				regulator-boot-on;
500*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <675000>;
501*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <750000>;
502*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
503*8d13bc63SEmmanuel Vadot
504*8d13bc63SEmmanuel Vadot				regulator-state-mem {
505*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
506*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
507*8d13bc63SEmmanuel Vadot				};
508*8d13bc63SEmmanuel Vadot			};
509*8d13bc63SEmmanuel Vadot
510*8d13bc63SEmmanuel Vadot			vdd_vdenc_s0: dcdc-reg4 {
511*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_vdenc_s0";
512*8d13bc63SEmmanuel Vadot				regulator-always-on;
513*8d13bc63SEmmanuel Vadot				regulator-boot-on;
514*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <550000>;
515*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <950000>;
516*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
517*8d13bc63SEmmanuel Vadot
518*8d13bc63SEmmanuel Vadot				regulator-state-mem {
519*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
520*8d13bc63SEmmanuel Vadot				};
521*8d13bc63SEmmanuel Vadot			};
522*8d13bc63SEmmanuel Vadot
523*8d13bc63SEmmanuel Vadot			vdd_ddr_s0: dcdc-reg5 {
524*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_ddr_s0";
525*8d13bc63SEmmanuel Vadot				regulator-always-on;
526*8d13bc63SEmmanuel Vadot				regulator-boot-on;
527*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <675000>;
528*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <900000>;
529*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
530*8d13bc63SEmmanuel Vadot
531*8d13bc63SEmmanuel Vadot				regulator-state-mem {
532*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
533*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
534*8d13bc63SEmmanuel Vadot				};
535*8d13bc63SEmmanuel Vadot			};
536*8d13bc63SEmmanuel Vadot
537*8d13bc63SEmmanuel Vadot			vdd2_ddr_s3: dcdc-reg6 {
538*8d13bc63SEmmanuel Vadot				regulator-name = "vdd2_ddr_s3";
539*8d13bc63SEmmanuel Vadot				regulator-always-on;
540*8d13bc63SEmmanuel Vadot				regulator-boot-on;
541*8d13bc63SEmmanuel Vadot
542*8d13bc63SEmmanuel Vadot				regulator-state-mem {
543*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
544*8d13bc63SEmmanuel Vadot				};
545*8d13bc63SEmmanuel Vadot			};
546*8d13bc63SEmmanuel Vadot
547*8d13bc63SEmmanuel Vadot			vcc_2v0_pldo_s3: dcdc-reg7 {
548*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_2v0_pldo_s3";
549*8d13bc63SEmmanuel Vadot				regulator-always-on;
550*8d13bc63SEmmanuel Vadot				regulator-boot-on;
551*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <2000000>;
552*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <2000000>;
553*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
554*8d13bc63SEmmanuel Vadot
555*8d13bc63SEmmanuel Vadot				regulator-state-mem {
556*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
557*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <2000000>;
558*8d13bc63SEmmanuel Vadot				};
559*8d13bc63SEmmanuel Vadot			};
560*8d13bc63SEmmanuel Vadot
561*8d13bc63SEmmanuel Vadot			vcc_3v3_s3: dcdc-reg8 {
562*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_3v3_s3";
563*8d13bc63SEmmanuel Vadot				regulator-always-on;
564*8d13bc63SEmmanuel Vadot				regulator-boot-on;
565*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
566*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
567*8d13bc63SEmmanuel Vadot
568*8d13bc63SEmmanuel Vadot				regulator-state-mem {
569*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
570*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
571*8d13bc63SEmmanuel Vadot				};
572*8d13bc63SEmmanuel Vadot			};
573*8d13bc63SEmmanuel Vadot
574*8d13bc63SEmmanuel Vadot			vddq_ddr_s0: dcdc-reg9 {
575*8d13bc63SEmmanuel Vadot				regulator-name = "vddq_ddr_s0";
576*8d13bc63SEmmanuel Vadot				regulator-always-on;
577*8d13bc63SEmmanuel Vadot				regulator-boot-on;
578*8d13bc63SEmmanuel Vadot
579*8d13bc63SEmmanuel Vadot				regulator-state-mem {
580*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
581*8d13bc63SEmmanuel Vadot				};
582*8d13bc63SEmmanuel Vadot			};
583*8d13bc63SEmmanuel Vadot
584*8d13bc63SEmmanuel Vadot			vcc_1v8_s3: dcdc-reg10 {
585*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_1v8_s3";
586*8d13bc63SEmmanuel Vadot				regulator-always-on;
587*8d13bc63SEmmanuel Vadot				regulator-boot-on;
588*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
589*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
590*8d13bc63SEmmanuel Vadot
591*8d13bc63SEmmanuel Vadot				regulator-state-mem {
592*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
593*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
594*8d13bc63SEmmanuel Vadot				};
595*8d13bc63SEmmanuel Vadot			};
596*8d13bc63SEmmanuel Vadot
597*8d13bc63SEmmanuel Vadot			vcca_1v8_s0: pldo-reg1 {
598*8d13bc63SEmmanuel Vadot				regulator-name = "vcca_1v8_s0";
599*8d13bc63SEmmanuel Vadot				regulator-always-on;
600*8d13bc63SEmmanuel Vadot				regulator-boot-on;
601*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
602*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
603*8d13bc63SEmmanuel Vadot
604*8d13bc63SEmmanuel Vadot				regulator-state-mem {
605*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
606*8d13bc63SEmmanuel Vadot				};
607*8d13bc63SEmmanuel Vadot			};
608*8d13bc63SEmmanuel Vadot
609*8d13bc63SEmmanuel Vadot			vcc_1v8_s0: pldo-reg2 {
610*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_1v8_s0";
611*8d13bc63SEmmanuel Vadot				regulator-always-on;
612*8d13bc63SEmmanuel Vadot				regulator-boot-on;
613*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
614*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
615*8d13bc63SEmmanuel Vadot
616*8d13bc63SEmmanuel Vadot				regulator-state-mem {
617*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
618*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
619*8d13bc63SEmmanuel Vadot				};
620*8d13bc63SEmmanuel Vadot			};
621*8d13bc63SEmmanuel Vadot
622*8d13bc63SEmmanuel Vadot			vdda_1v2_s0: pldo-reg3 {
623*8d13bc63SEmmanuel Vadot				regulator-name = "vdda_1v2_s0";
624*8d13bc63SEmmanuel Vadot				regulator-always-on;
625*8d13bc63SEmmanuel Vadot				regulator-boot-on;
626*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1200000>;
627*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1200000>;
628*8d13bc63SEmmanuel Vadot
629*8d13bc63SEmmanuel Vadot				regulator-state-mem {
630*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
631*8d13bc63SEmmanuel Vadot				};
632*8d13bc63SEmmanuel Vadot			};
633*8d13bc63SEmmanuel Vadot
634*8d13bc63SEmmanuel Vadot			vcca_3v3_s0: pldo-reg4 {
635*8d13bc63SEmmanuel Vadot				regulator-name = "vcca_3v3_s0";
636*8d13bc63SEmmanuel Vadot				regulator-always-on;
637*8d13bc63SEmmanuel Vadot				regulator-boot-on;
638*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
639*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
640*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
641*8d13bc63SEmmanuel Vadot
642*8d13bc63SEmmanuel Vadot				regulator-state-mem {
643*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
644*8d13bc63SEmmanuel Vadot				};
645*8d13bc63SEmmanuel Vadot			};
646*8d13bc63SEmmanuel Vadot
647*8d13bc63SEmmanuel Vadot			vccio_sd_s0: pldo-reg5 {
648*8d13bc63SEmmanuel Vadot				regulator-name = "vccio_sd_s0";
649*8d13bc63SEmmanuel Vadot				regulator-always-on;
650*8d13bc63SEmmanuel Vadot				regulator-boot-on;
651*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
652*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
653*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <12500>;
654*8d13bc63SEmmanuel Vadot
655*8d13bc63SEmmanuel Vadot				regulator-state-mem {
656*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
657*8d13bc63SEmmanuel Vadot				};
658*8d13bc63SEmmanuel Vadot			};
659*8d13bc63SEmmanuel Vadot
660*8d13bc63SEmmanuel Vadot			pldo6_s3: pldo-reg6 {
661*8d13bc63SEmmanuel Vadot				regulator-name = "pldo6_s3";
662*8d13bc63SEmmanuel Vadot				regulator-always-on;
663*8d13bc63SEmmanuel Vadot				regulator-boot-on;
664*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
665*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
666*8d13bc63SEmmanuel Vadot
667*8d13bc63SEmmanuel Vadot				regulator-state-mem {
668*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
669*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
670*8d13bc63SEmmanuel Vadot				};
671*8d13bc63SEmmanuel Vadot			};
672*8d13bc63SEmmanuel Vadot
673*8d13bc63SEmmanuel Vadot			vdd_0v75_s3: nldo-reg1 {
674*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_0v75_s3";
675*8d13bc63SEmmanuel Vadot				regulator-always-on;
676*8d13bc63SEmmanuel Vadot				regulator-boot-on;
677*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <750000>;
678*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <750000>;
679*8d13bc63SEmmanuel Vadot
680*8d13bc63SEmmanuel Vadot				regulator-state-mem {
681*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
682*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
683*8d13bc63SEmmanuel Vadot				};
684*8d13bc63SEmmanuel Vadot			};
685*8d13bc63SEmmanuel Vadot
686*8d13bc63SEmmanuel Vadot			vdda_ddr_pll_s0: nldo-reg2 {
687*8d13bc63SEmmanuel Vadot				regulator-name = "vdda_ddr_pll_s0";
688*8d13bc63SEmmanuel Vadot				regulator-always-on;
689*8d13bc63SEmmanuel Vadot				regulator-boot-on;
690*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <850000>;
691*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <850000>;
692*8d13bc63SEmmanuel Vadot
693*8d13bc63SEmmanuel Vadot				regulator-state-mem {
694*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
695*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
696*8d13bc63SEmmanuel Vadot				};
697*8d13bc63SEmmanuel Vadot			};
698*8d13bc63SEmmanuel Vadot
699*8d13bc63SEmmanuel Vadot			vdda_0v75_s0: nldo-reg3 {
700*8d13bc63SEmmanuel Vadot				regulator-name = "vdda_0v75_s0";
701*8d13bc63SEmmanuel Vadot				regulator-always-on;
702*8d13bc63SEmmanuel Vadot				regulator-boot-on;
703*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <750000>;
704*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <750000>;
705*8d13bc63SEmmanuel Vadot
706*8d13bc63SEmmanuel Vadot				regulator-state-mem {
707*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
708*8d13bc63SEmmanuel Vadot				};
709*8d13bc63SEmmanuel Vadot			};
710*8d13bc63SEmmanuel Vadot
711*8d13bc63SEmmanuel Vadot			vdda_0v85_s0: nldo-reg4 {
712*8d13bc63SEmmanuel Vadot				regulator-name = "vdda_0v85_s0";
713*8d13bc63SEmmanuel Vadot				regulator-always-on;
714*8d13bc63SEmmanuel Vadot				regulator-boot-on;
715*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <850000>;
716*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <850000>;
717*8d13bc63SEmmanuel Vadot
718*8d13bc63SEmmanuel Vadot				regulator-state-mem {
719*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
720*8d13bc63SEmmanuel Vadot				};
721*8d13bc63SEmmanuel Vadot			};
722*8d13bc63SEmmanuel Vadot
723*8d13bc63SEmmanuel Vadot			vdd_0v75_s0: nldo-reg5 {
724*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_0v75_s0";
725*8d13bc63SEmmanuel Vadot				regulator-always-on;
726*8d13bc63SEmmanuel Vadot				regulator-boot-on;
727*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <750000>;
728*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <750000>;
729*8d13bc63SEmmanuel Vadot
730*8d13bc63SEmmanuel Vadot				regulator-state-mem {
731*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
732*8d13bc63SEmmanuel Vadot				};
733*8d13bc63SEmmanuel Vadot			};
734*8d13bc63SEmmanuel Vadot		};
735*8d13bc63SEmmanuel Vadot	};
736*8d13bc63SEmmanuel Vadot};
737*8d13bc63SEmmanuel Vadot
738*8d13bc63SEmmanuel Vadot&tsadc {
739*8d13bc63SEmmanuel Vadot	status = "okay";
740*8d13bc63SEmmanuel Vadot};
741*8d13bc63SEmmanuel Vadot
742*8d13bc63SEmmanuel Vadot&u2phy2 {
743*8d13bc63SEmmanuel Vadot	status = "okay";
744*8d13bc63SEmmanuel Vadot};
745*8d13bc63SEmmanuel Vadot
746*8d13bc63SEmmanuel Vadot&u2phy2_host {
747*8d13bc63SEmmanuel Vadot	phy-supply = <&vcc_5v0_usb_a>;
748*8d13bc63SEmmanuel Vadot	status = "okay";
749*8d13bc63SEmmanuel Vadot};
750*8d13bc63SEmmanuel Vadot
751*8d13bc63SEmmanuel Vadot&u2phy3 {
752*8d13bc63SEmmanuel Vadot	status = "okay";
753*8d13bc63SEmmanuel Vadot};
754*8d13bc63SEmmanuel Vadot
755*8d13bc63SEmmanuel Vadot&u2phy3_host {
756*8d13bc63SEmmanuel Vadot	status = "okay";
757*8d13bc63SEmmanuel Vadot};
758*8d13bc63SEmmanuel Vadot
759*8d13bc63SEmmanuel Vadot/* Mule-ATtiny debug UART; typically baudrate 9600 */
760*8d13bc63SEmmanuel Vadot&uart0 {
761*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&uart0m0_xfer>;
762*8d13bc63SEmmanuel Vadot	status = "okay";
763*8d13bc63SEmmanuel Vadot};
764*8d13bc63SEmmanuel Vadot
765*8d13bc63SEmmanuel Vadot/* Main debug interface on P20 micro-USB B port and P21 header */
766*8d13bc63SEmmanuel Vadot&uart2 {
767*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&uart2m0_xfer>;
768*8d13bc63SEmmanuel Vadot	status = "okay";
769*8d13bc63SEmmanuel Vadot};
770*8d13bc63SEmmanuel Vadot
771*8d13bc63SEmmanuel Vadot/* RS485 on P19 */
772*8d13bc63SEmmanuel Vadot&uart3 {
773*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&uart3m2_xfer &uart3_rtsn>;
774*8d13bc63SEmmanuel Vadot	linux,rs485-enabled-at-boot-time;
775*8d13bc63SEmmanuel Vadot	status = "okay";
776*8d13bc63SEmmanuel Vadot};
777*8d13bc63SEmmanuel Vadot
778*8d13bc63SEmmanuel Vadot/* Mule-ATtiny UPDI flashing UART */
779*8d13bc63SEmmanuel Vadot&uart7 {
780*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&uart7m0_xfer>;
781*8d13bc63SEmmanuel Vadot	status = "okay";
782*8d13bc63SEmmanuel Vadot};
783*8d13bc63SEmmanuel Vadot
784*8d13bc63SEmmanuel Vadot/* host0 on P10 USB-A */
785*8d13bc63SEmmanuel Vadot&usb_host0_ehci {
786*8d13bc63SEmmanuel Vadot	status = "okay";
787*8d13bc63SEmmanuel Vadot};
788*8d13bc63SEmmanuel Vadot
789*8d13bc63SEmmanuel Vadot/* host0 on P10 USB-A */
790*8d13bc63SEmmanuel Vadot&usb_host0_ohci {
791*8d13bc63SEmmanuel Vadot	status = "okay";
792*8d13bc63SEmmanuel Vadot};
793*8d13bc63SEmmanuel Vadot
794*8d13bc63SEmmanuel Vadot/* host1 on M.2 E-key */
795*8d13bc63SEmmanuel Vadot&usb_host1_ehci {
796*8d13bc63SEmmanuel Vadot	status = "okay";
797*8d13bc63SEmmanuel Vadot};
798*8d13bc63SEmmanuel Vadot
799*8d13bc63SEmmanuel Vadot/* host1 on M.2 E-key */
800*8d13bc63SEmmanuel Vadot&usb_host1_ohci {
801*8d13bc63SEmmanuel Vadot	status = "okay";
802*8d13bc63SEmmanuel Vadot};
803