xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3399-rockpro64.dtsi (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1c2753d15SKatsuhiro Suzuki// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c2753d15SKatsuhiro Suzuki/*
3c2753d15SKatsuhiro Suzuki * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
4c2753d15SKatsuhiro Suzuki * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
5c2753d15SKatsuhiro Suzuki */
6c2753d15SKatsuhiro Suzuki
7c2753d15SKatsuhiro Suzuki#include <dt-bindings/input/linux-event-codes.h>
8c2753d15SKatsuhiro Suzuki#include <dt-bindings/pwm/pwm.h>
9c2753d15SKatsuhiro Suzuki#include "rk3399.dtsi"
10c2753d15SKatsuhiro Suzuki
11c2753d15SKatsuhiro Suzuki/ {
125dcbe7e3SHeiko Stuebner	aliases {
135d90cb1eSDragan Simic		ethernet0 = &gmac;
145dcbe7e3SHeiko Stuebner		mmc0 = &sdio0;
155dcbe7e3SHeiko Stuebner		mmc1 = &sdmmc;
165dcbe7e3SHeiko Stuebner		mmc2 = &sdhci;
175dcbe7e3SHeiko Stuebner	};
185dcbe7e3SHeiko Stuebner
19c2753d15SKatsuhiro Suzuki	chosen {
20c2753d15SKatsuhiro Suzuki		stdout-path = "serial2:1500000n8";
21c2753d15SKatsuhiro Suzuki	};
22c2753d15SKatsuhiro Suzuki
23c2753d15SKatsuhiro Suzuki	clkin_gmac: external-gmac-clock {
24c2753d15SKatsuhiro Suzuki		compatible = "fixed-clock";
25c2753d15SKatsuhiro Suzuki		clock-frequency = <125000000>;
26c2753d15SKatsuhiro Suzuki		clock-output-names = "clkin_gmac";
27c2753d15SKatsuhiro Suzuki		#clock-cells = <0>;
28c2753d15SKatsuhiro Suzuki	};
29c2753d15SKatsuhiro Suzuki
30c2753d15SKatsuhiro Suzuki	gpio-keys {
31c2753d15SKatsuhiro Suzuki		compatible = "gpio-keys";
32c2753d15SKatsuhiro Suzuki		autorepeat;
33c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
34c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&pwrbtn>;
35c2753d15SKatsuhiro Suzuki
36517ed0ffSKrzysztof Kozlowski		key-power {
37c2753d15SKatsuhiro Suzuki			debounce-interval = <100>;
38c2753d15SKatsuhiro Suzuki			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
39c2753d15SKatsuhiro Suzuki			label = "GPIO Key Power";
40c2753d15SKatsuhiro Suzuki			linux,code = <KEY_POWER>;
41c2753d15SKatsuhiro Suzuki			wakeup-source;
42c2753d15SKatsuhiro Suzuki		};
43c2753d15SKatsuhiro Suzuki	};
44c2753d15SKatsuhiro Suzuki
457c7f0413SThomas Schneider	ir-receiver {
467c7f0413SThomas Schneider		compatible = "gpio-ir-receiver";
477c7f0413SThomas Schneider		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
487c7f0413SThomas Schneider		pinctrl-0 = <&ir_int>;
497c7f0413SThomas Schneider		pinctrl-names = "default";
507c7f0413SThomas Schneider	};
517c7f0413SThomas Schneider
52c2753d15SKatsuhiro Suzuki	leds {
53c2753d15SKatsuhiro Suzuki		compatible = "gpio-leds";
54c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
556dd5e12cSJohan Jonker		pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
56c2753d15SKatsuhiro Suzuki
576dd5e12cSJohan Jonker		work_led: led-0 {
58c2753d15SKatsuhiro Suzuki			label = "work";
59c2753d15SKatsuhiro Suzuki			default-state = "on";
60c2753d15SKatsuhiro Suzuki			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
61c2753d15SKatsuhiro Suzuki		};
62c2753d15SKatsuhiro Suzuki
636dd5e12cSJohan Jonker		diy_led: led-1 {
64c2753d15SKatsuhiro Suzuki			label = "diy";
65c2753d15SKatsuhiro Suzuki			default-state = "off";
66c2753d15SKatsuhiro Suzuki			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
67c2753d15SKatsuhiro Suzuki		};
68c2753d15SKatsuhiro Suzuki	};
69c2753d15SKatsuhiro Suzuki
70c2753d15SKatsuhiro Suzuki	fan: pwm-fan {
71c2753d15SKatsuhiro Suzuki		compatible = "pwm-fan";
72d09ebc6bSPeter Geis		cooling-levels = <0 100 150 200 255>;
73c2753d15SKatsuhiro Suzuki		#cooling-cells = <2>;
74c2753d15SKatsuhiro Suzuki		fan-supply = <&vcc12v_dcin>;
75c2753d15SKatsuhiro Suzuki		pwms = <&pwm1 0 50000 0>;
76c2753d15SKatsuhiro Suzuki	};
77c2753d15SKatsuhiro Suzuki
78c2753d15SKatsuhiro Suzuki	sdio_pwrseq: sdio-pwrseq {
79c2753d15SKatsuhiro Suzuki		compatible = "mmc-pwrseq-simple";
80c2753d15SKatsuhiro Suzuki		clocks = <&rk808 1>;
81c2753d15SKatsuhiro Suzuki		clock-names = "ext_clock";
82c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
83c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&wifi_enable_h>;
84c2753d15SKatsuhiro Suzuki		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
85c2753d15SKatsuhiro Suzuki	};
86c2753d15SKatsuhiro Suzuki
87c2753d15SKatsuhiro Suzuki	sound {
88c2753d15SKatsuhiro Suzuki		compatible = "audio-graph-card";
897582ad63SKatsuhiro Suzuki		label = "Analog";
90c2753d15SKatsuhiro Suzuki		dais = <&i2s1_p0>;
91c2753d15SKatsuhiro Suzuki	};
92c2753d15SKatsuhiro Suzuki
937f02feb5SKatsuhiro Suzuki	sound-dit {
947f02feb5SKatsuhiro Suzuki		compatible = "audio-graph-card";
957582ad63SKatsuhiro Suzuki		label = "SPDIF";
967f02feb5SKatsuhiro Suzuki		dais = <&spdif_p0>;
977f02feb5SKatsuhiro Suzuki	};
987f02feb5SKatsuhiro Suzuki
997f02feb5SKatsuhiro Suzuki	spdif-dit {
1007f02feb5SKatsuhiro Suzuki		compatible = "linux,spdif-dit";
1017f02feb5SKatsuhiro Suzuki		#sound-dai-cells = <0>;
1027f02feb5SKatsuhiro Suzuki
1037f02feb5SKatsuhiro Suzuki		port {
1047f02feb5SKatsuhiro Suzuki			dit_p0_0: endpoint {
1057f02feb5SKatsuhiro Suzuki				remote-endpoint = <&spdif_p0_0>;
1067f02feb5SKatsuhiro Suzuki			};
1077f02feb5SKatsuhiro Suzuki		};
1087f02feb5SKatsuhiro Suzuki	};
1097f02feb5SKatsuhiro Suzuki
1105c96e633SJohan Jonker	vcc12v_dcin: regulator-vcc12v-dcin {
111c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
112c2753d15SKatsuhiro Suzuki		regulator-name = "vcc12v_dcin";
113c2753d15SKatsuhiro Suzuki		regulator-always-on;
114c2753d15SKatsuhiro Suzuki		regulator-boot-on;
115c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <12000000>;
116c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <12000000>;
117c2753d15SKatsuhiro Suzuki	};
118c2753d15SKatsuhiro Suzuki
119c2753d15SKatsuhiro Suzuki	/* switched by pmic_sleep */
1205c96e633SJohan Jonker	vcc1v8_s3: vcca1v8_s3: regulator-vcc1v8-s3 {
121c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
122c2753d15SKatsuhiro Suzuki		regulator-name = "vcc1v8_s3";
123c2753d15SKatsuhiro Suzuki		regulator-always-on;
124c2753d15SKatsuhiro Suzuki		regulator-boot-on;
125c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <1800000>;
126c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1800000>;
127c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc_1v8>;
128c2753d15SKatsuhiro Suzuki	};
129c2753d15SKatsuhiro Suzuki
1301f5a3e16STobias Schramm	/* micro SD card power */
1315c96e633SJohan Jonker	vcc3v0_sd: regulator-vcc3v0-sd {
1321f5a3e16STobias Schramm		compatible = "regulator-fixed";
1331f5a3e16STobias Schramm		enable-active-high;
1341f5a3e16STobias Schramm		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
1351f5a3e16STobias Schramm		pinctrl-names = "default";
1361f5a3e16STobias Schramm		pinctrl-0 = <&sdmmc0_pwr_h>;
1371f5a3e16STobias Schramm		regulator-name = "vcc3v0_sd";
1381f5a3e16STobias Schramm		regulator-always-on;
1391f5a3e16STobias Schramm		regulator-min-microvolt = <3000000>;
1401f5a3e16STobias Schramm		regulator-max-microvolt = <3000000>;
1411f5a3e16STobias Schramm		vin-supply = <&vcc3v3_sys>;
1421f5a3e16STobias Schramm
1431f5a3e16STobias Schramm		regulator-state-mem {
1441f5a3e16STobias Schramm			regulator-off-in-suspend;
1451f5a3e16STobias Schramm		};
1461f5a3e16STobias Schramm	};
1471f5a3e16STobias Schramm
1485c96e633SJohan Jonker	vcc3v3_pcie: regulator-vcc3v3-pcie {
149c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
150c2753d15SKatsuhiro Suzuki		enable-active-high;
151c2753d15SKatsuhiro Suzuki		gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
152c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
153c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&pcie_pwr_en>;
154c2753d15SKatsuhiro Suzuki		regulator-name = "vcc3v3_pcie";
155c2753d15SKatsuhiro Suzuki		regulator-always-on;
156c2753d15SKatsuhiro Suzuki		regulator-boot-on;
157c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc12v_dcin>;
158c2753d15SKatsuhiro Suzuki	};
159c2753d15SKatsuhiro Suzuki
1605c96e633SJohan Jonker	vcc3v3_sys: regulator-vcc3v3-sys {
161c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
162c2753d15SKatsuhiro Suzuki		regulator-name = "vcc3v3_sys";
163c2753d15SKatsuhiro Suzuki		regulator-always-on;
164c2753d15SKatsuhiro Suzuki		regulator-boot-on;
165c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <3300000>;
166c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <3300000>;
167c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_sys>;
168c2753d15SKatsuhiro Suzuki	};
169c2753d15SKatsuhiro Suzuki
170c2753d15SKatsuhiro Suzuki	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
1715c96e633SJohan Jonker	vcc5v0_host: regulator-vcc5v0-host {
172c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
173c2753d15SKatsuhiro Suzuki		enable-active-high;
174c2753d15SKatsuhiro Suzuki		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
175c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
176c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&vcc5v0_host_en>;
177c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_host";
178c2753d15SKatsuhiro Suzuki		regulator-always-on;
179c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_usb>;
180c2753d15SKatsuhiro Suzuki	};
181c2753d15SKatsuhiro Suzuki
1825c96e633SJohan Jonker	vcc5v0_typec: regulator-vcc5v0-typec {
183c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
184c2753d15SKatsuhiro Suzuki		enable-active-high;
185c2753d15SKatsuhiro Suzuki		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
186c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
187c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&vcc5v0_typec_en>;
188c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_typec";
189c2753d15SKatsuhiro Suzuki		regulator-always-on;
190c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_usb>;
191c2753d15SKatsuhiro Suzuki	};
192c2753d15SKatsuhiro Suzuki
1935c96e633SJohan Jonker	vcc5v0_sys: regulator-vcc5v0-sys {
194c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
195c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_sys";
196c2753d15SKatsuhiro Suzuki		regulator-always-on;
197c2753d15SKatsuhiro Suzuki		regulator-boot-on;
198c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <5000000>;
199c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <5000000>;
200c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc12v_dcin>;
201c2753d15SKatsuhiro Suzuki	};
202c2753d15SKatsuhiro Suzuki
2035c96e633SJohan Jonker	vcc5v0_usb: regulator-vcc5v0-usb {
204c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
205c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_usb";
206c2753d15SKatsuhiro Suzuki		regulator-always-on;
207c2753d15SKatsuhiro Suzuki		regulator-boot-on;
208c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <5000000>;
209c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <5000000>;
210c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc12v_dcin>;
211c2753d15SKatsuhiro Suzuki	};
212c2753d15SKatsuhiro Suzuki
213bd1c959fSDragan Simic	vcca_0v9: regulator-vcca-0v9 {
214bd1c959fSDragan Simic		compatible = "regulator-fixed";
215bd1c959fSDragan Simic		regulator-name = "vcca_0v9";
216bd1c959fSDragan Simic		regulator-always-on;
217bd1c959fSDragan Simic		regulator-boot-on;
218bd1c959fSDragan Simic		regulator-min-microvolt = <900000>;
219bd1c959fSDragan Simic		regulator-max-microvolt = <900000>;
220bd1c959fSDragan Simic		vin-supply = <&vcc3v3_sys>;
221bd1c959fSDragan Simic	};
222bd1c959fSDragan Simic
2235c96e633SJohan Jonker	vdd_log: regulator-vdd-log {
224c2753d15SKatsuhiro Suzuki		compatible = "pwm-regulator";
225c2753d15SKatsuhiro Suzuki		pwms = <&pwm2 0 25000 1>;
226dc570e8eSHeiko Stuebner		pwm-supply = <&vcc5v0_sys>;
227c2753d15SKatsuhiro Suzuki		regulator-name = "vdd_log";
228c2753d15SKatsuhiro Suzuki		regulator-always-on;
229c2753d15SKatsuhiro Suzuki		regulator-boot-on;
230c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <800000>;
231c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1700000>;
232c2753d15SKatsuhiro Suzuki	};
233c2753d15SKatsuhiro Suzuki};
234c2753d15SKatsuhiro Suzuki
235c2753d15SKatsuhiro Suzuki&cpu_l0 {
236c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
237c2753d15SKatsuhiro Suzuki};
238c2753d15SKatsuhiro Suzuki
239c2753d15SKatsuhiro Suzuki&cpu_l1 {
240c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
241c2753d15SKatsuhiro Suzuki};
242c2753d15SKatsuhiro Suzuki
243c2753d15SKatsuhiro Suzuki&cpu_l2 {
244c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
245c2753d15SKatsuhiro Suzuki};
246c2753d15SKatsuhiro Suzuki
247c2753d15SKatsuhiro Suzuki&cpu_l3 {
248c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
249c2753d15SKatsuhiro Suzuki};
250c2753d15SKatsuhiro Suzuki
251c2753d15SKatsuhiro Suzuki&cpu_b0 {
252c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_b>;
253c2753d15SKatsuhiro Suzuki};
254c2753d15SKatsuhiro Suzuki
255c2753d15SKatsuhiro Suzuki&cpu_b1 {
256c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_b>;
257c2753d15SKatsuhiro Suzuki};
258c2753d15SKatsuhiro Suzuki
259d09ebc6bSPeter Geis&cpu_thermal {
260d09ebc6bSPeter Geis	trips {
261d09ebc6bSPeter Geis		cpu_warm: cpu_warm {
262d09ebc6bSPeter Geis			temperature = <55000>;
263d09ebc6bSPeter Geis			hysteresis = <2000>;
264d09ebc6bSPeter Geis			type = "active";
265d09ebc6bSPeter Geis		};
266d09ebc6bSPeter Geis
267d09ebc6bSPeter Geis		cpu_hot: cpu_hot {
268d09ebc6bSPeter Geis			temperature = <65000>;
269d09ebc6bSPeter Geis			hysteresis = <2000>;
270d09ebc6bSPeter Geis			type = "active";
271d09ebc6bSPeter Geis		};
272d09ebc6bSPeter Geis	};
273d09ebc6bSPeter Geis
274d09ebc6bSPeter Geis	cooling-maps {
275d09ebc6bSPeter Geis		map2 {
276d09ebc6bSPeter Geis			trip = <&cpu_warm>;
277d09ebc6bSPeter Geis			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
278d09ebc6bSPeter Geis		};
279d09ebc6bSPeter Geis
280d09ebc6bSPeter Geis		map3 {
281d09ebc6bSPeter Geis			trip = <&cpu_hot>;
282d09ebc6bSPeter Geis			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
283d09ebc6bSPeter Geis		};
284d09ebc6bSPeter Geis	};
285d09ebc6bSPeter Geis};
286d09ebc6bSPeter Geis
287c2753d15SKatsuhiro Suzuki&emmc_phy {
288c2753d15SKatsuhiro Suzuki	status = "okay";
289c2753d15SKatsuhiro Suzuki};
290c2753d15SKatsuhiro Suzuki
291c2753d15SKatsuhiro Suzuki&gmac {
292c2753d15SKatsuhiro Suzuki	assigned-clocks = <&cru SCLK_RMII_SRC>;
293c2753d15SKatsuhiro Suzuki	assigned-clock-parents = <&clkin_gmac>;
294c2753d15SKatsuhiro Suzuki	clock_in_out = "input";
295c2753d15SKatsuhiro Suzuki	phy-supply = <&vcc_lan>;
296c2753d15SKatsuhiro Suzuki	phy-mode = "rgmii";
297c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
298c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&rgmii_pins>;
299c2753d15SKatsuhiro Suzuki	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
300c2753d15SKatsuhiro Suzuki	snps,reset-active-low;
301c2753d15SKatsuhiro Suzuki	snps,reset-delays-us = <0 10000 50000>;
302c2753d15SKatsuhiro Suzuki	tx_delay = <0x28>;
303c2753d15SKatsuhiro Suzuki	rx_delay = <0x11>;
304c2753d15SKatsuhiro Suzuki	status = "okay";
305c2753d15SKatsuhiro Suzuki};
306c2753d15SKatsuhiro Suzuki
307c2753d15SKatsuhiro Suzuki&hdmi {
308bd1c959fSDragan Simic	avdd-0v9-supply = <&vcca_0v9>;
309bd1c959fSDragan Simic	avdd-1v8-supply = <&vcc1v8_dvp>;
310c2753d15SKatsuhiro Suzuki	ddc-i2c-bus = <&i2c3>;
311c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
312c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&hdmi_cec>;
313c2753d15SKatsuhiro Suzuki	status = "okay";
314c2753d15SKatsuhiro Suzuki};
315c2753d15SKatsuhiro Suzuki
316c2753d15SKatsuhiro Suzuki&hdmi_sound {
317c2753d15SKatsuhiro Suzuki	status = "okay";
318c2753d15SKatsuhiro Suzuki};
319c2753d15SKatsuhiro Suzuki
320c2753d15SKatsuhiro Suzuki&gpu {
321c2753d15SKatsuhiro Suzuki	mali-supply = <&vdd_gpu>;
322c2753d15SKatsuhiro Suzuki	status = "okay";
323c2753d15SKatsuhiro Suzuki};
324c2753d15SKatsuhiro Suzuki
325c2753d15SKatsuhiro Suzuki&i2c0 {
326c2753d15SKatsuhiro Suzuki	clock-frequency = <400000>;
327c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <168>;
328c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <4>;
329c2753d15SKatsuhiro Suzuki	status = "okay";
330c2753d15SKatsuhiro Suzuki
331c2753d15SKatsuhiro Suzuki	rk808: pmic@1b {
332c2753d15SKatsuhiro Suzuki		compatible = "rockchip,rk808";
333c2753d15SKatsuhiro Suzuki		reg = <0x1b>;
334c2753d15SKatsuhiro Suzuki		interrupt-parent = <&gpio3>;
335c2753d15SKatsuhiro Suzuki		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
336c2753d15SKatsuhiro Suzuki		#clock-cells = <1>;
337c2753d15SKatsuhiro Suzuki		clock-output-names = "xin32k", "rk808-clkout2";
338c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
339c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&pmic_int_l>;
3405a49e05bSDiederik de Haas		system-power-controller;
341c2753d15SKatsuhiro Suzuki		wakeup-source;
342c2753d15SKatsuhiro Suzuki
343c2753d15SKatsuhiro Suzuki		vcc1-supply = <&vcc5v0_sys>;
344c2753d15SKatsuhiro Suzuki		vcc2-supply = <&vcc5v0_sys>;
345c2753d15SKatsuhiro Suzuki		vcc3-supply = <&vcc5v0_sys>;
346c2753d15SKatsuhiro Suzuki		vcc4-supply = <&vcc5v0_sys>;
347c2753d15SKatsuhiro Suzuki		vcc6-supply = <&vcc5v0_sys>;
348c2753d15SKatsuhiro Suzuki		vcc7-supply = <&vcc5v0_sys>;
349c2753d15SKatsuhiro Suzuki		vcc8-supply = <&vcc3v3_sys>;
350c2753d15SKatsuhiro Suzuki		vcc9-supply = <&vcc5v0_sys>;
351c2753d15SKatsuhiro Suzuki		vcc10-supply = <&vcc5v0_sys>;
352c2753d15SKatsuhiro Suzuki		vcc11-supply = <&vcc5v0_sys>;
353c2753d15SKatsuhiro Suzuki		vcc12-supply = <&vcc3v3_sys>;
354c2753d15SKatsuhiro Suzuki		vddio-supply = <&vcca_1v8>;
355c2753d15SKatsuhiro Suzuki
356c2753d15SKatsuhiro Suzuki		regulators {
357c2753d15SKatsuhiro Suzuki			vdd_center: DCDC_REG1 {
358c2753d15SKatsuhiro Suzuki				regulator-name = "vdd_center";
359c2753d15SKatsuhiro Suzuki				regulator-always-on;
360c2753d15SKatsuhiro Suzuki				regulator-boot-on;
361c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <750000>;
362c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1350000>;
363c2753d15SKatsuhiro Suzuki				regulator-ramp-delay = <6001>;
364c2753d15SKatsuhiro Suzuki				regulator-state-mem {
365c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
366c2753d15SKatsuhiro Suzuki				};
367c2753d15SKatsuhiro Suzuki			};
368c2753d15SKatsuhiro Suzuki
369c2753d15SKatsuhiro Suzuki			vdd_cpu_l: DCDC_REG2 {
370c2753d15SKatsuhiro Suzuki				regulator-name = "vdd_cpu_l";
371c2753d15SKatsuhiro Suzuki				regulator-always-on;
372c2753d15SKatsuhiro Suzuki				regulator-boot-on;
373c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <750000>;
374c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1350000>;
375c2753d15SKatsuhiro Suzuki				regulator-ramp-delay = <6001>;
376c2753d15SKatsuhiro Suzuki				regulator-state-mem {
377c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
378c2753d15SKatsuhiro Suzuki				};
379c2753d15SKatsuhiro Suzuki			};
380c2753d15SKatsuhiro Suzuki
381c2753d15SKatsuhiro Suzuki			vcc_ddr: DCDC_REG3 {
382c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_ddr";
383c2753d15SKatsuhiro Suzuki				regulator-always-on;
384c2753d15SKatsuhiro Suzuki				regulator-boot-on;
385c2753d15SKatsuhiro Suzuki				regulator-state-mem {
386c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
387c2753d15SKatsuhiro Suzuki				};
388c2753d15SKatsuhiro Suzuki			};
389c2753d15SKatsuhiro Suzuki
390c2753d15SKatsuhiro Suzuki			vcc_1v8: DCDC_REG4 {
391c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_1v8";
392c2753d15SKatsuhiro Suzuki				regulator-always-on;
393c2753d15SKatsuhiro Suzuki				regulator-boot-on;
394c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
395c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
396c2753d15SKatsuhiro Suzuki				regulator-state-mem {
397c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
398c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <1800000>;
399c2753d15SKatsuhiro Suzuki				};
400c2753d15SKatsuhiro Suzuki			};
401c2753d15SKatsuhiro Suzuki
402c2753d15SKatsuhiro Suzuki			vcc1v8_dvp: LDO_REG1 {
403c2753d15SKatsuhiro Suzuki				regulator-name = "vcc1v8_dvp";
404c2753d15SKatsuhiro Suzuki				regulator-always-on;
405c2753d15SKatsuhiro Suzuki				regulator-boot-on;
406c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
407c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
408c2753d15SKatsuhiro Suzuki				regulator-state-mem {
409c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
410c2753d15SKatsuhiro Suzuki				};
411c2753d15SKatsuhiro Suzuki			};
412c2753d15SKatsuhiro Suzuki
413c2753d15SKatsuhiro Suzuki			vcc3v0_touch: LDO_REG2 {
414c2753d15SKatsuhiro Suzuki				regulator-name = "vcc3v0_touch";
415c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <3000000>;
416c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
417c2753d15SKatsuhiro Suzuki				regulator-state-mem {
418c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
419c2753d15SKatsuhiro Suzuki				};
420c2753d15SKatsuhiro Suzuki			};
421c2753d15SKatsuhiro Suzuki
422c2753d15SKatsuhiro Suzuki			vcca_1v8: LDO_REG3 {
423c2753d15SKatsuhiro Suzuki				regulator-name = "vcca_1v8";
424c2753d15SKatsuhiro Suzuki				regulator-always-on;
425c2753d15SKatsuhiro Suzuki				regulator-boot-on;
426c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
427c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
428c2753d15SKatsuhiro Suzuki				regulator-state-mem {
429c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
430c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <1800000>;
431c2753d15SKatsuhiro Suzuki				};
432c2753d15SKatsuhiro Suzuki			};
433c2753d15SKatsuhiro Suzuki
434c2753d15SKatsuhiro Suzuki			vcc_sdio: LDO_REG4 {
435c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_sdio";
436c2753d15SKatsuhiro Suzuki				regulator-always-on;
437c2753d15SKatsuhiro Suzuki				regulator-boot-on;
438c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
439c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
440c2753d15SKatsuhiro Suzuki				regulator-state-mem {
441c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
442c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <3000000>;
443c2753d15SKatsuhiro Suzuki				};
444c2753d15SKatsuhiro Suzuki			};
445c2753d15SKatsuhiro Suzuki
446c2753d15SKatsuhiro Suzuki			vcca3v0_codec: LDO_REG5 {
447c2753d15SKatsuhiro Suzuki				regulator-name = "vcca3v0_codec";
448c2753d15SKatsuhiro Suzuki				regulator-always-on;
449c2753d15SKatsuhiro Suzuki				regulator-boot-on;
450c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <3000000>;
451c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
452c2753d15SKatsuhiro Suzuki				regulator-state-mem {
453c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
454c2753d15SKatsuhiro Suzuki				};
455c2753d15SKatsuhiro Suzuki			};
456c2753d15SKatsuhiro Suzuki
457c2753d15SKatsuhiro Suzuki			vcc_1v5: LDO_REG6 {
458c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_1v5";
459c2753d15SKatsuhiro Suzuki				regulator-always-on;
460c2753d15SKatsuhiro Suzuki				regulator-boot-on;
461c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1500000>;
462c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1500000>;
463c2753d15SKatsuhiro Suzuki				regulator-state-mem {
464c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
465c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <1500000>;
466c2753d15SKatsuhiro Suzuki				};
467c2753d15SKatsuhiro Suzuki			};
468c2753d15SKatsuhiro Suzuki
469c2753d15SKatsuhiro Suzuki			vcca1v8_codec: LDO_REG7 {
470c2753d15SKatsuhiro Suzuki				regulator-name = "vcca1v8_codec";
471c2753d15SKatsuhiro Suzuki				regulator-always-on;
472c2753d15SKatsuhiro Suzuki				regulator-boot-on;
473c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
474c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
475c2753d15SKatsuhiro Suzuki				regulator-state-mem {
476c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
477c2753d15SKatsuhiro Suzuki				};
478c2753d15SKatsuhiro Suzuki			};
479c2753d15SKatsuhiro Suzuki
480c2753d15SKatsuhiro Suzuki			vcc_3v0: LDO_REG8 {
481c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_3v0";
482c2753d15SKatsuhiro Suzuki				regulator-always-on;
483c2753d15SKatsuhiro Suzuki				regulator-boot-on;
484c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <3000000>;
485c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
486c2753d15SKatsuhiro Suzuki				regulator-state-mem {
487c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
488c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <3000000>;
489c2753d15SKatsuhiro Suzuki				};
490c2753d15SKatsuhiro Suzuki			};
491c2753d15SKatsuhiro Suzuki
492c2753d15SKatsuhiro Suzuki			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
493c2753d15SKatsuhiro Suzuki				regulator-name = "vcc3v3_s3";
494c2753d15SKatsuhiro Suzuki				regulator-always-on;
495c2753d15SKatsuhiro Suzuki				regulator-boot-on;
496c2753d15SKatsuhiro Suzuki				regulator-state-mem {
497c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
498c2753d15SKatsuhiro Suzuki				};
499c2753d15SKatsuhiro Suzuki			};
500c2753d15SKatsuhiro Suzuki
501c2753d15SKatsuhiro Suzuki			vcc3v3_s0: SWITCH_REG2 {
502c2753d15SKatsuhiro Suzuki				regulator-name = "vcc3v3_s0";
503c2753d15SKatsuhiro Suzuki				regulator-state-mem {
504c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
505c2753d15SKatsuhiro Suzuki				};
506c2753d15SKatsuhiro Suzuki			};
507c2753d15SKatsuhiro Suzuki		};
508c2753d15SKatsuhiro Suzuki	};
509c2753d15SKatsuhiro Suzuki
510c2753d15SKatsuhiro Suzuki	vdd_cpu_b: regulator@40 {
511c2753d15SKatsuhiro Suzuki		compatible = "silergy,syr827";
512c2753d15SKatsuhiro Suzuki		reg = <0x40>;
513c2753d15SKatsuhiro Suzuki		fcs,suspend-voltage-selector = <1>;
514c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
5152bc65fefSJohan Jonker		pinctrl-0 = <&vsel1_pin>;
516c2753d15SKatsuhiro Suzuki		regulator-name = "vdd_cpu_b";
517c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <712500>;
518c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1500000>;
519c2753d15SKatsuhiro Suzuki		regulator-ramp-delay = <1000>;
520c2753d15SKatsuhiro Suzuki		regulator-always-on;
521c2753d15SKatsuhiro Suzuki		regulator-boot-on;
522c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_sys>;
523c2753d15SKatsuhiro Suzuki
524c2753d15SKatsuhiro Suzuki		regulator-state-mem {
525c2753d15SKatsuhiro Suzuki			regulator-off-in-suspend;
526c2753d15SKatsuhiro Suzuki		};
527c2753d15SKatsuhiro Suzuki	};
528c2753d15SKatsuhiro Suzuki
529c2753d15SKatsuhiro Suzuki	vdd_gpu: regulator@41 {
530c2753d15SKatsuhiro Suzuki		compatible = "silergy,syr828";
531c2753d15SKatsuhiro Suzuki		reg = <0x41>;
532c2753d15SKatsuhiro Suzuki		fcs,suspend-voltage-selector = <1>;
533c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
5342bc65fefSJohan Jonker		pinctrl-0 = <&vsel2_pin>;
535c2753d15SKatsuhiro Suzuki		regulator-name = "vdd_gpu";
536c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <712500>;
537c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1500000>;
538c2753d15SKatsuhiro Suzuki		regulator-ramp-delay = <1000>;
539c2753d15SKatsuhiro Suzuki		regulator-always-on;
540c2753d15SKatsuhiro Suzuki		regulator-boot-on;
541c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_sys>;
542c2753d15SKatsuhiro Suzuki
543c2753d15SKatsuhiro Suzuki		regulator-state-mem {
544c2753d15SKatsuhiro Suzuki			regulator-off-in-suspend;
545c2753d15SKatsuhiro Suzuki		};
546c2753d15SKatsuhiro Suzuki	};
547c2753d15SKatsuhiro Suzuki};
548c2753d15SKatsuhiro Suzuki
549c2753d15SKatsuhiro Suzuki&i2c1 {
550c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <300>;
551c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <15>;
552c2753d15SKatsuhiro Suzuki	status = "okay";
553c2753d15SKatsuhiro Suzuki};
554c2753d15SKatsuhiro Suzuki
555c2753d15SKatsuhiro Suzuki&i2c3 {
556c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <450>;
557c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <15>;
558c2753d15SKatsuhiro Suzuki	status = "okay";
559c2753d15SKatsuhiro Suzuki};
560c2753d15SKatsuhiro Suzuki
561c2753d15SKatsuhiro Suzuki&i2c4 {
562c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <600>;
563c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <20>;
564c2753d15SKatsuhiro Suzuki	status = "okay";
565c2753d15SKatsuhiro Suzuki
566c2753d15SKatsuhiro Suzuki	fusb0: typec-portc@22 {
567c2753d15SKatsuhiro Suzuki		compatible = "fcs,fusb302";
568c2753d15SKatsuhiro Suzuki		reg = <0x22>;
569c2753d15SKatsuhiro Suzuki		interrupt-parent = <&gpio1>;
570c2753d15SKatsuhiro Suzuki		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
571c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
572c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&fusb0_int>;
573c2753d15SKatsuhiro Suzuki		vbus-supply = <&vcc5v0_typec>;
574c2753d15SKatsuhiro Suzuki		status = "okay";
575c2753d15SKatsuhiro Suzuki	};
576c2753d15SKatsuhiro Suzuki};
577c2753d15SKatsuhiro Suzuki
578c2753d15SKatsuhiro Suzuki&i2s0 {
579c2753d15SKatsuhiro Suzuki	rockchip,playback-channels = <8>;
580c2753d15SKatsuhiro Suzuki	rockchip,capture-channels = <8>;
581c2753d15SKatsuhiro Suzuki	status = "okay";
582c2753d15SKatsuhiro Suzuki};
583c2753d15SKatsuhiro Suzuki
584c2753d15SKatsuhiro Suzuki&i2s1 {
585c2753d15SKatsuhiro Suzuki	rockchip,playback-channels = <2>;
586c2753d15SKatsuhiro Suzuki	rockchip,capture-channels = <2>;
587c2753d15SKatsuhiro Suzuki	status = "okay";
588c2753d15SKatsuhiro Suzuki
589c2753d15SKatsuhiro Suzuki	i2s1_p0: port {
590c2753d15SKatsuhiro Suzuki		i2s1_p0_0: endpoint {
591c2753d15SKatsuhiro Suzuki			dai-format = "i2s";
592c2753d15SKatsuhiro Suzuki			mclk-fs = <256>;
593c2753d15SKatsuhiro Suzuki			remote-endpoint = <&es8316_p0_0>;
594c2753d15SKatsuhiro Suzuki		};
595c2753d15SKatsuhiro Suzuki	};
596c2753d15SKatsuhiro Suzuki};
597c2753d15SKatsuhiro Suzuki
598c2753d15SKatsuhiro Suzuki&i2s2 {
599c2753d15SKatsuhiro Suzuki	status = "okay";
600c2753d15SKatsuhiro Suzuki};
601c2753d15SKatsuhiro Suzuki
602c2753d15SKatsuhiro Suzuki&io_domains {
603c2753d15SKatsuhiro Suzuki	status = "okay";
604c2753d15SKatsuhiro Suzuki
605c2753d15SKatsuhiro Suzuki	bt656-supply = <&vcc1v8_dvp>;
606c2753d15SKatsuhiro Suzuki	audio-supply = <&vcc_3v0>;
607c2753d15SKatsuhiro Suzuki	sdmmc-supply = <&vcc_sdio>;
608c2753d15SKatsuhiro Suzuki	gpio1830-supply = <&vcc_3v0>;
609c2753d15SKatsuhiro Suzuki};
610c2753d15SKatsuhiro Suzuki
611c2753d15SKatsuhiro Suzuki&pcie0 {
612c2753d15SKatsuhiro Suzuki	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
613c2753d15SKatsuhiro Suzuki	num-lanes = <4>;
614c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
615c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&pcie_perst>;
616ffcef3dfSDragan Simic	vpcie0v9-supply = <&vcca_0v9>;
617ffcef3dfSDragan Simic	vpcie1v8-supply = <&vcca_1v8>;
618c2753d15SKatsuhiro Suzuki	vpcie12v-supply = <&vcc12v_dcin>;
619c2753d15SKatsuhiro Suzuki	vpcie3v3-supply = <&vcc3v3_pcie>;
620c2753d15SKatsuhiro Suzuki	status = "okay";
621c2753d15SKatsuhiro Suzuki};
622c2753d15SKatsuhiro Suzuki
623c2753d15SKatsuhiro Suzuki&pcie_phy {
624c2753d15SKatsuhiro Suzuki	status = "okay";
625c2753d15SKatsuhiro Suzuki};
626c2753d15SKatsuhiro Suzuki
627c2753d15SKatsuhiro Suzuki&pmu_io_domains {
628c2753d15SKatsuhiro Suzuki	pmu1830-supply = <&vcc_3v0>;
629c2753d15SKatsuhiro Suzuki	status = "okay";
630c2753d15SKatsuhiro Suzuki};
631c2753d15SKatsuhiro Suzuki
632c2753d15SKatsuhiro Suzuki&pinctrl {
633e09dabe4SSoeren Moch	bt {
634e09dabe4SSoeren Moch		bt_enable_h: bt-enable-h {
635e09dabe4SSoeren Moch			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
636e09dabe4SSoeren Moch		};
637e09dabe4SSoeren Moch
638e09dabe4SSoeren Moch		bt_host_wake_l: bt-host-wake-l {
639e09dabe4SSoeren Moch			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
640e09dabe4SSoeren Moch		};
641e09dabe4SSoeren Moch
642e09dabe4SSoeren Moch		bt_wake_l: bt-wake-l {
643e09dabe4SSoeren Moch			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
644e09dabe4SSoeren Moch		};
645e09dabe4SSoeren Moch	};
646e09dabe4SSoeren Moch
647c2753d15SKatsuhiro Suzuki	buttons {
648c2753d15SKatsuhiro Suzuki		pwrbtn: pwrbtn {
649c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
650c2753d15SKatsuhiro Suzuki		};
651c2753d15SKatsuhiro Suzuki	};
652c2753d15SKatsuhiro Suzuki
653c2753d15SKatsuhiro Suzuki	fusb302x {
654c2753d15SKatsuhiro Suzuki		fusb0_int: fusb0-int {
655c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
656c2753d15SKatsuhiro Suzuki		};
657c2753d15SKatsuhiro Suzuki	};
658c2753d15SKatsuhiro Suzuki
6597c7f0413SThomas Schneider	ir {
6607c7f0413SThomas Schneider		ir_int: ir-int {
6617c7f0413SThomas Schneider			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
6627c7f0413SThomas Schneider		};
6637c7f0413SThomas Schneider	};
6647c7f0413SThomas Schneider
665c2753d15SKatsuhiro Suzuki	leds {
6666dd5e12cSJohan Jonker		work_led_pin: work-led-pin {
667c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
668c2753d15SKatsuhiro Suzuki		};
669c2753d15SKatsuhiro Suzuki
6706dd5e12cSJohan Jonker		diy_led_pin: diy-led-pin {
671c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
672c2753d15SKatsuhiro Suzuki		};
673c2753d15SKatsuhiro Suzuki	};
674c2753d15SKatsuhiro Suzuki
675c2753d15SKatsuhiro Suzuki	pcie {
676c2753d15SKatsuhiro Suzuki		pcie_perst: pcie-perst {
677c2753d15SKatsuhiro Suzuki			rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
678c2753d15SKatsuhiro Suzuki		};
679c2753d15SKatsuhiro Suzuki
680c2753d15SKatsuhiro Suzuki		pcie_pwr_en: pcie-pwr-en {
681c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
682c2753d15SKatsuhiro Suzuki		};
683c2753d15SKatsuhiro Suzuki	};
684c2753d15SKatsuhiro Suzuki
685c2753d15SKatsuhiro Suzuki	pmic {
686c2753d15SKatsuhiro Suzuki		pmic_int_l: pmic-int-l {
687c2753d15SKatsuhiro Suzuki			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
688c2753d15SKatsuhiro Suzuki		};
689c2753d15SKatsuhiro Suzuki
6902bc65fefSJohan Jonker		vsel1_pin: vsel1-pin {
691c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
692c2753d15SKatsuhiro Suzuki		};
693c2753d15SKatsuhiro Suzuki
6942bc65fefSJohan Jonker		vsel2_pin: vsel2-pin {
695c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
696c2753d15SKatsuhiro Suzuki		};
697c2753d15SKatsuhiro Suzuki	};
698c2753d15SKatsuhiro Suzuki
6991f5a3e16STobias Schramm	sdcard {
7001f5a3e16STobias Schramm		sdmmc0_pwr_h: sdmmc0-pwr-h {
7011f5a3e16STobias Schramm			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
7021f5a3e16STobias Schramm		};
7031f5a3e16STobias Schramm
7041f5a3e16STobias Schramm	};
7051f5a3e16STobias Schramm
706c2753d15SKatsuhiro Suzuki	sdio-pwrseq {
707c2753d15SKatsuhiro Suzuki		wifi_enable_h: wifi-enable-h {
708c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
709c2753d15SKatsuhiro Suzuki		};
710c2753d15SKatsuhiro Suzuki	};
711c2753d15SKatsuhiro Suzuki
712c2753d15SKatsuhiro Suzuki	usb-typec {
713c2753d15SKatsuhiro Suzuki		vcc5v0_typec_en: vcc5v0_typec_en {
714c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
715c2753d15SKatsuhiro Suzuki		};
716c2753d15SKatsuhiro Suzuki	};
717c2753d15SKatsuhiro Suzuki
718c2753d15SKatsuhiro Suzuki	usb2 {
719c2753d15SKatsuhiro Suzuki		vcc5v0_host_en: vcc5v0-host-en {
720c2753d15SKatsuhiro Suzuki			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
721c2753d15SKatsuhiro Suzuki		};
722c2753d15SKatsuhiro Suzuki	};
723c2753d15SKatsuhiro Suzuki};
724c2753d15SKatsuhiro Suzuki
725c2753d15SKatsuhiro Suzuki&pwm1 {
726c2753d15SKatsuhiro Suzuki	status = "okay";
727c2753d15SKatsuhiro Suzuki};
728c2753d15SKatsuhiro Suzuki
729c2753d15SKatsuhiro Suzuki&pwm2 {
730c2753d15SKatsuhiro Suzuki	status = "okay";
731c2753d15SKatsuhiro Suzuki};
732c2753d15SKatsuhiro Suzuki
733c2753d15SKatsuhiro Suzuki&saradc {
734c2753d15SKatsuhiro Suzuki	vref-supply = <&vcca1v8_s3>;
735c2753d15SKatsuhiro Suzuki	status = "okay";
736c2753d15SKatsuhiro Suzuki};
737c2753d15SKatsuhiro Suzuki
7387c5b6bfbSSoeren Moch&sdio0 {
7397c5b6bfbSSoeren Moch	bus-width = <4>;
7407c5b6bfbSSoeren Moch	cap-sd-highspeed;
7417c5b6bfbSSoeren Moch	cap-sdio-irq;
7427c5b6bfbSSoeren Moch	disable-wp;
7437c5b6bfbSSoeren Moch	keep-power-in-suspend;
7447c5b6bfbSSoeren Moch	mmc-pwrseq = <&sdio_pwrseq>;
7457c5b6bfbSSoeren Moch	non-removable;
7467c5b6bfbSSoeren Moch	pinctrl-names = "default";
7477c5b6bfbSSoeren Moch	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
7487c5b6bfbSSoeren Moch	sd-uhs-sdr104;
7497c5b6bfbSSoeren Moch	status = "okay";
7507c5b6bfbSSoeren Moch};
7517c5b6bfbSSoeren Moch
752c2753d15SKatsuhiro Suzuki&sdmmc {
753c2753d15SKatsuhiro Suzuki	bus-width = <4>;
754c2753d15SKatsuhiro Suzuki	cap-sd-highspeed;
755c2753d15SKatsuhiro Suzuki	cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
756c2753d15SKatsuhiro Suzuki	disable-wp;
757c2753d15SKatsuhiro Suzuki	max-frequency = <150000000>;
758c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
759c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
7601f5a3e16STobias Schramm	vmmc-supply = <&vcc3v0_sd>;
7611f5a3e16STobias Schramm	vqmmc-supply = <&vcc_sdio>;
762c2753d15SKatsuhiro Suzuki	status = "okay";
763c2753d15SKatsuhiro Suzuki};
764c2753d15SKatsuhiro Suzuki
765c2753d15SKatsuhiro Suzuki&sdhci {
766c2753d15SKatsuhiro Suzuki	bus-width = <8>;
767c2753d15SKatsuhiro Suzuki	mmc-hs200-1_8v;
768c2753d15SKatsuhiro Suzuki	non-removable;
769c2753d15SKatsuhiro Suzuki	status = "okay";
770c2753d15SKatsuhiro Suzuki};
771c2753d15SKatsuhiro Suzuki
7727f02feb5SKatsuhiro Suzuki&spdif {
7737f02feb5SKatsuhiro Suzuki	pinctrl-0 = <&spdif_bus_1>;
7747f02feb5SKatsuhiro Suzuki
7757f02feb5SKatsuhiro Suzuki	spdif_p0: port {
7767f02feb5SKatsuhiro Suzuki		spdif_p0_0: endpoint {
7777f02feb5SKatsuhiro Suzuki			remote-endpoint = <&dit_p0_0>;
7787f02feb5SKatsuhiro Suzuki		};
7797f02feb5SKatsuhiro Suzuki	};
7807f02feb5SKatsuhiro Suzuki};
7817f02feb5SKatsuhiro Suzuki
782c2753d15SKatsuhiro Suzuki&spi1 {
783c2753d15SKatsuhiro Suzuki	status = "okay";
784c2753d15SKatsuhiro Suzuki
785c2753d15SKatsuhiro Suzuki	flash@0 {
786c2753d15SKatsuhiro Suzuki		compatible = "jedec,spi-nor";
787c2753d15SKatsuhiro Suzuki		reg = <0>;
788c2753d15SKatsuhiro Suzuki		spi-max-frequency = <10000000>;
789*b7b045deSDiederik de Haas		vcc-supply = <&vcc_3v0>;
790c2753d15SKatsuhiro Suzuki	};
791c2753d15SKatsuhiro Suzuki};
792c2753d15SKatsuhiro Suzuki
793c2753d15SKatsuhiro Suzuki&tcphy0 {
794c2753d15SKatsuhiro Suzuki	status = "okay";
795c2753d15SKatsuhiro Suzuki};
796c2753d15SKatsuhiro Suzuki
797c2753d15SKatsuhiro Suzuki&tcphy1 {
798c2753d15SKatsuhiro Suzuki	status = "okay";
799c2753d15SKatsuhiro Suzuki};
800c2753d15SKatsuhiro Suzuki
801c2753d15SKatsuhiro Suzuki&tsadc {
802c2753d15SKatsuhiro Suzuki	/* tshut mode 0:CRU 1:GPIO */
803c2753d15SKatsuhiro Suzuki	rockchip,hw-tshut-mode = <1>;
804c2753d15SKatsuhiro Suzuki	/* tshut polarity 0:LOW 1:HIGH */
805c2753d15SKatsuhiro Suzuki	rockchip,hw-tshut-polarity = <1>;
806c2753d15SKatsuhiro Suzuki	status = "okay";
807c2753d15SKatsuhiro Suzuki};
808c2753d15SKatsuhiro Suzuki
809c2753d15SKatsuhiro Suzuki&u2phy0 {
810c2753d15SKatsuhiro Suzuki	status = "okay";
811c2753d15SKatsuhiro Suzuki
812c2753d15SKatsuhiro Suzuki	u2phy0_otg: otg-port {
813c2753d15SKatsuhiro Suzuki		status = "okay";
814c2753d15SKatsuhiro Suzuki	};
815c2753d15SKatsuhiro Suzuki
816c2753d15SKatsuhiro Suzuki	u2phy0_host: host-port {
817c2753d15SKatsuhiro Suzuki		phy-supply = <&vcc5v0_host>;
818c2753d15SKatsuhiro Suzuki		status = "okay";
819c2753d15SKatsuhiro Suzuki	};
820c2753d15SKatsuhiro Suzuki};
821c2753d15SKatsuhiro Suzuki
822c2753d15SKatsuhiro Suzuki&u2phy1 {
823c2753d15SKatsuhiro Suzuki	status = "okay";
824c2753d15SKatsuhiro Suzuki
825c2753d15SKatsuhiro Suzuki	u2phy1_otg: otg-port {
826c2753d15SKatsuhiro Suzuki		status = "okay";
827c2753d15SKatsuhiro Suzuki	};
828c2753d15SKatsuhiro Suzuki
829c2753d15SKatsuhiro Suzuki	u2phy1_host: host-port {
830c2753d15SKatsuhiro Suzuki		phy-supply = <&vcc5v0_host>;
831c2753d15SKatsuhiro Suzuki		status = "okay";
832c2753d15SKatsuhiro Suzuki	};
833c2753d15SKatsuhiro Suzuki};
834c2753d15SKatsuhiro Suzuki
835c2753d15SKatsuhiro Suzuki&uart0 {
836c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
837e09dabe4SSoeren Moch	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
838c2753d15SKatsuhiro Suzuki	status = "okay";
839e09dabe4SSoeren Moch
840e09dabe4SSoeren Moch	bluetooth {
841e09dabe4SSoeren Moch		compatible = "brcm,bcm43438-bt";
842e09dabe4SSoeren Moch		clocks = <&rk808 1>;
843e09dabe4SSoeren Moch		clock-names = "lpo";
844e09dabe4SSoeren Moch		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
845e09dabe4SSoeren Moch		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
846e09dabe4SSoeren Moch		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
847e09dabe4SSoeren Moch		pinctrl-names = "default";
848e09dabe4SSoeren Moch		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
849e09dabe4SSoeren Moch		vbat-supply = <&vcc3v3_sys>;
850e09dabe4SSoeren Moch		vddio-supply = <&vcc_1v8>;
851e09dabe4SSoeren Moch	};
852c2753d15SKatsuhiro Suzuki};
853c2753d15SKatsuhiro Suzuki
854c2753d15SKatsuhiro Suzuki&uart2 {
855c2753d15SKatsuhiro Suzuki	status = "okay";
856c2753d15SKatsuhiro Suzuki};
857c2753d15SKatsuhiro Suzuki
858c2753d15SKatsuhiro Suzuki&usb_host0_ehci {
859c2753d15SKatsuhiro Suzuki	status = "okay";
860c2753d15SKatsuhiro Suzuki};
861c2753d15SKatsuhiro Suzuki
862c2753d15SKatsuhiro Suzuki&usb_host0_ohci {
863c2753d15SKatsuhiro Suzuki	status = "okay";
864c2753d15SKatsuhiro Suzuki};
865c2753d15SKatsuhiro Suzuki
866c2753d15SKatsuhiro Suzuki&usb_host1_ehci {
867c2753d15SKatsuhiro Suzuki	status = "okay";
868c2753d15SKatsuhiro Suzuki};
869c2753d15SKatsuhiro Suzuki
870c2753d15SKatsuhiro Suzuki&usb_host1_ohci {
871c2753d15SKatsuhiro Suzuki	status = "okay";
872c2753d15SKatsuhiro Suzuki};
873c2753d15SKatsuhiro Suzuki
874c2753d15SKatsuhiro Suzuki&usbdrd3_0 {
875c2753d15SKatsuhiro Suzuki	status = "okay";
876c2753d15SKatsuhiro Suzuki};
877c2753d15SKatsuhiro Suzuki
878c2753d15SKatsuhiro Suzuki&usbdrd_dwc3_0 {
879c2753d15SKatsuhiro Suzuki	status = "okay";
88075152d66SPeter Geis	dr_mode = "host";
881c2753d15SKatsuhiro Suzuki};
882c2753d15SKatsuhiro Suzuki
883c2753d15SKatsuhiro Suzuki&usbdrd3_1 {
884c2753d15SKatsuhiro Suzuki	status = "okay";
885c2753d15SKatsuhiro Suzuki};
886c2753d15SKatsuhiro Suzuki
887c2753d15SKatsuhiro Suzuki&usbdrd_dwc3_1 {
888c2753d15SKatsuhiro Suzuki	status = "okay";
889c2753d15SKatsuhiro Suzuki	dr_mode = "host";
890c2753d15SKatsuhiro Suzuki};
891c2753d15SKatsuhiro Suzuki
892c2753d15SKatsuhiro Suzuki&vopb {
893c2753d15SKatsuhiro Suzuki	status = "okay";
894c2753d15SKatsuhiro Suzuki};
895c2753d15SKatsuhiro Suzuki
896c2753d15SKatsuhiro Suzuki&vopb_mmu {
897c2753d15SKatsuhiro Suzuki	status = "okay";
898c2753d15SKatsuhiro Suzuki};
899c2753d15SKatsuhiro Suzuki
900c2753d15SKatsuhiro Suzuki&vopl {
901c2753d15SKatsuhiro Suzuki	status = "okay";
902c2753d15SKatsuhiro Suzuki};
903c2753d15SKatsuhiro Suzuki
904c2753d15SKatsuhiro Suzuki&vopl_mmu {
905c2753d15SKatsuhiro Suzuki	status = "okay";
906c2753d15SKatsuhiro Suzuki};
907