1d1824cf9SSebastian Reichel// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2d1824cf9SSebastian Reichel
3d1824cf9SSebastian Reichel/dts-v1/;
4d1824cf9SSebastian Reichel
5d1824cf9SSebastian Reichel#include <dt-bindings/gpio/gpio.h>
6db02f866SSebastian Reichel#include <dt-bindings/leds/common.h>
7d1824cf9SSebastian Reichel#include <dt-bindings/pinctrl/rockchip.h>
8d1824cf9SSebastian Reichel#include "rk3588s.dtsi"
9d1824cf9SSebastian Reichel
10d1824cf9SSebastian Reichel/ {
11d1824cf9SSebastian Reichel	model = "Radxa ROCK 5 Model A";
12d1824cf9SSebastian Reichel	compatible = "radxa,rock-5a", "rockchip,rk3588s";
13d1824cf9SSebastian Reichel
14d1824cf9SSebastian Reichel	aliases {
15991f136cSChristopher Obbard		mmc0 = &sdhci;
16d1824cf9SSebastian Reichel		serial2 = &uart2;
17d1824cf9SSebastian Reichel	};
18d1824cf9SSebastian Reichel
19fb031e62SSebastian Reichel	analog-sound {
20fb031e62SSebastian Reichel		compatible = "audio-graph-card";
21fb031e62SSebastian Reichel		label = "rk3588-es8316";
22fb031e62SSebastian Reichel
23fb031e62SSebastian Reichel		widgets = "Microphone", "Mic Jack",
24fb031e62SSebastian Reichel			  "Headphone", "Headphones";
25fb031e62SSebastian Reichel
26fb031e62SSebastian Reichel		routing = "MIC2", "Mic Jack",
27fb031e62SSebastian Reichel			  "Headphones", "HPOL",
28fb031e62SSebastian Reichel			  "Headphones", "HPOR";
29fb031e62SSebastian Reichel
30fb031e62SSebastian Reichel		dais = <&i2s0_8ch_p0>;
31fb031e62SSebastian Reichel	};
32fb031e62SSebastian Reichel
33d1824cf9SSebastian Reichel	chosen {
34d1824cf9SSebastian Reichel		stdout-path = "serial2:1500000n8";
35d1824cf9SSebastian Reichel	};
3675fdcbc8SSebastian Reichel
37db02f866SSebastian Reichel	leds {
38db02f866SSebastian Reichel		compatible = "gpio-leds";
39db02f866SSebastian Reichel		pinctrl-names = "default";
40db02f866SSebastian Reichel		pinctrl-0 = <&io_led>;
41db02f866SSebastian Reichel
42db02f866SSebastian Reichel		io-led {
43db02f866SSebastian Reichel			color = <LED_COLOR_ID_BLUE>;
44db02f866SSebastian Reichel			function = LED_FUNCTION_STATUS;
45db02f866SSebastian Reichel			gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
46db02f866SSebastian Reichel			linux,default-trigger = "heartbeat";
47db02f866SSebastian Reichel		};
48db02f866SSebastian Reichel	};
49db02f866SSebastian Reichel
5075fdcbc8SSebastian Reichel	vcc12v_dcin: vcc12v-dcin-regulator {
5175fdcbc8SSebastian Reichel		compatible = "regulator-fixed";
5275fdcbc8SSebastian Reichel		regulator-name = "vcc12v_dcin";
5375fdcbc8SSebastian Reichel		regulator-always-on;
5475fdcbc8SSebastian Reichel		regulator-boot-on;
5575fdcbc8SSebastian Reichel		regulator-min-microvolt = <12000000>;
5675fdcbc8SSebastian Reichel		regulator-max-microvolt = <12000000>;
5775fdcbc8SSebastian Reichel	};
5875fdcbc8SSebastian Reichel
5975fdcbc8SSebastian Reichel	vcc5v0_sys: vcc5v0-sys-regulator {
6075fdcbc8SSebastian Reichel		compatible = "regulator-fixed";
6175fdcbc8SSebastian Reichel		regulator-name = "vcc5v0_sys";
6275fdcbc8SSebastian Reichel		regulator-always-on;
6375fdcbc8SSebastian Reichel		regulator-boot-on;
6475fdcbc8SSebastian Reichel		regulator-min-microvolt = <5000000>;
6575fdcbc8SSebastian Reichel		regulator-max-microvolt = <5000000>;
6675fdcbc8SSebastian Reichel		vin-supply = <&vcc12v_dcin>;
6775fdcbc8SSebastian Reichel	};
6875fdcbc8SSebastian Reichel
6953bf040eSSebastian Reichel	vcc_5v0: vcc-5v0-regulator {
7053bf040eSSebastian Reichel		compatible = "regulator-fixed";
7153bf040eSSebastian Reichel		regulator-name = "vcc_5v0";
7253bf040eSSebastian Reichel		regulator-min-microvolt = <5000000>;
7353bf040eSSebastian Reichel		regulator-max-microvolt = <5000000>;
7453bf040eSSebastian Reichel		regulator-boot-on;
7553bf040eSSebastian Reichel		regulator-always-on;
7653bf040eSSebastian Reichel		enable-active-high;
7753bf040eSSebastian Reichel		gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
7853bf040eSSebastian Reichel		pinctrl-names = "default";
7953bf040eSSebastian Reichel		pinctrl-0 = <&vcc_5v0_en>;
8053bf040eSSebastian Reichel		vin-supply = <&vcc5v0_sys>;
8153bf040eSSebastian Reichel	};
8253bf040eSSebastian Reichel
8375fdcbc8SSebastian Reichel	vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
8475fdcbc8SSebastian Reichel		compatible = "regulator-fixed";
8575fdcbc8SSebastian Reichel		regulator-name = "vcc_1v1_nldo_s3";
8675fdcbc8SSebastian Reichel		regulator-always-on;
8775fdcbc8SSebastian Reichel		regulator-boot-on;
8875fdcbc8SSebastian Reichel		regulator-min-microvolt = <1100000>;
8975fdcbc8SSebastian Reichel		regulator-max-microvolt = <1100000>;
9075fdcbc8SSebastian Reichel		vin-supply = <&vcc5v0_sys>;
9175fdcbc8SSebastian Reichel	};
9275fdcbc8SSebastian Reichel};
9375fdcbc8SSebastian Reichel
944bbca5c7SSebastian Reichel&cpu_b0 {
954bbca5c7SSebastian Reichel	cpu-supply = <&vdd_cpu_big0_s0>;
964bbca5c7SSebastian Reichel};
974bbca5c7SSebastian Reichel
984bbca5c7SSebastian Reichel&cpu_b1 {
994bbca5c7SSebastian Reichel	cpu-supply = <&vdd_cpu_big0_s0>;
1004bbca5c7SSebastian Reichel};
1014bbca5c7SSebastian Reichel
1024bbca5c7SSebastian Reichel&cpu_b2 {
1034bbca5c7SSebastian Reichel	cpu-supply = <&vdd_cpu_big1_s0>;
1044bbca5c7SSebastian Reichel};
1054bbca5c7SSebastian Reichel
1064bbca5c7SSebastian Reichel&cpu_b3 {
1074bbca5c7SSebastian Reichel	cpu-supply = <&vdd_cpu_big1_s0>;
1084bbca5c7SSebastian Reichel};
1094bbca5c7SSebastian Reichel
11075fdcbc8SSebastian Reichel&cpu_l0 {
11175fdcbc8SSebastian Reichel	cpu-supply = <&vdd_cpu_lit_s0>;
11275fdcbc8SSebastian Reichel};
11375fdcbc8SSebastian Reichel
11475fdcbc8SSebastian Reichel&cpu_l1 {
11575fdcbc8SSebastian Reichel	cpu-supply = <&vdd_cpu_lit_s0>;
11675fdcbc8SSebastian Reichel};
11775fdcbc8SSebastian Reichel
11875fdcbc8SSebastian Reichel&cpu_l2 {
11975fdcbc8SSebastian Reichel	cpu-supply = <&vdd_cpu_lit_s0>;
12075fdcbc8SSebastian Reichel};
12175fdcbc8SSebastian Reichel
12275fdcbc8SSebastian Reichel&cpu_l3 {
12375fdcbc8SSebastian Reichel	cpu-supply = <&vdd_cpu_lit_s0>;
124d1824cf9SSebastian Reichel};
125d1824cf9SSebastian Reichel
1264bbca5c7SSebastian Reichel&i2c0 {
1274bbca5c7SSebastian Reichel	pinctrl-names = "default";
1284bbca5c7SSebastian Reichel	pinctrl-0 = <&i2c0m2_xfer>;
1294bbca5c7SSebastian Reichel	status = "okay";
1304bbca5c7SSebastian Reichel
1314bbca5c7SSebastian Reichel	vdd_cpu_big0_s0: regulator@42 {
1324bbca5c7SSebastian Reichel		compatible = "rockchip,rk8602";
1334bbca5c7SSebastian Reichel		reg = <0x42>;
1344bbca5c7SSebastian Reichel		fcs,suspend-voltage-selector = <1>;
1354bbca5c7SSebastian Reichel		regulator-name = "vdd_cpu_big0_s0";
1364bbca5c7SSebastian Reichel		regulator-always-on;
1374bbca5c7SSebastian Reichel		regulator-boot-on;
1384bbca5c7SSebastian Reichel		regulator-min-microvolt = <550000>;
1394bbca5c7SSebastian Reichel		regulator-max-microvolt = <1050000>;
1404bbca5c7SSebastian Reichel		regulator-ramp-delay = <2300>;
1414bbca5c7SSebastian Reichel		vin-supply = <&vcc5v0_sys>;
1424bbca5c7SSebastian Reichel
1434bbca5c7SSebastian Reichel		regulator-state-mem {
1444bbca5c7SSebastian Reichel			regulator-off-in-suspend;
1454bbca5c7SSebastian Reichel		};
1464bbca5c7SSebastian Reichel	};
1474bbca5c7SSebastian Reichel
1484bbca5c7SSebastian Reichel	vdd_cpu_big1_s0: regulator@43 {
1494bbca5c7SSebastian Reichel		compatible = "rockchip,rk8603", "rockchip,rk8602";
1504bbca5c7SSebastian Reichel		reg = <0x43>;
1514bbca5c7SSebastian Reichel		fcs,suspend-voltage-selector = <1>;
1524bbca5c7SSebastian Reichel		regulator-name = "vdd_cpu_big1_s0";
1534bbca5c7SSebastian Reichel		regulator-always-on;
1544bbca5c7SSebastian Reichel		regulator-boot-on;
1554bbca5c7SSebastian Reichel		regulator-min-microvolt = <550000>;
1564bbca5c7SSebastian Reichel		regulator-max-microvolt = <1050000>;
1574bbca5c7SSebastian Reichel		regulator-ramp-delay = <2300>;
1584bbca5c7SSebastian Reichel		vin-supply = <&vcc5v0_sys>;
1594bbca5c7SSebastian Reichel
1604bbca5c7SSebastian Reichel		regulator-state-mem {
1614bbca5c7SSebastian Reichel			regulator-off-in-suspend;
1624bbca5c7SSebastian Reichel		};
1634bbca5c7SSebastian Reichel	};
1644bbca5c7SSebastian Reichel};
1654bbca5c7SSebastian Reichel
16689c88080SSebastian Reichel&i2c2 {
16789c88080SSebastian Reichel	status = "okay";
16889c88080SSebastian Reichel
169afc3925fSSebastian Reichel	vdd_npu_s0: regulator@42 {
170afc3925fSSebastian Reichel		compatible = "rockchip,rk8602";
171afc3925fSSebastian Reichel		reg = <0x42>;
172afc3925fSSebastian Reichel		fcs,suspend-voltage-selector = <1>;
173afc3925fSSebastian Reichel		regulator-name = "vdd_npu_s0";
174afc3925fSSebastian Reichel		regulator-always-on;
175afc3925fSSebastian Reichel		regulator-boot-on;
176afc3925fSSebastian Reichel		regulator-min-microvolt = <550000>;
177afc3925fSSebastian Reichel		regulator-max-microvolt = <950000>;
178afc3925fSSebastian Reichel		regulator-ramp-delay = <2300>;
179afc3925fSSebastian Reichel		vin-supply = <&vcc5v0_sys>;
180afc3925fSSebastian Reichel
181afc3925fSSebastian Reichel		regulator-state-mem {
182afc3925fSSebastian Reichel			regulator-off-in-suspend;
183afc3925fSSebastian Reichel		};
184afc3925fSSebastian Reichel	};
185afc3925fSSebastian Reichel
18689c88080SSebastian Reichel	eeprom: eeprom@50 {
18789c88080SSebastian Reichel		compatible = "belling,bl24c16a", "atmel,24c16";
18889c88080SSebastian Reichel		reg = <0x50>;
18989c88080SSebastian Reichel		pagesize = <16>;
19089c88080SSebastian Reichel	};
19189c88080SSebastian Reichel};
19289c88080SSebastian Reichel
193aa00cf88SSebastian Reichel&i2c3 {
194aa00cf88SSebastian Reichel	status = "okay";
195aa00cf88SSebastian Reichel};
196aa00cf88SSebastian Reichel
197aa00cf88SSebastian Reichel&i2c5 {
198aa00cf88SSebastian Reichel	status = "okay";
199aa00cf88SSebastian Reichel	pinctrl-names = "default";
200aa00cf88SSebastian Reichel	pinctrl-0 = <&i2c5m2_xfer>;
201aa00cf88SSebastian Reichel};
202aa00cf88SSebastian Reichel
203fb031e62SSebastian Reichel&i2c7 {
204fb031e62SSebastian Reichel	status = "okay";
205fb031e62SSebastian Reichel
206fb031e62SSebastian Reichel	es8316: audio-codec@11 {
207fb031e62SSebastian Reichel		compatible = "everest,es8316";
208fb031e62SSebastian Reichel		reg = <0x11>;
209fb031e62SSebastian Reichel		clocks = <&cru I2S0_8CH_MCLKOUT>;
210fb031e62SSebastian Reichel		clock-names = "mclk";
211fb031e62SSebastian Reichel		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
212fb031e62SSebastian Reichel		assigned-clock-rates = <12288000>;
213fb031e62SSebastian Reichel		#sound-dai-cells = <0>;
214fb031e62SSebastian Reichel
215fb031e62SSebastian Reichel		port {
216fb031e62SSebastian Reichel			es8316_p0_0: endpoint {
217fb031e62SSebastian Reichel				remote-endpoint = <&i2s0_8ch_p0_0>;
218fb031e62SSebastian Reichel			};
219fb031e62SSebastian Reichel		};
220fb031e62SSebastian Reichel	};
221fb031e62SSebastian Reichel};
222fb031e62SSebastian Reichel
223fb031e62SSebastian Reichel&i2s0_8ch {
224fb031e62SSebastian Reichel	pinctrl-names = "default";
225fb031e62SSebastian Reichel	pinctrl-0 = <&i2s0_lrck
226fb031e62SSebastian Reichel		     &i2s0_mclk
227fb031e62SSebastian Reichel		     &i2s0_sclk
228fb031e62SSebastian Reichel		     &i2s0_sdi0
229fb031e62SSebastian Reichel		     &i2s0_sdo0>;
230fb031e62SSebastian Reichel	status = "okay";
231fb031e62SSebastian Reichel
232fb031e62SSebastian Reichel	i2s0_8ch_p0: port {
233fb031e62SSebastian Reichel		i2s0_8ch_p0_0: endpoint {
234fb031e62SSebastian Reichel			dai-format = "i2s";
235fb031e62SSebastian Reichel			mclk-fs = <256>;
236fb031e62SSebastian Reichel			remote-endpoint = <&es8316_p0_0>;
237fb031e62SSebastian Reichel		};
238fb031e62SSebastian Reichel	};
239fb031e62SSebastian Reichel};
240fb031e62SSebastian Reichel
241d1824cf9SSebastian Reichel&gmac1 {
242d1824cf9SSebastian Reichel	clock_in_out = "output";
243d1824cf9SSebastian Reichel	phy-handle = <&rgmii_phy1>;
244cda0c2eaSLucas Tanure	phy-mode = "rgmii";
245d1824cf9SSebastian Reichel	pinctrl-0 = <&gmac1_miim
246d1824cf9SSebastian Reichel		     &gmac1_tx_bus2
247d1824cf9SSebastian Reichel		     &gmac1_rx_bus2
248d1824cf9SSebastian Reichel		     &gmac1_rgmii_clk
249d1824cf9SSebastian Reichel		     &gmac1_rgmii_bus>;
250d1824cf9SSebastian Reichel	pinctrl-names = "default";
251d1824cf9SSebastian Reichel	tx_delay = <0x3a>;
252cda0c2eaSLucas Tanure	rx_delay = <0x3e>;
253d1824cf9SSebastian Reichel	status = "okay";
254d1824cf9SSebastian Reichel};
255d1824cf9SSebastian Reichel
256d1824cf9SSebastian Reichel&mdio1 {
257d1824cf9SSebastian Reichel	rgmii_phy1: ethernet-phy@1 {
258d1824cf9SSebastian Reichel		/* RTL8211F */
259d1824cf9SSebastian Reichel		compatible = "ethernet-phy-id001c.c916";
260d1824cf9SSebastian Reichel		reg = <0x1>;
261d1824cf9SSebastian Reichel		pinctrl-names = "default";
262d1824cf9SSebastian Reichel		pinctrl-0 = <&rtl8211f_rst>;
263d1824cf9SSebastian Reichel		reset-assert-us = <20000>;
264d1824cf9SSebastian Reichel		reset-deassert-us = <100000>;
265d1824cf9SSebastian Reichel		reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
266d1824cf9SSebastian Reichel	};
267d1824cf9SSebastian Reichel};
268d1824cf9SSebastian Reichel
269d1824cf9SSebastian Reichel&pinctrl {
270db02f866SSebastian Reichel	leds {
271db02f866SSebastian Reichel		io_led: io-led {
272db02f866SSebastian Reichel			rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
273db02f866SSebastian Reichel		};
274db02f866SSebastian Reichel	};
275db02f866SSebastian Reichel
27653bf040eSSebastian Reichel	power {
27753bf040eSSebastian Reichel		vcc_5v0_en: vcc-5v0-en {
27853bf040eSSebastian Reichel			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
27953bf040eSSebastian Reichel		};
28053bf040eSSebastian Reichel	};
28153bf040eSSebastian Reichel
282d1824cf9SSebastian Reichel	rtl8211f {
283d1824cf9SSebastian Reichel		rtl8211f_rst: rtl8211f-rst {
284d1824cf9SSebastian Reichel			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
285d1824cf9SSebastian Reichel		};
286d1824cf9SSebastian Reichel	};
287d1824cf9SSebastian Reichel};
288d1824cf9SSebastian Reichel
289*43465c67SSebastian Reichel&saradc {
290*43465c67SSebastian Reichel	vref-supply = <&avcc_1v8_s0>;
291*43465c67SSebastian Reichel	status = "okay";
292*43465c67SSebastian Reichel};
293*43465c67SSebastian Reichel
294d1824cf9SSebastian Reichel&sdhci {
295d1824cf9SSebastian Reichel	bus-width = <8>;
296d1824cf9SSebastian Reichel	no-sdio;
297d1824cf9SSebastian Reichel	no-sd;
298d1824cf9SSebastian Reichel	non-removable;
299d1824cf9SSebastian Reichel	max-frequency = <200000000>;
300d1824cf9SSebastian Reichel	mmc-hs400-1_8v;
301d1824cf9SSebastian Reichel	mmc-hs400-enhanced-strobe;
302d1824cf9SSebastian Reichel	status = "okay";
303d1824cf9SSebastian Reichel};
304d1824cf9SSebastian Reichel
305ea3e66e7SLucas Tanure&sdmmc {
306ea3e66e7SLucas Tanure	bus-width = <4>;
307ea3e66e7SLucas Tanure	cap-mmc-highspeed;
308ea3e66e7SLucas Tanure	cap-sd-highspeed;
309ea3e66e7SLucas Tanure	disable-wp;
310ea3e66e7SLucas Tanure	max-frequency = <150000000>;
311ea3e66e7SLucas Tanure	no-sdio;
312ea3e66e7SLucas Tanure	no-mmc;
313ea3e66e7SLucas Tanure	sd-uhs-sdr104;
314ea3e66e7SLucas Tanure	vmmc-supply = <&vcc_3v3_s0>;
315ea3e66e7SLucas Tanure	vqmmc-supply = <&vccio_sd_s0>;
316ea3e66e7SLucas Tanure	status = "okay";
317ea3e66e7SLucas Tanure};
318ea3e66e7SLucas Tanure
31975fdcbc8SSebastian Reichel&spi2 {
32075fdcbc8SSebastian Reichel	status = "okay";
32175fdcbc8SSebastian Reichel	assigned-clocks = <&cru CLK_SPI2>;
32275fdcbc8SSebastian Reichel	assigned-clock-rates = <200000000>;
32375fdcbc8SSebastian Reichel	num-cs = <1>;
32475fdcbc8SSebastian Reichel	pinctrl-names = "default";
32575fdcbc8SSebastian Reichel	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
32675fdcbc8SSebastian Reichel
32775fdcbc8SSebastian Reichel	pmic@0 {
32875fdcbc8SSebastian Reichel		compatible = "rockchip,rk806";
32975fdcbc8SSebastian Reichel		reg = <0x0>;
33075fdcbc8SSebastian Reichel		interrupt-parent = <&gpio0>;
33175fdcbc8SSebastian Reichel		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
33275fdcbc8SSebastian Reichel		pinctrl-names = "default";
33375fdcbc8SSebastian Reichel		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
33475fdcbc8SSebastian Reichel			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
33575fdcbc8SSebastian Reichel		spi-max-frequency = <1000000>;
33675fdcbc8SSebastian Reichel
33775fdcbc8SSebastian Reichel		vcc1-supply = <&vcc5v0_sys>;
33875fdcbc8SSebastian Reichel		vcc2-supply = <&vcc5v0_sys>;
33975fdcbc8SSebastian Reichel		vcc3-supply = <&vcc5v0_sys>;
34075fdcbc8SSebastian Reichel		vcc4-supply = <&vcc5v0_sys>;
34175fdcbc8SSebastian Reichel		vcc5-supply = <&vcc5v0_sys>;
34275fdcbc8SSebastian Reichel		vcc6-supply = <&vcc5v0_sys>;
34375fdcbc8SSebastian Reichel		vcc7-supply = <&vcc5v0_sys>;
34475fdcbc8SSebastian Reichel		vcc8-supply = <&vcc5v0_sys>;
34575fdcbc8SSebastian Reichel		vcc9-supply = <&vcc5v0_sys>;
34675fdcbc8SSebastian Reichel		vcc10-supply = <&vcc5v0_sys>;
34775fdcbc8SSebastian Reichel		vcc11-supply = <&vcc_2v0_pldo_s3>;
34875fdcbc8SSebastian Reichel		vcc12-supply = <&vcc5v0_sys>;
34975fdcbc8SSebastian Reichel		vcc13-supply = <&vcc_1v1_nldo_s3>;
35075fdcbc8SSebastian Reichel		vcc14-supply = <&vcc_1v1_nldo_s3>;
35175fdcbc8SSebastian Reichel		vcca-supply = <&vcc5v0_sys>;
35275fdcbc8SSebastian Reichel
35375fdcbc8SSebastian Reichel		gpio-controller;
35475fdcbc8SSebastian Reichel		#gpio-cells = <2>;
35575fdcbc8SSebastian Reichel
35675fdcbc8SSebastian Reichel		rk806_dvs1_null: dvs1-null-pins {
35775fdcbc8SSebastian Reichel			pins = "gpio_pwrctrl2";
35875fdcbc8SSebastian Reichel			function = "pin_fun0";
35975fdcbc8SSebastian Reichel		};
36075fdcbc8SSebastian Reichel
36175fdcbc8SSebastian Reichel		rk806_dvs2_null: dvs2-null-pins {
36275fdcbc8SSebastian Reichel			pins = "gpio_pwrctrl2";
36375fdcbc8SSebastian Reichel			function = "pin_fun0";
36475fdcbc8SSebastian Reichel		};
36575fdcbc8SSebastian Reichel
36675fdcbc8SSebastian Reichel		rk806_dvs3_null: dvs3-null-pins {
36775fdcbc8SSebastian Reichel			pins = "gpio_pwrctrl3";
36875fdcbc8SSebastian Reichel			function = "pin_fun0";
36975fdcbc8SSebastian Reichel		};
37075fdcbc8SSebastian Reichel
37175fdcbc8SSebastian Reichel		regulators {
37275fdcbc8SSebastian Reichel			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
37375fdcbc8SSebastian Reichel				regulator-name = "vdd_gpu_s0";
37475fdcbc8SSebastian Reichel				regulator-boot-on;
37575fdcbc8SSebastian Reichel				regulator-min-microvolt = <550000>;
37675fdcbc8SSebastian Reichel				regulator-max-microvolt = <950000>;
37775fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
37875fdcbc8SSebastian Reichel				regulator-enable-ramp-delay = <400>;
37975fdcbc8SSebastian Reichel
38075fdcbc8SSebastian Reichel				regulator-state-mem {
38175fdcbc8SSebastian Reichel					regulator-off-in-suspend;
38275fdcbc8SSebastian Reichel				};
38375fdcbc8SSebastian Reichel			};
38475fdcbc8SSebastian Reichel
38575fdcbc8SSebastian Reichel			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
38675fdcbc8SSebastian Reichel				regulator-name = "vdd_cpu_lit_s0";
38775fdcbc8SSebastian Reichel				regulator-always-on;
38875fdcbc8SSebastian Reichel				regulator-boot-on;
38975fdcbc8SSebastian Reichel				regulator-min-microvolt = <550000>;
39075fdcbc8SSebastian Reichel				regulator-max-microvolt = <950000>;
39175fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
39275fdcbc8SSebastian Reichel
39375fdcbc8SSebastian Reichel				regulator-state-mem {
39475fdcbc8SSebastian Reichel					regulator-off-in-suspend;
39575fdcbc8SSebastian Reichel				};
39675fdcbc8SSebastian Reichel			};
39775fdcbc8SSebastian Reichel
39875fdcbc8SSebastian Reichel			vdd_log_s0: dcdc-reg3 {
39975fdcbc8SSebastian Reichel				regulator-name = "vdd_log_s0";
40075fdcbc8SSebastian Reichel				regulator-always-on;
40175fdcbc8SSebastian Reichel				regulator-boot-on;
40275fdcbc8SSebastian Reichel				regulator-min-microvolt = <675000>;
40375fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
40475fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
40575fdcbc8SSebastian Reichel
40675fdcbc8SSebastian Reichel				regulator-state-mem {
40775fdcbc8SSebastian Reichel					regulator-off-in-suspend;
40875fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <750000>;
40975fdcbc8SSebastian Reichel				};
41075fdcbc8SSebastian Reichel			};
41175fdcbc8SSebastian Reichel
41275fdcbc8SSebastian Reichel			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
41375fdcbc8SSebastian Reichel				regulator-name = "vdd_vdenc_s0";
41475fdcbc8SSebastian Reichel				regulator-always-on;
41575fdcbc8SSebastian Reichel				regulator-boot-on;
41675fdcbc8SSebastian Reichel				regulator-min-microvolt = <550000>;
41775fdcbc8SSebastian Reichel				regulator-max-microvolt = <950000>;
41875fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
41975fdcbc8SSebastian Reichel
42075fdcbc8SSebastian Reichel				regulator-state-mem {
42175fdcbc8SSebastian Reichel					regulator-off-in-suspend;
42275fdcbc8SSebastian Reichel				};
42375fdcbc8SSebastian Reichel			};
42475fdcbc8SSebastian Reichel
42575fdcbc8SSebastian Reichel			vdd_ddr_s0: dcdc-reg5 {
42675fdcbc8SSebastian Reichel				regulator-name = "vdd_ddr_s0";
42775fdcbc8SSebastian Reichel				regulator-always-on;
42875fdcbc8SSebastian Reichel				regulator-boot-on;
42975fdcbc8SSebastian Reichel				regulator-min-microvolt = <675000>;
43075fdcbc8SSebastian Reichel				regulator-max-microvolt = <900000>;
43175fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
43275fdcbc8SSebastian Reichel
43375fdcbc8SSebastian Reichel				regulator-state-mem {
43475fdcbc8SSebastian Reichel					regulator-off-in-suspend;
43575fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <850000>;
43675fdcbc8SSebastian Reichel				};
43775fdcbc8SSebastian Reichel			};
43875fdcbc8SSebastian Reichel
43975fdcbc8SSebastian Reichel			vdd2_ddr_s3: dcdc-reg6 {
44075fdcbc8SSebastian Reichel				regulator-name = "vdd2_ddr_s3";
44175fdcbc8SSebastian Reichel				regulator-always-on;
44275fdcbc8SSebastian Reichel				regulator-boot-on;
44375fdcbc8SSebastian Reichel
44475fdcbc8SSebastian Reichel				regulator-state-mem {
44575fdcbc8SSebastian Reichel					regulator-on-in-suspend;
44675fdcbc8SSebastian Reichel				};
44775fdcbc8SSebastian Reichel			};
44875fdcbc8SSebastian Reichel
44975fdcbc8SSebastian Reichel			vcc_2v0_pldo_s3: dcdc-reg7 {
45075fdcbc8SSebastian Reichel				regulator-name = "vdd_2v0_pldo_s3";
45175fdcbc8SSebastian Reichel				regulator-always-on;
45275fdcbc8SSebastian Reichel				regulator-boot-on;
45375fdcbc8SSebastian Reichel				regulator-min-microvolt = <2000000>;
45475fdcbc8SSebastian Reichel				regulator-max-microvolt = <2000000>;
45575fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
45675fdcbc8SSebastian Reichel
45775fdcbc8SSebastian Reichel				regulator-state-mem {
45875fdcbc8SSebastian Reichel					regulator-on-in-suspend;
45975fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <2000000>;
46075fdcbc8SSebastian Reichel				};
46175fdcbc8SSebastian Reichel			};
46275fdcbc8SSebastian Reichel
46375fdcbc8SSebastian Reichel			vcc_3v3_s3: dcdc-reg8 {
46475fdcbc8SSebastian Reichel				regulator-name = "vcc_3v3_s3";
46575fdcbc8SSebastian Reichel				regulator-always-on;
46675fdcbc8SSebastian Reichel				regulator-boot-on;
46775fdcbc8SSebastian Reichel				regulator-min-microvolt = <3300000>;
46875fdcbc8SSebastian Reichel				regulator-max-microvolt = <3300000>;
46975fdcbc8SSebastian Reichel
47075fdcbc8SSebastian Reichel				regulator-state-mem {
47175fdcbc8SSebastian Reichel					regulator-on-in-suspend;
47275fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <3300000>;
47375fdcbc8SSebastian Reichel				};
47475fdcbc8SSebastian Reichel			};
47575fdcbc8SSebastian Reichel
47675fdcbc8SSebastian Reichel			vddq_ddr_s0: dcdc-reg9 {
47775fdcbc8SSebastian Reichel				regulator-name = "vddq_ddr_s0";
47875fdcbc8SSebastian Reichel				regulator-always-on;
47975fdcbc8SSebastian Reichel				regulator-boot-on;
48075fdcbc8SSebastian Reichel
48175fdcbc8SSebastian Reichel				regulator-state-mem {
48275fdcbc8SSebastian Reichel					regulator-off-in-suspend;
48375fdcbc8SSebastian Reichel				};
48475fdcbc8SSebastian Reichel			};
48575fdcbc8SSebastian Reichel
48675fdcbc8SSebastian Reichel			vcc_1v8_s3: dcdc-reg10 {
48775fdcbc8SSebastian Reichel				regulator-name = "vcc_1v8_s3";
48875fdcbc8SSebastian Reichel				regulator-always-on;
48975fdcbc8SSebastian Reichel				regulator-boot-on;
49075fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
49175fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
49275fdcbc8SSebastian Reichel
49375fdcbc8SSebastian Reichel				regulator-state-mem {
49475fdcbc8SSebastian Reichel					regulator-on-in-suspend;
49575fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <1800000>;
49675fdcbc8SSebastian Reichel				};
49775fdcbc8SSebastian Reichel			};
49875fdcbc8SSebastian Reichel
49975fdcbc8SSebastian Reichel			avcc_1v8_s0: pldo-reg1 {
50075fdcbc8SSebastian Reichel				regulator-name = "avcc_1v8_s0";
50175fdcbc8SSebastian Reichel				regulator-always-on;
50275fdcbc8SSebastian Reichel				regulator-boot-on;
50375fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
50475fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
50575fdcbc8SSebastian Reichel
50675fdcbc8SSebastian Reichel				regulator-state-mem {
50775fdcbc8SSebastian Reichel					regulator-off-in-suspend;
50875fdcbc8SSebastian Reichel				};
50975fdcbc8SSebastian Reichel			};
51075fdcbc8SSebastian Reichel
51175fdcbc8SSebastian Reichel			vcc_1v8_s0: pldo-reg2 {
51275fdcbc8SSebastian Reichel				regulator-name = "vcc_1v8_s0";
51375fdcbc8SSebastian Reichel				regulator-always-on;
51475fdcbc8SSebastian Reichel				regulator-boot-on;
51575fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
51675fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
51775fdcbc8SSebastian Reichel
51875fdcbc8SSebastian Reichel				regulator-state-mem {
51975fdcbc8SSebastian Reichel					regulator-off-in-suspend;
52075fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <1800000>;
52175fdcbc8SSebastian Reichel				};
52275fdcbc8SSebastian Reichel			};
52375fdcbc8SSebastian Reichel
52475fdcbc8SSebastian Reichel			avdd_1v2_s0: pldo-reg3 {
52575fdcbc8SSebastian Reichel				regulator-name = "avdd_1v2_s0";
52675fdcbc8SSebastian Reichel				regulator-always-on;
52775fdcbc8SSebastian Reichel				regulator-boot-on;
52875fdcbc8SSebastian Reichel				regulator-min-microvolt = <1200000>;
52975fdcbc8SSebastian Reichel				regulator-max-microvolt = <1200000>;
53075fdcbc8SSebastian Reichel
53175fdcbc8SSebastian Reichel				regulator-state-mem {
53275fdcbc8SSebastian Reichel					regulator-off-in-suspend;
53375fdcbc8SSebastian Reichel				};
53475fdcbc8SSebastian Reichel			};
53575fdcbc8SSebastian Reichel
53675fdcbc8SSebastian Reichel			vcc_3v3_s0: pldo-reg4 {
53775fdcbc8SSebastian Reichel				regulator-name = "vcc_3v3_s0";
53875fdcbc8SSebastian Reichel				regulator-always-on;
53975fdcbc8SSebastian Reichel				regulator-boot-on;
54075fdcbc8SSebastian Reichel				regulator-min-microvolt = <3300000>;
54175fdcbc8SSebastian Reichel				regulator-max-microvolt = <3300000>;
54275fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
54375fdcbc8SSebastian Reichel
54475fdcbc8SSebastian Reichel				regulator-state-mem {
54575fdcbc8SSebastian Reichel					regulator-off-in-suspend;
54675fdcbc8SSebastian Reichel				};
54775fdcbc8SSebastian Reichel			};
54875fdcbc8SSebastian Reichel
54975fdcbc8SSebastian Reichel			vccio_sd_s0: pldo-reg5 {
55075fdcbc8SSebastian Reichel				regulator-name = "vccio_sd_s0";
55175fdcbc8SSebastian Reichel				regulator-always-on;
55275fdcbc8SSebastian Reichel				regulator-boot-on;
55375fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
55475fdcbc8SSebastian Reichel				regulator-max-microvolt = <3300000>;
55575fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
55675fdcbc8SSebastian Reichel
55775fdcbc8SSebastian Reichel				regulator-state-mem {
55875fdcbc8SSebastian Reichel					regulator-off-in-suspend;
55975fdcbc8SSebastian Reichel				};
56075fdcbc8SSebastian Reichel			};
56175fdcbc8SSebastian Reichel
56275fdcbc8SSebastian Reichel			pldo6_s3: pldo-reg6 {
56375fdcbc8SSebastian Reichel				regulator-name = "pldo6_s3";
56475fdcbc8SSebastian Reichel				regulator-always-on;
56575fdcbc8SSebastian Reichel				regulator-boot-on;
56675fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
56775fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
56875fdcbc8SSebastian Reichel
56975fdcbc8SSebastian Reichel				regulator-state-mem {
57075fdcbc8SSebastian Reichel					regulator-on-in-suspend;
57175fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <1800000>;
57275fdcbc8SSebastian Reichel				};
57375fdcbc8SSebastian Reichel			};
57475fdcbc8SSebastian Reichel
57575fdcbc8SSebastian Reichel			vdd_0v75_s3: nldo-reg1 {
57675fdcbc8SSebastian Reichel				regulator-name = "vdd_0v75_s3";
57775fdcbc8SSebastian Reichel				regulator-always-on;
57875fdcbc8SSebastian Reichel				regulator-boot-on;
57975fdcbc8SSebastian Reichel				regulator-min-microvolt = <750000>;
58075fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
58175fdcbc8SSebastian Reichel
58275fdcbc8SSebastian Reichel				regulator-state-mem {
58375fdcbc8SSebastian Reichel					regulator-on-in-suspend;
58475fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <750000>;
58575fdcbc8SSebastian Reichel				};
58675fdcbc8SSebastian Reichel			};
58775fdcbc8SSebastian Reichel
58875fdcbc8SSebastian Reichel			vdd_ddr_pll_s0: nldo-reg2 {
58975fdcbc8SSebastian Reichel				regulator-name = "vdd_ddr_pll_s0";
59075fdcbc8SSebastian Reichel				regulator-always-on;
59175fdcbc8SSebastian Reichel				regulator-boot-on;
59275fdcbc8SSebastian Reichel				regulator-min-microvolt = <850000>;
59375fdcbc8SSebastian Reichel				regulator-max-microvolt = <850000>;
59475fdcbc8SSebastian Reichel
59575fdcbc8SSebastian Reichel				regulator-state-mem {
59675fdcbc8SSebastian Reichel					regulator-off-in-suspend;
59775fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <850000>;
59875fdcbc8SSebastian Reichel				};
59975fdcbc8SSebastian Reichel			};
60075fdcbc8SSebastian Reichel
60175fdcbc8SSebastian Reichel			avdd_0v75_s0: nldo-reg3 {
60275fdcbc8SSebastian Reichel				regulator-name = "avdd_0v75_s0";
60375fdcbc8SSebastian Reichel				regulator-always-on;
60475fdcbc8SSebastian Reichel				regulator-boot-on;
60575fdcbc8SSebastian Reichel				regulator-min-microvolt = <750000>;
60675fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
60775fdcbc8SSebastian Reichel
60875fdcbc8SSebastian Reichel				regulator-state-mem {
60975fdcbc8SSebastian Reichel					regulator-off-in-suspend;
61075fdcbc8SSebastian Reichel				};
61175fdcbc8SSebastian Reichel			};
61275fdcbc8SSebastian Reichel
61375fdcbc8SSebastian Reichel			vdd_0v85_s0: nldo-reg4 {
61475fdcbc8SSebastian Reichel				regulator-name = "vdd_0v85_s0";
61575fdcbc8SSebastian Reichel				regulator-always-on;
61675fdcbc8SSebastian Reichel				regulator-boot-on;
61775fdcbc8SSebastian Reichel				regulator-min-microvolt = <850000>;
61875fdcbc8SSebastian Reichel				regulator-max-microvolt = <850000>;
61975fdcbc8SSebastian Reichel
62075fdcbc8SSebastian Reichel				regulator-state-mem {
62175fdcbc8SSebastian Reichel					regulator-off-in-suspend;
62275fdcbc8SSebastian Reichel				};
62375fdcbc8SSebastian Reichel			};
62475fdcbc8SSebastian Reichel
62575fdcbc8SSebastian Reichel			vdd_0v75_s0: nldo-reg5 {
62675fdcbc8SSebastian Reichel				regulator-name = "vdd_0v75_s0";
62775fdcbc8SSebastian Reichel				regulator-always-on;
62875fdcbc8SSebastian Reichel				regulator-boot-on;
62975fdcbc8SSebastian Reichel				regulator-min-microvolt = <750000>;
63075fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
63175fdcbc8SSebastian Reichel
63275fdcbc8SSebastian Reichel				regulator-state-mem {
63375fdcbc8SSebastian Reichel					regulator-off-in-suspend;
63475fdcbc8SSebastian Reichel				};
63575fdcbc8SSebastian Reichel			};
63675fdcbc8SSebastian Reichel		};
63775fdcbc8SSebastian Reichel	};
63875fdcbc8SSebastian Reichel};
63975fdcbc8SSebastian Reichel
640d1824cf9SSebastian Reichel&uart2 {
641d1824cf9SSebastian Reichel	pinctrl-0 = <&uart2m0_xfer>;
642d1824cf9SSebastian Reichel	status = "okay";
643d1824cf9SSebastian Reichel};
644