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
193*aa00cf88SSebastian Reichel&i2c3 {
194*aa00cf88SSebastian Reichel	status = "okay";
195*aa00cf88SSebastian Reichel};
196*aa00cf88SSebastian Reichel
197*aa00cf88SSebastian Reichel&i2c5 {
198*aa00cf88SSebastian Reichel	status = "okay";
199*aa00cf88SSebastian Reichel	pinctrl-names = "default";
200*aa00cf88SSebastian Reichel	pinctrl-0 = <&i2c5m2_xfer>;
201*aa00cf88SSebastian Reichel};
202*aa00cf88SSebastian 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
289d1824cf9SSebastian Reichel&sdhci {
290d1824cf9SSebastian Reichel	bus-width = <8>;
291d1824cf9SSebastian Reichel	no-sdio;
292d1824cf9SSebastian Reichel	no-sd;
293d1824cf9SSebastian Reichel	non-removable;
294d1824cf9SSebastian Reichel	max-frequency = <200000000>;
295d1824cf9SSebastian Reichel	mmc-hs400-1_8v;
296d1824cf9SSebastian Reichel	mmc-hs400-enhanced-strobe;
297d1824cf9SSebastian Reichel	status = "okay";
298d1824cf9SSebastian Reichel};
299d1824cf9SSebastian Reichel
300ea3e66e7SLucas Tanure&sdmmc {
301ea3e66e7SLucas Tanure	bus-width = <4>;
302ea3e66e7SLucas Tanure	cap-mmc-highspeed;
303ea3e66e7SLucas Tanure	cap-sd-highspeed;
304ea3e66e7SLucas Tanure	disable-wp;
305ea3e66e7SLucas Tanure	max-frequency = <150000000>;
306ea3e66e7SLucas Tanure	no-sdio;
307ea3e66e7SLucas Tanure	no-mmc;
308ea3e66e7SLucas Tanure	sd-uhs-sdr104;
309ea3e66e7SLucas Tanure	vmmc-supply = <&vcc_3v3_s0>;
310ea3e66e7SLucas Tanure	vqmmc-supply = <&vccio_sd_s0>;
311ea3e66e7SLucas Tanure	status = "okay";
312ea3e66e7SLucas Tanure};
313ea3e66e7SLucas Tanure
31475fdcbc8SSebastian Reichel&spi2 {
31575fdcbc8SSebastian Reichel	status = "okay";
31675fdcbc8SSebastian Reichel	assigned-clocks = <&cru CLK_SPI2>;
31775fdcbc8SSebastian Reichel	assigned-clock-rates = <200000000>;
31875fdcbc8SSebastian Reichel	num-cs = <1>;
31975fdcbc8SSebastian Reichel	pinctrl-names = "default";
32075fdcbc8SSebastian Reichel	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
32175fdcbc8SSebastian Reichel
32275fdcbc8SSebastian Reichel	pmic@0 {
32375fdcbc8SSebastian Reichel		compatible = "rockchip,rk806";
32475fdcbc8SSebastian Reichel		reg = <0x0>;
32575fdcbc8SSebastian Reichel		interrupt-parent = <&gpio0>;
32675fdcbc8SSebastian Reichel		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
32775fdcbc8SSebastian Reichel		pinctrl-names = "default";
32875fdcbc8SSebastian Reichel		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
32975fdcbc8SSebastian Reichel			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
33075fdcbc8SSebastian Reichel		spi-max-frequency = <1000000>;
33175fdcbc8SSebastian Reichel
33275fdcbc8SSebastian Reichel		vcc1-supply = <&vcc5v0_sys>;
33375fdcbc8SSebastian Reichel		vcc2-supply = <&vcc5v0_sys>;
33475fdcbc8SSebastian Reichel		vcc3-supply = <&vcc5v0_sys>;
33575fdcbc8SSebastian Reichel		vcc4-supply = <&vcc5v0_sys>;
33675fdcbc8SSebastian Reichel		vcc5-supply = <&vcc5v0_sys>;
33775fdcbc8SSebastian Reichel		vcc6-supply = <&vcc5v0_sys>;
33875fdcbc8SSebastian Reichel		vcc7-supply = <&vcc5v0_sys>;
33975fdcbc8SSebastian Reichel		vcc8-supply = <&vcc5v0_sys>;
34075fdcbc8SSebastian Reichel		vcc9-supply = <&vcc5v0_sys>;
34175fdcbc8SSebastian Reichel		vcc10-supply = <&vcc5v0_sys>;
34275fdcbc8SSebastian Reichel		vcc11-supply = <&vcc_2v0_pldo_s3>;
34375fdcbc8SSebastian Reichel		vcc12-supply = <&vcc5v0_sys>;
34475fdcbc8SSebastian Reichel		vcc13-supply = <&vcc_1v1_nldo_s3>;
34575fdcbc8SSebastian Reichel		vcc14-supply = <&vcc_1v1_nldo_s3>;
34675fdcbc8SSebastian Reichel		vcca-supply = <&vcc5v0_sys>;
34775fdcbc8SSebastian Reichel
34875fdcbc8SSebastian Reichel		gpio-controller;
34975fdcbc8SSebastian Reichel		#gpio-cells = <2>;
35075fdcbc8SSebastian Reichel
35175fdcbc8SSebastian Reichel		rk806_dvs1_null: dvs1-null-pins {
35275fdcbc8SSebastian Reichel			pins = "gpio_pwrctrl2";
35375fdcbc8SSebastian Reichel			function = "pin_fun0";
35475fdcbc8SSebastian Reichel		};
35575fdcbc8SSebastian Reichel
35675fdcbc8SSebastian Reichel		rk806_dvs2_null: dvs2-null-pins {
35775fdcbc8SSebastian Reichel			pins = "gpio_pwrctrl2";
35875fdcbc8SSebastian Reichel			function = "pin_fun0";
35975fdcbc8SSebastian Reichel		};
36075fdcbc8SSebastian Reichel
36175fdcbc8SSebastian Reichel		rk806_dvs3_null: dvs3-null-pins {
36275fdcbc8SSebastian Reichel			pins = "gpio_pwrctrl3";
36375fdcbc8SSebastian Reichel			function = "pin_fun0";
36475fdcbc8SSebastian Reichel		};
36575fdcbc8SSebastian Reichel
36675fdcbc8SSebastian Reichel		regulators {
36775fdcbc8SSebastian Reichel			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
36875fdcbc8SSebastian Reichel				regulator-name = "vdd_gpu_s0";
36975fdcbc8SSebastian Reichel				regulator-boot-on;
37075fdcbc8SSebastian Reichel				regulator-min-microvolt = <550000>;
37175fdcbc8SSebastian Reichel				regulator-max-microvolt = <950000>;
37275fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
37375fdcbc8SSebastian Reichel				regulator-enable-ramp-delay = <400>;
37475fdcbc8SSebastian Reichel
37575fdcbc8SSebastian Reichel				regulator-state-mem {
37675fdcbc8SSebastian Reichel					regulator-off-in-suspend;
37775fdcbc8SSebastian Reichel				};
37875fdcbc8SSebastian Reichel			};
37975fdcbc8SSebastian Reichel
38075fdcbc8SSebastian Reichel			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
38175fdcbc8SSebastian Reichel				regulator-name = "vdd_cpu_lit_s0";
38275fdcbc8SSebastian Reichel				regulator-always-on;
38375fdcbc8SSebastian Reichel				regulator-boot-on;
38475fdcbc8SSebastian Reichel				regulator-min-microvolt = <550000>;
38575fdcbc8SSebastian Reichel				regulator-max-microvolt = <950000>;
38675fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
38775fdcbc8SSebastian Reichel
38875fdcbc8SSebastian Reichel				regulator-state-mem {
38975fdcbc8SSebastian Reichel					regulator-off-in-suspend;
39075fdcbc8SSebastian Reichel				};
39175fdcbc8SSebastian Reichel			};
39275fdcbc8SSebastian Reichel
39375fdcbc8SSebastian Reichel			vdd_log_s0: dcdc-reg3 {
39475fdcbc8SSebastian Reichel				regulator-name = "vdd_log_s0";
39575fdcbc8SSebastian Reichel				regulator-always-on;
39675fdcbc8SSebastian Reichel				regulator-boot-on;
39775fdcbc8SSebastian Reichel				regulator-min-microvolt = <675000>;
39875fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
39975fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
40075fdcbc8SSebastian Reichel
40175fdcbc8SSebastian Reichel				regulator-state-mem {
40275fdcbc8SSebastian Reichel					regulator-off-in-suspend;
40375fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <750000>;
40475fdcbc8SSebastian Reichel				};
40575fdcbc8SSebastian Reichel			};
40675fdcbc8SSebastian Reichel
40775fdcbc8SSebastian Reichel			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
40875fdcbc8SSebastian Reichel				regulator-name = "vdd_vdenc_s0";
40975fdcbc8SSebastian Reichel				regulator-always-on;
41075fdcbc8SSebastian Reichel				regulator-boot-on;
41175fdcbc8SSebastian Reichel				regulator-min-microvolt = <550000>;
41275fdcbc8SSebastian Reichel				regulator-max-microvolt = <950000>;
41375fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
41475fdcbc8SSebastian Reichel
41575fdcbc8SSebastian Reichel				regulator-state-mem {
41675fdcbc8SSebastian Reichel					regulator-off-in-suspend;
41775fdcbc8SSebastian Reichel				};
41875fdcbc8SSebastian Reichel			};
41975fdcbc8SSebastian Reichel
42075fdcbc8SSebastian Reichel			vdd_ddr_s0: dcdc-reg5 {
42175fdcbc8SSebastian Reichel				regulator-name = "vdd_ddr_s0";
42275fdcbc8SSebastian Reichel				regulator-always-on;
42375fdcbc8SSebastian Reichel				regulator-boot-on;
42475fdcbc8SSebastian Reichel				regulator-min-microvolt = <675000>;
42575fdcbc8SSebastian Reichel				regulator-max-microvolt = <900000>;
42675fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
42775fdcbc8SSebastian Reichel
42875fdcbc8SSebastian Reichel				regulator-state-mem {
42975fdcbc8SSebastian Reichel					regulator-off-in-suspend;
43075fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <850000>;
43175fdcbc8SSebastian Reichel				};
43275fdcbc8SSebastian Reichel			};
43375fdcbc8SSebastian Reichel
43475fdcbc8SSebastian Reichel			vdd2_ddr_s3: dcdc-reg6 {
43575fdcbc8SSebastian Reichel				regulator-name = "vdd2_ddr_s3";
43675fdcbc8SSebastian Reichel				regulator-always-on;
43775fdcbc8SSebastian Reichel				regulator-boot-on;
43875fdcbc8SSebastian Reichel
43975fdcbc8SSebastian Reichel				regulator-state-mem {
44075fdcbc8SSebastian Reichel					regulator-on-in-suspend;
44175fdcbc8SSebastian Reichel				};
44275fdcbc8SSebastian Reichel			};
44375fdcbc8SSebastian Reichel
44475fdcbc8SSebastian Reichel			vcc_2v0_pldo_s3: dcdc-reg7 {
44575fdcbc8SSebastian Reichel				regulator-name = "vdd_2v0_pldo_s3";
44675fdcbc8SSebastian Reichel				regulator-always-on;
44775fdcbc8SSebastian Reichel				regulator-boot-on;
44875fdcbc8SSebastian Reichel				regulator-min-microvolt = <2000000>;
44975fdcbc8SSebastian Reichel				regulator-max-microvolt = <2000000>;
45075fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
45175fdcbc8SSebastian Reichel
45275fdcbc8SSebastian Reichel				regulator-state-mem {
45375fdcbc8SSebastian Reichel					regulator-on-in-suspend;
45475fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <2000000>;
45575fdcbc8SSebastian Reichel				};
45675fdcbc8SSebastian Reichel			};
45775fdcbc8SSebastian Reichel
45875fdcbc8SSebastian Reichel			vcc_3v3_s3: dcdc-reg8 {
45975fdcbc8SSebastian Reichel				regulator-name = "vcc_3v3_s3";
46075fdcbc8SSebastian Reichel				regulator-always-on;
46175fdcbc8SSebastian Reichel				regulator-boot-on;
46275fdcbc8SSebastian Reichel				regulator-min-microvolt = <3300000>;
46375fdcbc8SSebastian Reichel				regulator-max-microvolt = <3300000>;
46475fdcbc8SSebastian Reichel
46575fdcbc8SSebastian Reichel				regulator-state-mem {
46675fdcbc8SSebastian Reichel					regulator-on-in-suspend;
46775fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <3300000>;
46875fdcbc8SSebastian Reichel				};
46975fdcbc8SSebastian Reichel			};
47075fdcbc8SSebastian Reichel
47175fdcbc8SSebastian Reichel			vddq_ddr_s0: dcdc-reg9 {
47275fdcbc8SSebastian Reichel				regulator-name = "vddq_ddr_s0";
47375fdcbc8SSebastian Reichel				regulator-always-on;
47475fdcbc8SSebastian Reichel				regulator-boot-on;
47575fdcbc8SSebastian Reichel
47675fdcbc8SSebastian Reichel				regulator-state-mem {
47775fdcbc8SSebastian Reichel					regulator-off-in-suspend;
47875fdcbc8SSebastian Reichel				};
47975fdcbc8SSebastian Reichel			};
48075fdcbc8SSebastian Reichel
48175fdcbc8SSebastian Reichel			vcc_1v8_s3: dcdc-reg10 {
48275fdcbc8SSebastian Reichel				regulator-name = "vcc_1v8_s3";
48375fdcbc8SSebastian Reichel				regulator-always-on;
48475fdcbc8SSebastian Reichel				regulator-boot-on;
48575fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
48675fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
48775fdcbc8SSebastian Reichel
48875fdcbc8SSebastian Reichel				regulator-state-mem {
48975fdcbc8SSebastian Reichel					regulator-on-in-suspend;
49075fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <1800000>;
49175fdcbc8SSebastian Reichel				};
49275fdcbc8SSebastian Reichel			};
49375fdcbc8SSebastian Reichel
49475fdcbc8SSebastian Reichel			avcc_1v8_s0: pldo-reg1 {
49575fdcbc8SSebastian Reichel				regulator-name = "avcc_1v8_s0";
49675fdcbc8SSebastian Reichel				regulator-always-on;
49775fdcbc8SSebastian Reichel				regulator-boot-on;
49875fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
49975fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
50075fdcbc8SSebastian Reichel
50175fdcbc8SSebastian Reichel				regulator-state-mem {
50275fdcbc8SSebastian Reichel					regulator-off-in-suspend;
50375fdcbc8SSebastian Reichel				};
50475fdcbc8SSebastian Reichel			};
50575fdcbc8SSebastian Reichel
50675fdcbc8SSebastian Reichel			vcc_1v8_s0: pldo-reg2 {
50775fdcbc8SSebastian Reichel				regulator-name = "vcc_1v8_s0";
50875fdcbc8SSebastian Reichel				regulator-always-on;
50975fdcbc8SSebastian Reichel				regulator-boot-on;
51075fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
51175fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
51275fdcbc8SSebastian Reichel
51375fdcbc8SSebastian Reichel				regulator-state-mem {
51475fdcbc8SSebastian Reichel					regulator-off-in-suspend;
51575fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <1800000>;
51675fdcbc8SSebastian Reichel				};
51775fdcbc8SSebastian Reichel			};
51875fdcbc8SSebastian Reichel
51975fdcbc8SSebastian Reichel			avdd_1v2_s0: pldo-reg3 {
52075fdcbc8SSebastian Reichel				regulator-name = "avdd_1v2_s0";
52175fdcbc8SSebastian Reichel				regulator-always-on;
52275fdcbc8SSebastian Reichel				regulator-boot-on;
52375fdcbc8SSebastian Reichel				regulator-min-microvolt = <1200000>;
52475fdcbc8SSebastian Reichel				regulator-max-microvolt = <1200000>;
52575fdcbc8SSebastian Reichel
52675fdcbc8SSebastian Reichel				regulator-state-mem {
52775fdcbc8SSebastian Reichel					regulator-off-in-suspend;
52875fdcbc8SSebastian Reichel				};
52975fdcbc8SSebastian Reichel			};
53075fdcbc8SSebastian Reichel
53175fdcbc8SSebastian Reichel			vcc_3v3_s0: pldo-reg4 {
53275fdcbc8SSebastian Reichel				regulator-name = "vcc_3v3_s0";
53375fdcbc8SSebastian Reichel				regulator-always-on;
53475fdcbc8SSebastian Reichel				regulator-boot-on;
53575fdcbc8SSebastian Reichel				regulator-min-microvolt = <3300000>;
53675fdcbc8SSebastian Reichel				regulator-max-microvolt = <3300000>;
53775fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
53875fdcbc8SSebastian Reichel
53975fdcbc8SSebastian Reichel				regulator-state-mem {
54075fdcbc8SSebastian Reichel					regulator-off-in-suspend;
54175fdcbc8SSebastian Reichel				};
54275fdcbc8SSebastian Reichel			};
54375fdcbc8SSebastian Reichel
54475fdcbc8SSebastian Reichel			vccio_sd_s0: pldo-reg5 {
54575fdcbc8SSebastian Reichel				regulator-name = "vccio_sd_s0";
54675fdcbc8SSebastian Reichel				regulator-always-on;
54775fdcbc8SSebastian Reichel				regulator-boot-on;
54875fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
54975fdcbc8SSebastian Reichel				regulator-max-microvolt = <3300000>;
55075fdcbc8SSebastian Reichel				regulator-ramp-delay = <12500>;
55175fdcbc8SSebastian Reichel
55275fdcbc8SSebastian Reichel				regulator-state-mem {
55375fdcbc8SSebastian Reichel					regulator-off-in-suspend;
55475fdcbc8SSebastian Reichel				};
55575fdcbc8SSebastian Reichel			};
55675fdcbc8SSebastian Reichel
55775fdcbc8SSebastian Reichel			pldo6_s3: pldo-reg6 {
55875fdcbc8SSebastian Reichel				regulator-name = "pldo6_s3";
55975fdcbc8SSebastian Reichel				regulator-always-on;
56075fdcbc8SSebastian Reichel				regulator-boot-on;
56175fdcbc8SSebastian Reichel				regulator-min-microvolt = <1800000>;
56275fdcbc8SSebastian Reichel				regulator-max-microvolt = <1800000>;
56375fdcbc8SSebastian Reichel
56475fdcbc8SSebastian Reichel				regulator-state-mem {
56575fdcbc8SSebastian Reichel					regulator-on-in-suspend;
56675fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <1800000>;
56775fdcbc8SSebastian Reichel				};
56875fdcbc8SSebastian Reichel			};
56975fdcbc8SSebastian Reichel
57075fdcbc8SSebastian Reichel			vdd_0v75_s3: nldo-reg1 {
57175fdcbc8SSebastian Reichel				regulator-name = "vdd_0v75_s3";
57275fdcbc8SSebastian Reichel				regulator-always-on;
57375fdcbc8SSebastian Reichel				regulator-boot-on;
57475fdcbc8SSebastian Reichel				regulator-min-microvolt = <750000>;
57575fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
57675fdcbc8SSebastian Reichel
57775fdcbc8SSebastian Reichel				regulator-state-mem {
57875fdcbc8SSebastian Reichel					regulator-on-in-suspend;
57975fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <750000>;
58075fdcbc8SSebastian Reichel				};
58175fdcbc8SSebastian Reichel			};
58275fdcbc8SSebastian Reichel
58375fdcbc8SSebastian Reichel			vdd_ddr_pll_s0: nldo-reg2 {
58475fdcbc8SSebastian Reichel				regulator-name = "vdd_ddr_pll_s0";
58575fdcbc8SSebastian Reichel				regulator-always-on;
58675fdcbc8SSebastian Reichel				regulator-boot-on;
58775fdcbc8SSebastian Reichel				regulator-min-microvolt = <850000>;
58875fdcbc8SSebastian Reichel				regulator-max-microvolt = <850000>;
58975fdcbc8SSebastian Reichel
59075fdcbc8SSebastian Reichel				regulator-state-mem {
59175fdcbc8SSebastian Reichel					regulator-off-in-suspend;
59275fdcbc8SSebastian Reichel					regulator-suspend-microvolt = <850000>;
59375fdcbc8SSebastian Reichel				};
59475fdcbc8SSebastian Reichel			};
59575fdcbc8SSebastian Reichel
59675fdcbc8SSebastian Reichel			avdd_0v75_s0: nldo-reg3 {
59775fdcbc8SSebastian Reichel				regulator-name = "avdd_0v75_s0";
59875fdcbc8SSebastian Reichel				regulator-always-on;
59975fdcbc8SSebastian Reichel				regulator-boot-on;
60075fdcbc8SSebastian Reichel				regulator-min-microvolt = <750000>;
60175fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
60275fdcbc8SSebastian Reichel
60375fdcbc8SSebastian Reichel				regulator-state-mem {
60475fdcbc8SSebastian Reichel					regulator-off-in-suspend;
60575fdcbc8SSebastian Reichel				};
60675fdcbc8SSebastian Reichel			};
60775fdcbc8SSebastian Reichel
60875fdcbc8SSebastian Reichel			vdd_0v85_s0: nldo-reg4 {
60975fdcbc8SSebastian Reichel				regulator-name = "vdd_0v85_s0";
61075fdcbc8SSebastian Reichel				regulator-always-on;
61175fdcbc8SSebastian Reichel				regulator-boot-on;
61275fdcbc8SSebastian Reichel				regulator-min-microvolt = <850000>;
61375fdcbc8SSebastian Reichel				regulator-max-microvolt = <850000>;
61475fdcbc8SSebastian Reichel
61575fdcbc8SSebastian Reichel				regulator-state-mem {
61675fdcbc8SSebastian Reichel					regulator-off-in-suspend;
61775fdcbc8SSebastian Reichel				};
61875fdcbc8SSebastian Reichel			};
61975fdcbc8SSebastian Reichel
62075fdcbc8SSebastian Reichel			vdd_0v75_s0: nldo-reg5 {
62175fdcbc8SSebastian Reichel				regulator-name = "vdd_0v75_s0";
62275fdcbc8SSebastian Reichel				regulator-always-on;
62375fdcbc8SSebastian Reichel				regulator-boot-on;
62475fdcbc8SSebastian Reichel				regulator-min-microvolt = <750000>;
62575fdcbc8SSebastian Reichel				regulator-max-microvolt = <750000>;
62675fdcbc8SSebastian Reichel
62775fdcbc8SSebastian Reichel				regulator-state-mem {
62875fdcbc8SSebastian Reichel					regulator-off-in-suspend;
62975fdcbc8SSebastian Reichel				};
63075fdcbc8SSebastian Reichel			};
63175fdcbc8SSebastian Reichel		};
63275fdcbc8SSebastian Reichel	};
63375fdcbc8SSebastian Reichel};
63475fdcbc8SSebastian Reichel
635d1824cf9SSebastian Reichel&uart2 {
636d1824cf9SSebastian Reichel	pinctrl-0 = <&uart2m0_xfer>;
637d1824cf9SSebastian Reichel	status = "okay";
638d1824cf9SSebastian Reichel};
639