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