xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-friendlyelec-cm3588.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4*0e8011faSEmmanuel Vadot * Copyright (c) 2023 Thomas McKahan
5*0e8011faSEmmanuel Vadot * Copyright (c) 2024 Sebastian Kropatsch
6*0e8011faSEmmanuel Vadot *
7*0e8011faSEmmanuel Vadot */
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadot/dts-v1/;
10*0e8011faSEmmanuel Vadot
11*0e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h>
13*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
14*0e8011faSEmmanuel Vadot#include "rk3588.dtsi"
15*0e8011faSEmmanuel Vadot
16*0e8011faSEmmanuel Vadot/ {
17*0e8011faSEmmanuel Vadot	model = "FriendlyElec CM3588";
18*0e8011faSEmmanuel Vadot	compatible = "friendlyarm,cm3588", "rockchip,rk3588";
19*0e8011faSEmmanuel Vadot
20*0e8011faSEmmanuel Vadot	aliases {
21*0e8011faSEmmanuel Vadot		mmc0 = &sdhci;
22*0e8011faSEmmanuel Vadot		mmc1 = &sdmmc;
23*0e8011faSEmmanuel Vadot	};
24*0e8011faSEmmanuel Vadot
25*0e8011faSEmmanuel Vadot	chosen {
26*0e8011faSEmmanuel Vadot		stdout-path = "serial2:1500000n8";
27*0e8011faSEmmanuel Vadot	};
28*0e8011faSEmmanuel Vadot
29*0e8011faSEmmanuel Vadot	leds {
30*0e8011faSEmmanuel Vadot		compatible = "gpio-leds";
31*0e8011faSEmmanuel Vadot
32*0e8011faSEmmanuel Vadot		led_sys: led-0 {
33*0e8011faSEmmanuel Vadot			color = <LED_COLOR_ID_AMBER>;
34*0e8011faSEmmanuel Vadot			function = LED_FUNCTION_HEARTBEAT;
35*0e8011faSEmmanuel Vadot			gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
36*0e8011faSEmmanuel Vadot			linux,default-trigger = "heartbeat";
37*0e8011faSEmmanuel Vadot			pinctrl-names = "default";
38*0e8011faSEmmanuel Vadot			pinctrl-0 = <&led_sys_pin>;
39*0e8011faSEmmanuel Vadot		};
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot		led_usr: led-1 {
42*0e8011faSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
43*0e8011faSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
44*0e8011faSEmmanuel Vadot			gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
45*0e8011faSEmmanuel Vadot			pinctrl-names = "default";
46*0e8011faSEmmanuel Vadot			pinctrl-0 = <&led_usr_pin>;
47*0e8011faSEmmanuel Vadot		};
48*0e8011faSEmmanuel Vadot	};
49*0e8011faSEmmanuel Vadot
50*0e8011faSEmmanuel Vadot	/* vcc_4v0_sys powers the RK806 and RK860's */
51*0e8011faSEmmanuel Vadot	vcc_4v0_sys: regulator-vcc-4v0-sys {
52*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
53*0e8011faSEmmanuel Vadot		regulator-name = "vcc_4v0_sys";
54*0e8011faSEmmanuel Vadot		regulator-always-on;
55*0e8011faSEmmanuel Vadot		regulator-boot-on;
56*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <4000000>;
57*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <4000000>;
58*0e8011faSEmmanuel Vadot	};
59*0e8011faSEmmanuel Vadot
60*0e8011faSEmmanuel Vadot	vcc_3v3_pcie20: regulator-vcc-3v3-pcie20 {
61*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
62*0e8011faSEmmanuel Vadot		regulator-name = "vcc_3v3_pcie20";
63*0e8011faSEmmanuel Vadot		regulator-always-on;
64*0e8011faSEmmanuel Vadot		regulator-boot-on;
65*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
66*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
67*0e8011faSEmmanuel Vadot		vin-supply = <&vcc_3v3_s3>;
68*0e8011faSEmmanuel Vadot	};
69*0e8011faSEmmanuel Vadot
70*0e8011faSEmmanuel Vadot	vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 {
71*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
72*0e8011faSEmmanuel Vadot		gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
73*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
74*0e8011faSEmmanuel Vadot		pinctrl-0 = <&sd_s0_pwr>;
75*0e8011faSEmmanuel Vadot		regulator-boot-on;
76*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
77*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
78*0e8011faSEmmanuel Vadot		regulator-name = "vcc_3v3_sd_s0";
79*0e8011faSEmmanuel Vadot		vin-supply = <&vcc_3v3_s3>;
80*0e8011faSEmmanuel Vadot	};
81*0e8011faSEmmanuel Vadot
82*0e8011faSEmmanuel Vadot	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
83*0e8011faSEmmanuel Vadot		compatible = "regulator-fixed";
84*0e8011faSEmmanuel Vadot		regulator-name = "vcc-1v1-nldo-s3";
85*0e8011faSEmmanuel Vadot		regulator-always-on;
86*0e8011faSEmmanuel Vadot		regulator-boot-on;
87*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <1100000>;
88*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <1100000>;
89*0e8011faSEmmanuel Vadot		vin-supply = <&vcc_4v0_sys>;
90*0e8011faSEmmanuel Vadot	};
91*0e8011faSEmmanuel Vadot};
92*0e8011faSEmmanuel Vadot
93*0e8011faSEmmanuel Vadot/* Combo PHY 0 is configured to act as as PCIe 2.0 PHY */
94*0e8011faSEmmanuel Vadot/* Used by PCIe controller 4 (pcie2x1l2) */
95*0e8011faSEmmanuel Vadot&combphy0_ps {
96*0e8011faSEmmanuel Vadot	status = "okay";
97*0e8011faSEmmanuel Vadot};
98*0e8011faSEmmanuel Vadot
99*0e8011faSEmmanuel Vadot&cpu_l0 {
100*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
101*0e8011faSEmmanuel Vadot};
102*0e8011faSEmmanuel Vadot
103*0e8011faSEmmanuel Vadot&cpu_l1 {
104*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
105*0e8011faSEmmanuel Vadot};
106*0e8011faSEmmanuel Vadot
107*0e8011faSEmmanuel Vadot&cpu_l2 {
108*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
109*0e8011faSEmmanuel Vadot};
110*0e8011faSEmmanuel Vadot
111*0e8011faSEmmanuel Vadot&cpu_l3 {
112*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_lit_s0>;
113*0e8011faSEmmanuel Vadot};
114*0e8011faSEmmanuel Vadot
115*0e8011faSEmmanuel Vadot&cpu_b0 {
116*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
117*0e8011faSEmmanuel Vadot};
118*0e8011faSEmmanuel Vadot
119*0e8011faSEmmanuel Vadot&cpu_b1 {
120*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big0_s0>;
121*0e8011faSEmmanuel Vadot};
122*0e8011faSEmmanuel Vadot
123*0e8011faSEmmanuel Vadot&cpu_b2 {
124*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
125*0e8011faSEmmanuel Vadot};
126*0e8011faSEmmanuel Vadot
127*0e8011faSEmmanuel Vadot&cpu_b3 {
128*0e8011faSEmmanuel Vadot	cpu-supply = <&vdd_cpu_big1_s0>;
129*0e8011faSEmmanuel Vadot};
130*0e8011faSEmmanuel Vadot
131*0e8011faSEmmanuel Vadot&gpu {
132*0e8011faSEmmanuel Vadot	mali-supply = <&vdd_gpu_s0>;
133*0e8011faSEmmanuel Vadot	sram-supply = <&vdd_gpu_mem_s0>;
134*0e8011faSEmmanuel Vadot	status = "okay";
135*0e8011faSEmmanuel Vadot};
136*0e8011faSEmmanuel Vadot
137*0e8011faSEmmanuel Vadot&i2c0 {
138*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
139*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c0m2_xfer>;
140*0e8011faSEmmanuel Vadot	status = "okay";
141*0e8011faSEmmanuel Vadot
142*0e8011faSEmmanuel Vadot	vdd_cpu_big0_s0: regulator@42 {
143*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk8602";
144*0e8011faSEmmanuel Vadot		reg = <0x42>;
145*0e8011faSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
146*0e8011faSEmmanuel Vadot		regulator-name = "vdd_cpu_big0_s0";
147*0e8011faSEmmanuel Vadot		regulator-always-on;
148*0e8011faSEmmanuel Vadot		regulator-boot-on;
149*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <550000>;
150*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
151*0e8011faSEmmanuel Vadot		regulator-ramp-delay = <2300>;
152*0e8011faSEmmanuel Vadot		vin-supply = <&vcc_4v0_sys>;
153*0e8011faSEmmanuel Vadot
154*0e8011faSEmmanuel Vadot		regulator-state-mem {
155*0e8011faSEmmanuel Vadot			regulator-off-in-suspend;
156*0e8011faSEmmanuel Vadot		};
157*0e8011faSEmmanuel Vadot	};
158*0e8011faSEmmanuel Vadot
159*0e8011faSEmmanuel Vadot	vdd_cpu_big1_s0: regulator@43 {
160*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk8603", "rockchip,rk8602";
161*0e8011faSEmmanuel Vadot		reg = <0x43>;
162*0e8011faSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
163*0e8011faSEmmanuel Vadot		regulator-name = "vdd_cpu_big1_s0";
164*0e8011faSEmmanuel Vadot		regulator-always-on;
165*0e8011faSEmmanuel Vadot		regulator-boot-on;
166*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <550000>;
167*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
168*0e8011faSEmmanuel Vadot		regulator-ramp-delay = <2300>;
169*0e8011faSEmmanuel Vadot		vin-supply = <&vcc_4v0_sys>;
170*0e8011faSEmmanuel Vadot
171*0e8011faSEmmanuel Vadot		regulator-state-mem {
172*0e8011faSEmmanuel Vadot			regulator-off-in-suspend;
173*0e8011faSEmmanuel Vadot		};
174*0e8011faSEmmanuel Vadot	};
175*0e8011faSEmmanuel Vadot};
176*0e8011faSEmmanuel Vadot
177*0e8011faSEmmanuel Vadot&i2c2 {
178*0e8011faSEmmanuel Vadot	status = "okay";
179*0e8011faSEmmanuel Vadot
180*0e8011faSEmmanuel Vadot	vdd_npu_s0: regulator@42 {
181*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk8602";
182*0e8011faSEmmanuel Vadot		reg = <0x42>;
183*0e8011faSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
184*0e8011faSEmmanuel Vadot		regulator-name = "vdd_npu_s0";
185*0e8011faSEmmanuel Vadot		regulator-always-on;
186*0e8011faSEmmanuel Vadot		regulator-boot-on;
187*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <550000>;
188*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <950000>;
189*0e8011faSEmmanuel Vadot		regulator-ramp-delay = <2300>;
190*0e8011faSEmmanuel Vadot		vin-supply = <&vcc_4v0_sys>;
191*0e8011faSEmmanuel Vadot
192*0e8011faSEmmanuel Vadot		regulator-state-mem {
193*0e8011faSEmmanuel Vadot			regulator-off-in-suspend;
194*0e8011faSEmmanuel Vadot		};
195*0e8011faSEmmanuel Vadot	};
196*0e8011faSEmmanuel Vadot};
197*0e8011faSEmmanuel Vadot
198*0e8011faSEmmanuel Vadot&i2c6 {
199*0e8011faSEmmanuel Vadot	clock-frequency = <200000>;
200*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
201*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2c6m0_xfer>;
202*0e8011faSEmmanuel Vadot	status = "okay";
203*0e8011faSEmmanuel Vadot
204*0e8011faSEmmanuel Vadot	hym8563: rtc@51 {
205*0e8011faSEmmanuel Vadot		compatible = "haoyu,hym8563";
206*0e8011faSEmmanuel Vadot		reg = <0x51>;
207*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
208*0e8011faSEmmanuel Vadot		clock-output-names = "hym8563";
209*0e8011faSEmmanuel Vadot		interrupt-parent = <&gpio0>;
210*0e8011faSEmmanuel Vadot		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
211*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
212*0e8011faSEmmanuel Vadot		pinctrl-0 = <&hym8563_int>;
213*0e8011faSEmmanuel Vadot		wakeup-source;
214*0e8011faSEmmanuel Vadot	};
215*0e8011faSEmmanuel Vadot};
216*0e8011faSEmmanuel Vadot
217*0e8011faSEmmanuel Vadot&i2c7 {
218*0e8011faSEmmanuel Vadot	clock-frequency = <200000>;
219*0e8011faSEmmanuel Vadot	status = "okay";
220*0e8011faSEmmanuel Vadot
221*0e8011faSEmmanuel Vadot	rt5616: audio-codec@1b {
222*0e8011faSEmmanuel Vadot		compatible = "realtek,rt5616";
223*0e8011faSEmmanuel Vadot		reg = <0x1b>;
224*0e8011faSEmmanuel Vadot		#sound-dai-cells = <0>;
225*0e8011faSEmmanuel Vadot	};
226*0e8011faSEmmanuel Vadot};
227*0e8011faSEmmanuel Vadot
228*0e8011faSEmmanuel Vadot&i2s0_8ch {
229*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
230*0e8011faSEmmanuel Vadot	pinctrl-0 = <&i2s0_lrck
231*0e8011faSEmmanuel Vadot				&i2s0_mclk
232*0e8011faSEmmanuel Vadot				&i2s0_sclk
233*0e8011faSEmmanuel Vadot				&i2s0_sdi0
234*0e8011faSEmmanuel Vadot				&i2s0_sdo0>;
235*0e8011faSEmmanuel Vadot	status = "okay";
236*0e8011faSEmmanuel Vadot};
237*0e8011faSEmmanuel Vadot
238*0e8011faSEmmanuel Vadot&i2s5_8ch {
239*0e8011faSEmmanuel Vadot	status = "okay";
240*0e8011faSEmmanuel Vadot};
241*0e8011faSEmmanuel Vadot
242*0e8011faSEmmanuel Vadot&i2s6_8ch {
243*0e8011faSEmmanuel Vadot	status = "okay";
244*0e8011faSEmmanuel Vadot};
245*0e8011faSEmmanuel Vadot
246*0e8011faSEmmanuel Vadot&i2s7_8ch {
247*0e8011faSEmmanuel Vadot	status = "okay";
248*0e8011faSEmmanuel Vadot};
249*0e8011faSEmmanuel Vadot
250*0e8011faSEmmanuel Vadot&pcie2x1l2 {
251*0e8011faSEmmanuel Vadot	/* r8125 ethernet, @fe190000 */
252*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
253*0e8011faSEmmanuel Vadot	pinctrl-0 = <&pcie2_2_rst>;
254*0e8011faSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
255*0e8011faSEmmanuel Vadot	vpcie3v3-supply = <&vcc_3v3_pcie20>;
256*0e8011faSEmmanuel Vadot	status = "okay";
257*0e8011faSEmmanuel Vadot};
258*0e8011faSEmmanuel Vadot
259*0e8011faSEmmanuel Vadot&pinctrl {
260*0e8011faSEmmanuel Vadot	gpio-leds {
261*0e8011faSEmmanuel Vadot		led_sys_pin: led-sys-pin {
262*0e8011faSEmmanuel Vadot			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
263*0e8011faSEmmanuel Vadot		};
264*0e8011faSEmmanuel Vadot
265*0e8011faSEmmanuel Vadot		led_usr_pin: led-usr-pin {
266*0e8011faSEmmanuel Vadot			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
267*0e8011faSEmmanuel Vadot		};
268*0e8011faSEmmanuel Vadot	};
269*0e8011faSEmmanuel Vadot
270*0e8011faSEmmanuel Vadot	hym8563 {
271*0e8011faSEmmanuel Vadot		hym8563_int: rtc-int {
272*0e8011faSEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
273*0e8011faSEmmanuel Vadot		};
274*0e8011faSEmmanuel Vadot	};
275*0e8011faSEmmanuel Vadot
276*0e8011faSEmmanuel Vadot	pcie {
277*0e8011faSEmmanuel Vadot		pcie2_2_rst: pcie2-2-rst {
278*0e8011faSEmmanuel Vadot			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
279*0e8011faSEmmanuel Vadot		};
280*0e8011faSEmmanuel Vadot	};
281*0e8011faSEmmanuel Vadot
282*0e8011faSEmmanuel Vadot	sdmmc {
283*0e8011faSEmmanuel Vadot		sd_s0_pwr: sd-s0-pwr {
284*0e8011faSEmmanuel Vadot			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
285*0e8011faSEmmanuel Vadot		};
286*0e8011faSEmmanuel Vadot	};
287*0e8011faSEmmanuel Vadot};
288*0e8011faSEmmanuel Vadot
289*0e8011faSEmmanuel Vadot&saradc {
290*0e8011faSEmmanuel Vadot	vref-supply = <&avcc_1v8_s0>;
291*0e8011faSEmmanuel Vadot	status = "okay";
292*0e8011faSEmmanuel Vadot};
293*0e8011faSEmmanuel Vadot
294*0e8011faSEmmanuel Vadot/* eMMC */
295*0e8011faSEmmanuel Vadot&sdhci {
296*0e8011faSEmmanuel Vadot	bus-width = <8>;
297*0e8011faSEmmanuel Vadot	mmc-hs400-1_8v;
298*0e8011faSEmmanuel Vadot	mmc-hs400-enhanced-strobe;
299*0e8011faSEmmanuel Vadot	no-sd;
300*0e8011faSEmmanuel Vadot	no-sdio;
301*0e8011faSEmmanuel Vadot	non-removable;
302*0e8011faSEmmanuel Vadot	vmmc-supply = <&vcc_3v3_s3>;
303*0e8011faSEmmanuel Vadot	vqmmc-supply = <&vcc_1v8_s3>;
304*0e8011faSEmmanuel Vadot	status = "okay";
305*0e8011faSEmmanuel Vadot};
306*0e8011faSEmmanuel Vadot
307*0e8011faSEmmanuel Vadot/* microSD card */
308*0e8011faSEmmanuel Vadot&sdmmc {
309*0e8011faSEmmanuel Vadot	bus-width = <4>;
310*0e8011faSEmmanuel Vadot	cap-sd-highspeed;
311*0e8011faSEmmanuel Vadot	disable-wp;
312*0e8011faSEmmanuel Vadot	max-frequency = <150000000>;
313*0e8011faSEmmanuel Vadot	no-mmc;
314*0e8011faSEmmanuel Vadot	no-sdio;
315*0e8011faSEmmanuel Vadot	sd-uhs-sdr104;
316*0e8011faSEmmanuel Vadot	vmmc-supply = <&vcc_3v3_sd_s0>;
317*0e8011faSEmmanuel Vadot	vqmmc-supply = <&vccio_sd_s0>;
318*0e8011faSEmmanuel Vadot};
319*0e8011faSEmmanuel Vadot
320*0e8011faSEmmanuel Vadot&spi2 {
321*0e8011faSEmmanuel Vadot	assigned-clocks = <&cru CLK_SPI2>;
322*0e8011faSEmmanuel Vadot	assigned-clock-rates = <200000000>;
323*0e8011faSEmmanuel Vadot	num-cs = <1>;
324*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
325*0e8011faSEmmanuel Vadot	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
326*0e8011faSEmmanuel Vadot	status = "okay";
327*0e8011faSEmmanuel Vadot
328*0e8011faSEmmanuel Vadot	rk806_single: pmic@0 {
329*0e8011faSEmmanuel Vadot		compatible = "rockchip,rk806";
330*0e8011faSEmmanuel Vadot		reg = <0x0>;
331*0e8011faSEmmanuel Vadot
332*0e8011faSEmmanuel Vadot		interrupt-parent = <&gpio0>;
333*0e8011faSEmmanuel Vadot		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
334*0e8011faSEmmanuel Vadot
335*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
336*0e8011faSEmmanuel Vadot		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
337*0e8011faSEmmanuel Vadot			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
338*0e8011faSEmmanuel Vadot
339*0e8011faSEmmanuel Vadot		spi-max-frequency = <1000000>;
340*0e8011faSEmmanuel Vadot		system-power-controller;
341*0e8011faSEmmanuel Vadot
342*0e8011faSEmmanuel Vadot		vcc1-supply = <&vcc_4v0_sys>;
343*0e8011faSEmmanuel Vadot		vcc2-supply = <&vcc_4v0_sys>;
344*0e8011faSEmmanuel Vadot		vcc3-supply = <&vcc_4v0_sys>;
345*0e8011faSEmmanuel Vadot		vcc4-supply = <&vcc_4v0_sys>;
346*0e8011faSEmmanuel Vadot		vcc5-supply = <&vcc_4v0_sys>;
347*0e8011faSEmmanuel Vadot		vcc6-supply = <&vcc_4v0_sys>;
348*0e8011faSEmmanuel Vadot		vcc7-supply = <&vcc_4v0_sys>;
349*0e8011faSEmmanuel Vadot		vcc8-supply = <&vcc_4v0_sys>;
350*0e8011faSEmmanuel Vadot		vcc9-supply = <&vcc_4v0_sys>;
351*0e8011faSEmmanuel Vadot		vcc10-supply = <&vcc_4v0_sys>;
352*0e8011faSEmmanuel Vadot		vcc11-supply = <&vcc_2v0_pldo_s3>;
353*0e8011faSEmmanuel Vadot		vcc12-supply = <&vcc_4v0_sys>;
354*0e8011faSEmmanuel Vadot		vcc13-supply = <&vcc_1v1_nldo_s3>;
355*0e8011faSEmmanuel Vadot		vcc14-supply = <&vcc_1v1_nldo_s3>;
356*0e8011faSEmmanuel Vadot		vcca-supply = <&vcc_4v0_sys>;
357*0e8011faSEmmanuel Vadot
358*0e8011faSEmmanuel Vadot		gpio-controller;
359*0e8011faSEmmanuel Vadot		#gpio-cells = <2>;
360*0e8011faSEmmanuel Vadot
361*0e8011faSEmmanuel Vadot		rk806_dvs1_null: dvs1-null-pins {
362*0e8011faSEmmanuel Vadot			pins = "gpio_pwrctrl1";
363*0e8011faSEmmanuel Vadot			function = "pin_fun0";
364*0e8011faSEmmanuel Vadot		};
365*0e8011faSEmmanuel Vadot
366*0e8011faSEmmanuel Vadot		rk806_dvs2_null: dvs2-null-pins {
367*0e8011faSEmmanuel Vadot			pins = "gpio_pwrctrl2";
368*0e8011faSEmmanuel Vadot			function = "pin_fun0";
369*0e8011faSEmmanuel Vadot		};
370*0e8011faSEmmanuel Vadot
371*0e8011faSEmmanuel Vadot		rk806_dvs3_null: dvs3-null-pins {
372*0e8011faSEmmanuel Vadot			pins = "gpio_pwrctrl3";
373*0e8011faSEmmanuel Vadot			function = "pin_fun0";
374*0e8011faSEmmanuel Vadot		};
375*0e8011faSEmmanuel Vadot
376*0e8011faSEmmanuel Vadot		regulators {
377*0e8011faSEmmanuel Vadot			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
378*0e8011faSEmmanuel Vadot				regulator-boot-on;
379*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <550000>;
380*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <950000>;
381*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
382*0e8011faSEmmanuel Vadot				regulator-name = "vdd_gpu_s0";
383*0e8011faSEmmanuel Vadot				regulator-enable-ramp-delay = <400>;
384*0e8011faSEmmanuel Vadot
385*0e8011faSEmmanuel Vadot				regulator-state-mem {
386*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
387*0e8011faSEmmanuel Vadot				};
388*0e8011faSEmmanuel Vadot			};
389*0e8011faSEmmanuel Vadot
390*0e8011faSEmmanuel Vadot			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
391*0e8011faSEmmanuel Vadot				regulator-always-on;
392*0e8011faSEmmanuel Vadot				regulator-boot-on;
393*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <550000>;
394*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <950000>;
395*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
396*0e8011faSEmmanuel Vadot				regulator-name = "vdd_cpu_lit_s0";
397*0e8011faSEmmanuel Vadot
398*0e8011faSEmmanuel Vadot				regulator-state-mem {
399*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
400*0e8011faSEmmanuel Vadot				};
401*0e8011faSEmmanuel Vadot			};
402*0e8011faSEmmanuel Vadot
403*0e8011faSEmmanuel Vadot			vdd_log_s0: dcdc-reg3 {
404*0e8011faSEmmanuel Vadot				regulator-always-on;
405*0e8011faSEmmanuel Vadot				regulator-boot-on;
406*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <675000>;
407*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
408*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
409*0e8011faSEmmanuel Vadot				regulator-name = "vdd_log_s0";
410*0e8011faSEmmanuel Vadot
411*0e8011faSEmmanuel Vadot				regulator-state-mem {
412*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
413*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
414*0e8011faSEmmanuel Vadot				};
415*0e8011faSEmmanuel Vadot			};
416*0e8011faSEmmanuel Vadot
417*0e8011faSEmmanuel Vadot			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
418*0e8011faSEmmanuel Vadot				regulator-always-on;
419*0e8011faSEmmanuel Vadot				regulator-boot-on;
420*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <550000>;
421*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <950000>;
422*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
423*0e8011faSEmmanuel Vadot				regulator-name = "vdd_vdenc_s0";
424*0e8011faSEmmanuel Vadot
425*0e8011faSEmmanuel Vadot				regulator-state-mem {
426*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
427*0e8011faSEmmanuel Vadot				};
428*0e8011faSEmmanuel Vadot			};
429*0e8011faSEmmanuel Vadot
430*0e8011faSEmmanuel Vadot			vdd_ddr_s0: dcdc-reg5 {
431*0e8011faSEmmanuel Vadot				regulator-always-on;
432*0e8011faSEmmanuel Vadot				regulator-boot-on;
433*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <675000>;
434*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <900000>;
435*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
436*0e8011faSEmmanuel Vadot				regulator-name = "vdd_ddr_s0";
437*0e8011faSEmmanuel Vadot
438*0e8011faSEmmanuel Vadot				regulator-state-mem {
439*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
440*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
441*0e8011faSEmmanuel Vadot				};
442*0e8011faSEmmanuel Vadot			};
443*0e8011faSEmmanuel Vadot
444*0e8011faSEmmanuel Vadot			vdd2_ddr_s3: dcdc-reg6 {
445*0e8011faSEmmanuel Vadot				regulator-always-on;
446*0e8011faSEmmanuel Vadot				regulator-boot-on;
447*0e8011faSEmmanuel Vadot				regulator-name = "vdd2_ddr_s3";
448*0e8011faSEmmanuel Vadot
449*0e8011faSEmmanuel Vadot				regulator-state-mem {
450*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
451*0e8011faSEmmanuel Vadot				};
452*0e8011faSEmmanuel Vadot			};
453*0e8011faSEmmanuel Vadot
454*0e8011faSEmmanuel Vadot			vcc_2v0_pldo_s3: dcdc-reg7 {
455*0e8011faSEmmanuel Vadot				regulator-always-on;
456*0e8011faSEmmanuel Vadot				regulator-boot-on;
457*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <2000000>;
458*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <2000000>;
459*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
460*0e8011faSEmmanuel Vadot				regulator-name = "vdd_2v0_pldo_s3";
461*0e8011faSEmmanuel Vadot
462*0e8011faSEmmanuel Vadot				regulator-state-mem {
463*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
464*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <2000000>;
465*0e8011faSEmmanuel Vadot				};
466*0e8011faSEmmanuel Vadot			};
467*0e8011faSEmmanuel Vadot
468*0e8011faSEmmanuel Vadot			vcc_3v3_s3: dcdc-reg8 {
469*0e8011faSEmmanuel Vadot				regulator-always-on;
470*0e8011faSEmmanuel Vadot				regulator-boot-on;
471*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
472*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
473*0e8011faSEmmanuel Vadot				regulator-name = "vcc_3v3_s3";
474*0e8011faSEmmanuel Vadot
475*0e8011faSEmmanuel Vadot				regulator-state-mem {
476*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
477*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
478*0e8011faSEmmanuel Vadot				};
479*0e8011faSEmmanuel Vadot			};
480*0e8011faSEmmanuel Vadot
481*0e8011faSEmmanuel Vadot			vddq_ddr_s0: dcdc-reg9 {
482*0e8011faSEmmanuel Vadot				regulator-always-on;
483*0e8011faSEmmanuel Vadot				regulator-boot-on;
484*0e8011faSEmmanuel Vadot				regulator-name = "vddq_ddr_s0";
485*0e8011faSEmmanuel Vadot
486*0e8011faSEmmanuel Vadot				regulator-state-mem {
487*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
488*0e8011faSEmmanuel Vadot				};
489*0e8011faSEmmanuel Vadot			};
490*0e8011faSEmmanuel Vadot
491*0e8011faSEmmanuel Vadot			vcc_1v8_s3: dcdc-reg10 {
492*0e8011faSEmmanuel Vadot				regulator-always-on;
493*0e8011faSEmmanuel Vadot				regulator-boot-on;
494*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
495*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
496*0e8011faSEmmanuel Vadot				regulator-name = "vcc_1v8_s3";
497*0e8011faSEmmanuel Vadot
498*0e8011faSEmmanuel Vadot				regulator-state-mem {
499*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
500*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
501*0e8011faSEmmanuel Vadot				};
502*0e8011faSEmmanuel Vadot			};
503*0e8011faSEmmanuel Vadot
504*0e8011faSEmmanuel Vadot			avcc_1v8_s0: pldo-reg1 {
505*0e8011faSEmmanuel Vadot				regulator-always-on;
506*0e8011faSEmmanuel Vadot				regulator-boot-on;
507*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
508*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
509*0e8011faSEmmanuel Vadot				regulator-name = "avcc_1v8_s0";
510*0e8011faSEmmanuel Vadot
511*0e8011faSEmmanuel Vadot				regulator-state-mem {
512*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
513*0e8011faSEmmanuel Vadot				};
514*0e8011faSEmmanuel Vadot			};
515*0e8011faSEmmanuel Vadot
516*0e8011faSEmmanuel Vadot			vcc_1v8_s0: pldo-reg2 {
517*0e8011faSEmmanuel Vadot				regulator-always-on;
518*0e8011faSEmmanuel Vadot				regulator-boot-on;
519*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
520*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
521*0e8011faSEmmanuel Vadot				regulator-name = "vcc_1v8_s0";
522*0e8011faSEmmanuel Vadot
523*0e8011faSEmmanuel Vadot				regulator-state-mem {
524*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
525*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
526*0e8011faSEmmanuel Vadot				};
527*0e8011faSEmmanuel Vadot			};
528*0e8011faSEmmanuel Vadot
529*0e8011faSEmmanuel Vadot			avdd_1v2_s0: pldo-reg3 {
530*0e8011faSEmmanuel Vadot				regulator-always-on;
531*0e8011faSEmmanuel Vadot				regulator-boot-on;
532*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
533*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
534*0e8011faSEmmanuel Vadot				regulator-name = "avdd_1v2_s0";
535*0e8011faSEmmanuel Vadot
536*0e8011faSEmmanuel Vadot				regulator-state-mem {
537*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
538*0e8011faSEmmanuel Vadot				};
539*0e8011faSEmmanuel Vadot			};
540*0e8011faSEmmanuel Vadot
541*0e8011faSEmmanuel Vadot			vcc_3v3_s0: pldo-reg4 {
542*0e8011faSEmmanuel Vadot				regulator-always-on;
543*0e8011faSEmmanuel Vadot				regulator-boot-on;
544*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
545*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
546*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
547*0e8011faSEmmanuel Vadot				regulator-name = "vcc_3v3_s0";
548*0e8011faSEmmanuel Vadot
549*0e8011faSEmmanuel Vadot				regulator-state-mem {
550*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
551*0e8011faSEmmanuel Vadot				};
552*0e8011faSEmmanuel Vadot			};
553*0e8011faSEmmanuel Vadot
554*0e8011faSEmmanuel Vadot			vccio_sd_s0: pldo-reg5 {
555*0e8011faSEmmanuel Vadot				regulator-always-on;
556*0e8011faSEmmanuel Vadot				regulator-boot-on;
557*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
558*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
559*0e8011faSEmmanuel Vadot				regulator-ramp-delay = <12500>;
560*0e8011faSEmmanuel Vadot				regulator-name = "vccio_sd_s0";
561*0e8011faSEmmanuel Vadot
562*0e8011faSEmmanuel Vadot				regulator-state-mem {
563*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
564*0e8011faSEmmanuel Vadot				};
565*0e8011faSEmmanuel Vadot			};
566*0e8011faSEmmanuel Vadot
567*0e8011faSEmmanuel Vadot			pldo6_s3: pldo-reg6 {
568*0e8011faSEmmanuel Vadot				regulator-always-on;
569*0e8011faSEmmanuel Vadot				regulator-boot-on;
570*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
571*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
572*0e8011faSEmmanuel Vadot				regulator-name = "pldo6_s3";
573*0e8011faSEmmanuel Vadot
574*0e8011faSEmmanuel Vadot				regulator-state-mem {
575*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
576*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
577*0e8011faSEmmanuel Vadot				};
578*0e8011faSEmmanuel Vadot			};
579*0e8011faSEmmanuel Vadot
580*0e8011faSEmmanuel Vadot			vdd_0v75_s3: nldo-reg1 {
581*0e8011faSEmmanuel Vadot				regulator-always-on;
582*0e8011faSEmmanuel Vadot				regulator-boot-on;
583*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <750000>;
584*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
585*0e8011faSEmmanuel Vadot				regulator-name = "vdd_0v75_s3";
586*0e8011faSEmmanuel Vadot
587*0e8011faSEmmanuel Vadot				regulator-state-mem {
588*0e8011faSEmmanuel Vadot					regulator-on-in-suspend;
589*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <750000>;
590*0e8011faSEmmanuel Vadot				};
591*0e8011faSEmmanuel Vadot			};
592*0e8011faSEmmanuel Vadot
593*0e8011faSEmmanuel Vadot			vdd_ddr_pll_s0: nldo-reg2 {
594*0e8011faSEmmanuel Vadot				regulator-always-on;
595*0e8011faSEmmanuel Vadot				regulator-boot-on;
596*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <850000>;
597*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <850000>;
598*0e8011faSEmmanuel Vadot				regulator-name = "vdd_ddr_pll_s0";
599*0e8011faSEmmanuel Vadot
600*0e8011faSEmmanuel Vadot				regulator-state-mem {
601*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
602*0e8011faSEmmanuel Vadot					regulator-suspend-microvolt = <850000>;
603*0e8011faSEmmanuel Vadot				};
604*0e8011faSEmmanuel Vadot			};
605*0e8011faSEmmanuel Vadot
606*0e8011faSEmmanuel Vadot			avdd_0v75_s0: nldo-reg3 {
607*0e8011faSEmmanuel Vadot				regulator-always-on;
608*0e8011faSEmmanuel Vadot				regulator-boot-on;
609*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <750000>;
610*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
611*0e8011faSEmmanuel Vadot				regulator-name = "avdd_0v75_s0";
612*0e8011faSEmmanuel Vadot
613*0e8011faSEmmanuel Vadot				regulator-state-mem {
614*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
615*0e8011faSEmmanuel Vadot				};
616*0e8011faSEmmanuel Vadot			};
617*0e8011faSEmmanuel Vadot
618*0e8011faSEmmanuel Vadot			vdd_0v85_s0: nldo-reg4 {
619*0e8011faSEmmanuel Vadot				regulator-always-on;
620*0e8011faSEmmanuel Vadot				regulator-boot-on;
621*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <850000>;
622*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <850000>;
623*0e8011faSEmmanuel Vadot				regulator-name = "vdd_0v85_s0";
624*0e8011faSEmmanuel Vadot
625*0e8011faSEmmanuel Vadot				regulator-state-mem {
626*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
627*0e8011faSEmmanuel Vadot				};
628*0e8011faSEmmanuel Vadot			};
629*0e8011faSEmmanuel Vadot
630*0e8011faSEmmanuel Vadot			vdd_0v75_s0: nldo-reg5 {
631*0e8011faSEmmanuel Vadot				regulator-always-on;
632*0e8011faSEmmanuel Vadot				regulator-boot-on;
633*0e8011faSEmmanuel Vadot				regulator-min-microvolt = <750000>;
634*0e8011faSEmmanuel Vadot				regulator-max-microvolt = <750000>;
635*0e8011faSEmmanuel Vadot				regulator-name = "vdd_0v75_s0";
636*0e8011faSEmmanuel Vadot
637*0e8011faSEmmanuel Vadot				regulator-state-mem {
638*0e8011faSEmmanuel Vadot					regulator-off-in-suspend;
639*0e8011faSEmmanuel Vadot				};
640*0e8011faSEmmanuel Vadot			};
641*0e8011faSEmmanuel Vadot		};
642*0e8011faSEmmanuel Vadot	};
643*0e8011faSEmmanuel Vadot};
644*0e8011faSEmmanuel Vadot
645*0e8011faSEmmanuel Vadot&tsadc {
646*0e8011faSEmmanuel Vadot	status = "okay";
647*0e8011faSEmmanuel Vadot};
648*0e8011faSEmmanuel Vadot
649*0e8011faSEmmanuel Vadot/* Debug UART */
650*0e8011faSEmmanuel Vadot&uart2 {
651*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
652*0e8011faSEmmanuel Vadot	pinctrl-0 = <&uart2m0_xfer>;
653*0e8011faSEmmanuel Vadot};
654