xref: /openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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#include "rk3399-opp.dtsi"
11c2753d15SKatsuhiro Suzuki
12c2753d15SKatsuhiro Suzuki/ {
135dcbe7e3SHeiko Stuebner	aliases {
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
23b65155c7SPeter Geis	/* enable for panel backlight support */
24b65155c7SPeter Geis	backlight: backlight {
25b65155c7SPeter Geis		compatible = "pwm-backlight";
26b65155c7SPeter Geis		brightness-levels = <0 4 8 16 32 64 128 255>;
27b65155c7SPeter Geis		default-brightness-level = <5>;
28b65155c7SPeter Geis		pwms = <&pwm0 0 1000000 0>;
29b65155c7SPeter Geis		status = "disabled";
30b65155c7SPeter Geis	};
31b65155c7SPeter Geis
32c2753d15SKatsuhiro Suzuki	clkin_gmac: external-gmac-clock {
33c2753d15SKatsuhiro Suzuki		compatible = "fixed-clock";
34c2753d15SKatsuhiro Suzuki		clock-frequency = <125000000>;
35c2753d15SKatsuhiro Suzuki		clock-output-names = "clkin_gmac";
36c2753d15SKatsuhiro Suzuki		#clock-cells = <0>;
37c2753d15SKatsuhiro Suzuki	};
38c2753d15SKatsuhiro Suzuki
39c2753d15SKatsuhiro Suzuki	gpio-keys {
40c2753d15SKatsuhiro Suzuki		compatible = "gpio-keys";
41c2753d15SKatsuhiro Suzuki		autorepeat;
42c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
43c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&pwrbtn>;
44c2753d15SKatsuhiro Suzuki
45517ed0ffSKrzysztof Kozlowski		key-power {
46c2753d15SKatsuhiro Suzuki			debounce-interval = <100>;
47c2753d15SKatsuhiro Suzuki			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
48c2753d15SKatsuhiro Suzuki			label = "GPIO Key Power";
49c2753d15SKatsuhiro Suzuki			linux,code = <KEY_POWER>;
50c2753d15SKatsuhiro Suzuki			wakeup-source;
51c2753d15SKatsuhiro Suzuki		};
52c2753d15SKatsuhiro Suzuki	};
53c2753d15SKatsuhiro Suzuki
547c7f0413SThomas Schneider	ir-receiver {
557c7f0413SThomas Schneider		compatible = "gpio-ir-receiver";
567c7f0413SThomas Schneider		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
577c7f0413SThomas Schneider		pinctrl-0 = <&ir_int>;
587c7f0413SThomas Schneider		pinctrl-names = "default";
597c7f0413SThomas Schneider	};
607c7f0413SThomas Schneider
61c2753d15SKatsuhiro Suzuki	leds {
62c2753d15SKatsuhiro Suzuki		compatible = "gpio-leds";
63c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
646dd5e12cSJohan Jonker		pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
65c2753d15SKatsuhiro Suzuki
666dd5e12cSJohan Jonker		work_led: led-0 {
67c2753d15SKatsuhiro Suzuki			label = "work";
68c2753d15SKatsuhiro Suzuki			default-state = "on";
69c2753d15SKatsuhiro Suzuki			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
70c2753d15SKatsuhiro Suzuki		};
71c2753d15SKatsuhiro Suzuki
726dd5e12cSJohan Jonker		diy_led: led-1 {
73c2753d15SKatsuhiro Suzuki			label = "diy";
74c2753d15SKatsuhiro Suzuki			default-state = "off";
75c2753d15SKatsuhiro Suzuki			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
76c2753d15SKatsuhiro Suzuki		};
77c2753d15SKatsuhiro Suzuki	};
78c2753d15SKatsuhiro Suzuki
79c2753d15SKatsuhiro Suzuki	fan: pwm-fan {
80c2753d15SKatsuhiro Suzuki		compatible = "pwm-fan";
81d09ebc6bSPeter Geis		cooling-levels = <0 100 150 200 255>;
82c2753d15SKatsuhiro Suzuki		#cooling-cells = <2>;
83c2753d15SKatsuhiro Suzuki		fan-supply = <&vcc12v_dcin>;
84c2753d15SKatsuhiro Suzuki		pwms = <&pwm1 0 50000 0>;
85c2753d15SKatsuhiro Suzuki	};
86c2753d15SKatsuhiro Suzuki
87c2753d15SKatsuhiro Suzuki	sdio_pwrseq: sdio-pwrseq {
88c2753d15SKatsuhiro Suzuki		compatible = "mmc-pwrseq-simple";
89c2753d15SKatsuhiro Suzuki		clocks = <&rk808 1>;
90c2753d15SKatsuhiro Suzuki		clock-names = "ext_clock";
91c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
92c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&wifi_enable_h>;
93c2753d15SKatsuhiro Suzuki		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
94c2753d15SKatsuhiro Suzuki	};
95c2753d15SKatsuhiro Suzuki
96c2753d15SKatsuhiro Suzuki	sound {
97c2753d15SKatsuhiro Suzuki		compatible = "audio-graph-card";
987582ad63SKatsuhiro Suzuki		label = "Analog";
99c2753d15SKatsuhiro Suzuki		dais = <&i2s1_p0>;
100c2753d15SKatsuhiro Suzuki	};
101c2753d15SKatsuhiro Suzuki
1027f02feb5SKatsuhiro Suzuki	sound-dit {
1037f02feb5SKatsuhiro Suzuki		compatible = "audio-graph-card";
1047582ad63SKatsuhiro Suzuki		label = "SPDIF";
1057f02feb5SKatsuhiro Suzuki		dais = <&spdif_p0>;
1067f02feb5SKatsuhiro Suzuki	};
1077f02feb5SKatsuhiro Suzuki
1087f02feb5SKatsuhiro Suzuki	spdif-dit {
1097f02feb5SKatsuhiro Suzuki		compatible = "linux,spdif-dit";
1107f02feb5SKatsuhiro Suzuki		#sound-dai-cells = <0>;
1117f02feb5SKatsuhiro Suzuki
1127f02feb5SKatsuhiro Suzuki		port {
1137f02feb5SKatsuhiro Suzuki			dit_p0_0: endpoint {
1147f02feb5SKatsuhiro Suzuki				remote-endpoint = <&spdif_p0_0>;
1157f02feb5SKatsuhiro Suzuki			};
1167f02feb5SKatsuhiro Suzuki		};
1177f02feb5SKatsuhiro Suzuki	};
1187f02feb5SKatsuhiro Suzuki
119b65155c7SPeter Geis	avdd: avdd-regulator {
120b65155c7SPeter Geis		compatible = "regulator-fixed";
121b65155c7SPeter Geis		regulator-name = "avdd";
122b65155c7SPeter Geis		regulator-min-microvolt = <11000000>;
123b65155c7SPeter Geis		regulator-max-microvolt = <11000000>;
124b65155c7SPeter Geis		vin-supply = <&vcc3v3_s0>;
125b65155c7SPeter Geis	};
126b65155c7SPeter Geis
127c2753d15SKatsuhiro Suzuki	vcc12v_dcin: vcc12v-dcin {
128c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
129c2753d15SKatsuhiro Suzuki		regulator-name = "vcc12v_dcin";
130c2753d15SKatsuhiro Suzuki		regulator-always-on;
131c2753d15SKatsuhiro Suzuki		regulator-boot-on;
132c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <12000000>;
133c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <12000000>;
134c2753d15SKatsuhiro Suzuki	};
135c2753d15SKatsuhiro Suzuki
136c2753d15SKatsuhiro Suzuki	/* switched by pmic_sleep */
137c2753d15SKatsuhiro Suzuki	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
138c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
139c2753d15SKatsuhiro Suzuki		regulator-name = "vcc1v8_s3";
140c2753d15SKatsuhiro Suzuki		regulator-always-on;
141c2753d15SKatsuhiro Suzuki		regulator-boot-on;
142c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <1800000>;
143c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1800000>;
144c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc_1v8>;
145c2753d15SKatsuhiro Suzuki	};
146c2753d15SKatsuhiro Suzuki
1471f5a3e16STobias Schramm	/* micro SD card power */
1481f5a3e16STobias Schramm	vcc3v0_sd: vcc3v0-sd {
1491f5a3e16STobias Schramm		compatible = "regulator-fixed";
1501f5a3e16STobias Schramm		enable-active-high;
1511f5a3e16STobias Schramm		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
1521f5a3e16STobias Schramm		pinctrl-names = "default";
1531f5a3e16STobias Schramm		pinctrl-0 = <&sdmmc0_pwr_h>;
1541f5a3e16STobias Schramm		regulator-name = "vcc3v0_sd";
1551f5a3e16STobias Schramm		regulator-always-on;
1561f5a3e16STobias Schramm		regulator-min-microvolt = <3000000>;
1571f5a3e16STobias Schramm		regulator-max-microvolt = <3000000>;
1581f5a3e16STobias Schramm		vin-supply = <&vcc3v3_sys>;
1591f5a3e16STobias Schramm
1601f5a3e16STobias Schramm		regulator-state-mem {
1611f5a3e16STobias Schramm			regulator-off-in-suspend;
1621f5a3e16STobias Schramm		};
1631f5a3e16STobias Schramm	};
1641f5a3e16STobias Schramm
165c2753d15SKatsuhiro Suzuki	vcc3v3_pcie: vcc3v3-pcie-regulator {
166c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
167c2753d15SKatsuhiro Suzuki		enable-active-high;
168c2753d15SKatsuhiro Suzuki		gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
169c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
170c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&pcie_pwr_en>;
171c2753d15SKatsuhiro Suzuki		regulator-name = "vcc3v3_pcie";
172c2753d15SKatsuhiro Suzuki		regulator-always-on;
173c2753d15SKatsuhiro Suzuki		regulator-boot-on;
174c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc12v_dcin>;
175c2753d15SKatsuhiro Suzuki	};
176c2753d15SKatsuhiro Suzuki
177c2753d15SKatsuhiro Suzuki	vcc3v3_sys: vcc3v3-sys {
178c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
179c2753d15SKatsuhiro Suzuki		regulator-name = "vcc3v3_sys";
180c2753d15SKatsuhiro Suzuki		regulator-always-on;
181c2753d15SKatsuhiro Suzuki		regulator-boot-on;
182c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <3300000>;
183c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <3300000>;
184c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_sys>;
185c2753d15SKatsuhiro Suzuki	};
186c2753d15SKatsuhiro Suzuki
187c2753d15SKatsuhiro Suzuki	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
188c2753d15SKatsuhiro Suzuki	vcc5v0_host: vcc5v0-host-regulator {
189c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
190c2753d15SKatsuhiro Suzuki		enable-active-high;
191c2753d15SKatsuhiro Suzuki		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
192c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
193c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&vcc5v0_host_en>;
194c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_host";
195c2753d15SKatsuhiro Suzuki		regulator-always-on;
196c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_usb>;
197c2753d15SKatsuhiro Suzuki	};
198c2753d15SKatsuhiro Suzuki
199c2753d15SKatsuhiro Suzuki	vcc5v0_typec: vcc5v0-typec-regulator {
200c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
201c2753d15SKatsuhiro Suzuki		enable-active-high;
202c2753d15SKatsuhiro Suzuki		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
203c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
204c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&vcc5v0_typec_en>;
205c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_typec";
206c2753d15SKatsuhiro Suzuki		regulator-always-on;
207c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_usb>;
208c2753d15SKatsuhiro Suzuki	};
209c2753d15SKatsuhiro Suzuki
210c2753d15SKatsuhiro Suzuki	vcc5v0_sys: vcc5v0-sys {
211c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
212c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_sys";
213c2753d15SKatsuhiro Suzuki		regulator-always-on;
214c2753d15SKatsuhiro Suzuki		regulator-boot-on;
215c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <5000000>;
216c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <5000000>;
217c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc12v_dcin>;
218c2753d15SKatsuhiro Suzuki	};
219c2753d15SKatsuhiro Suzuki
220c2753d15SKatsuhiro Suzuki	vcc5v0_usb: vcc5v0-usb {
221c2753d15SKatsuhiro Suzuki		compatible = "regulator-fixed";
222c2753d15SKatsuhiro Suzuki		regulator-name = "vcc5v0_usb";
223c2753d15SKatsuhiro Suzuki		regulator-always-on;
224c2753d15SKatsuhiro Suzuki		regulator-boot-on;
225c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <5000000>;
226c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <5000000>;
227c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc12v_dcin>;
228c2753d15SKatsuhiro Suzuki	};
229c2753d15SKatsuhiro Suzuki
230c2753d15SKatsuhiro Suzuki	vdd_log: vdd-log {
231c2753d15SKatsuhiro Suzuki		compatible = "pwm-regulator";
232c2753d15SKatsuhiro Suzuki		pwms = <&pwm2 0 25000 1>;
233dc570e8eSHeiko Stuebner		pwm-supply = <&vcc5v0_sys>;
234c2753d15SKatsuhiro Suzuki		regulator-name = "vdd_log";
235c2753d15SKatsuhiro Suzuki		regulator-always-on;
236c2753d15SKatsuhiro Suzuki		regulator-boot-on;
237c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <800000>;
238c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1700000>;
239c2753d15SKatsuhiro Suzuki	};
240c2753d15SKatsuhiro Suzuki};
241c2753d15SKatsuhiro Suzuki
242c2753d15SKatsuhiro Suzuki&cpu_l0 {
243c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
244c2753d15SKatsuhiro Suzuki};
245c2753d15SKatsuhiro Suzuki
246c2753d15SKatsuhiro Suzuki&cpu_l1 {
247c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
248c2753d15SKatsuhiro Suzuki};
249c2753d15SKatsuhiro Suzuki
250c2753d15SKatsuhiro Suzuki&cpu_l2 {
251c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
252c2753d15SKatsuhiro Suzuki};
253c2753d15SKatsuhiro Suzuki
254c2753d15SKatsuhiro Suzuki&cpu_l3 {
255c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_l>;
256c2753d15SKatsuhiro Suzuki};
257c2753d15SKatsuhiro Suzuki
258c2753d15SKatsuhiro Suzuki&cpu_b0 {
259c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_b>;
260c2753d15SKatsuhiro Suzuki};
261c2753d15SKatsuhiro Suzuki
262c2753d15SKatsuhiro Suzuki&cpu_b1 {
263c2753d15SKatsuhiro Suzuki	cpu-supply = <&vdd_cpu_b>;
264c2753d15SKatsuhiro Suzuki};
265c2753d15SKatsuhiro Suzuki
266d09ebc6bSPeter Geis&cpu_thermal {
267d09ebc6bSPeter Geis	trips {
268d09ebc6bSPeter Geis		cpu_warm: cpu_warm {
269d09ebc6bSPeter Geis			temperature = <55000>;
270d09ebc6bSPeter Geis			hysteresis = <2000>;
271d09ebc6bSPeter Geis			type = "active";
272d09ebc6bSPeter Geis		};
273d09ebc6bSPeter Geis
274d09ebc6bSPeter Geis		cpu_hot: cpu_hot {
275d09ebc6bSPeter Geis			temperature = <65000>;
276d09ebc6bSPeter Geis			hysteresis = <2000>;
277d09ebc6bSPeter Geis			type = "active";
278d09ebc6bSPeter Geis		};
279d09ebc6bSPeter Geis	};
280d09ebc6bSPeter Geis
281d09ebc6bSPeter Geis	cooling-maps {
282d09ebc6bSPeter Geis		map2 {
283d09ebc6bSPeter Geis			trip = <&cpu_warm>;
284d09ebc6bSPeter Geis			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
285d09ebc6bSPeter Geis		};
286d09ebc6bSPeter Geis
287d09ebc6bSPeter Geis		map3 {
288d09ebc6bSPeter Geis			trip = <&cpu_hot>;
289d09ebc6bSPeter Geis			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
290d09ebc6bSPeter Geis		};
291d09ebc6bSPeter Geis	};
292d09ebc6bSPeter Geis};
293d09ebc6bSPeter Geis
294c2753d15SKatsuhiro Suzuki&emmc_phy {
295c2753d15SKatsuhiro Suzuki	status = "okay";
296c2753d15SKatsuhiro Suzuki};
297c2753d15SKatsuhiro Suzuki
298c2753d15SKatsuhiro Suzuki&gmac {
299c2753d15SKatsuhiro Suzuki	assigned-clocks = <&cru SCLK_RMII_SRC>;
300c2753d15SKatsuhiro Suzuki	assigned-clock-parents = <&clkin_gmac>;
301c2753d15SKatsuhiro Suzuki	clock_in_out = "input";
302c2753d15SKatsuhiro Suzuki	phy-supply = <&vcc_lan>;
303c2753d15SKatsuhiro Suzuki	phy-mode = "rgmii";
304c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
305c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&rgmii_pins>;
306c2753d15SKatsuhiro Suzuki	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
307c2753d15SKatsuhiro Suzuki	snps,reset-active-low;
308c2753d15SKatsuhiro Suzuki	snps,reset-delays-us = <0 10000 50000>;
309c2753d15SKatsuhiro Suzuki	tx_delay = <0x28>;
310c2753d15SKatsuhiro Suzuki	rx_delay = <0x11>;
311c2753d15SKatsuhiro Suzuki	status = "okay";
312c2753d15SKatsuhiro Suzuki};
313c2753d15SKatsuhiro Suzuki
314c2753d15SKatsuhiro Suzuki&hdmi {
315c2753d15SKatsuhiro Suzuki	ddc-i2c-bus = <&i2c3>;
316c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
317c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&hdmi_cec>;
318c2753d15SKatsuhiro Suzuki	status = "okay";
319c2753d15SKatsuhiro Suzuki};
320c2753d15SKatsuhiro Suzuki
321c2753d15SKatsuhiro Suzuki&hdmi_sound {
322c2753d15SKatsuhiro Suzuki	status = "okay";
323c2753d15SKatsuhiro Suzuki};
324c2753d15SKatsuhiro Suzuki
325c2753d15SKatsuhiro Suzuki&gpu {
326c2753d15SKatsuhiro Suzuki	mali-supply = <&vdd_gpu>;
327c2753d15SKatsuhiro Suzuki	status = "okay";
328c2753d15SKatsuhiro Suzuki};
329c2753d15SKatsuhiro Suzuki
330c2753d15SKatsuhiro Suzuki&i2c0 {
331c2753d15SKatsuhiro Suzuki	clock-frequency = <400000>;
332c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <168>;
333c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <4>;
334c2753d15SKatsuhiro Suzuki	status = "okay";
335c2753d15SKatsuhiro Suzuki
336c2753d15SKatsuhiro Suzuki	rk808: pmic@1b {
337c2753d15SKatsuhiro Suzuki		compatible = "rockchip,rk808";
338c2753d15SKatsuhiro Suzuki		reg = <0x1b>;
339c2753d15SKatsuhiro Suzuki		interrupt-parent = <&gpio3>;
340c2753d15SKatsuhiro Suzuki		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
341c2753d15SKatsuhiro Suzuki		#clock-cells = <1>;
342c2753d15SKatsuhiro Suzuki		clock-output-names = "xin32k", "rk808-clkout2";
343c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
344c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&pmic_int_l>;
345c2753d15SKatsuhiro Suzuki		rockchip,system-power-controller;
346c2753d15SKatsuhiro Suzuki		wakeup-source;
347c2753d15SKatsuhiro Suzuki
348c2753d15SKatsuhiro Suzuki		vcc1-supply = <&vcc5v0_sys>;
349c2753d15SKatsuhiro Suzuki		vcc2-supply = <&vcc5v0_sys>;
350c2753d15SKatsuhiro Suzuki		vcc3-supply = <&vcc5v0_sys>;
351c2753d15SKatsuhiro Suzuki		vcc4-supply = <&vcc5v0_sys>;
352c2753d15SKatsuhiro Suzuki		vcc6-supply = <&vcc5v0_sys>;
353c2753d15SKatsuhiro Suzuki		vcc7-supply = <&vcc5v0_sys>;
354c2753d15SKatsuhiro Suzuki		vcc8-supply = <&vcc3v3_sys>;
355c2753d15SKatsuhiro Suzuki		vcc9-supply = <&vcc5v0_sys>;
356c2753d15SKatsuhiro Suzuki		vcc10-supply = <&vcc5v0_sys>;
357c2753d15SKatsuhiro Suzuki		vcc11-supply = <&vcc5v0_sys>;
358c2753d15SKatsuhiro Suzuki		vcc12-supply = <&vcc3v3_sys>;
359c2753d15SKatsuhiro Suzuki		vddio-supply = <&vcca_1v8>;
360c2753d15SKatsuhiro Suzuki
361c2753d15SKatsuhiro Suzuki		regulators {
362c2753d15SKatsuhiro Suzuki			vdd_center: DCDC_REG1 {
363c2753d15SKatsuhiro Suzuki				regulator-name = "vdd_center";
364c2753d15SKatsuhiro Suzuki				regulator-always-on;
365c2753d15SKatsuhiro Suzuki				regulator-boot-on;
366c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <750000>;
367c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1350000>;
368c2753d15SKatsuhiro Suzuki				regulator-ramp-delay = <6001>;
369c2753d15SKatsuhiro Suzuki				regulator-state-mem {
370c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
371c2753d15SKatsuhiro Suzuki				};
372c2753d15SKatsuhiro Suzuki			};
373c2753d15SKatsuhiro Suzuki
374c2753d15SKatsuhiro Suzuki			vdd_cpu_l: DCDC_REG2 {
375c2753d15SKatsuhiro Suzuki				regulator-name = "vdd_cpu_l";
376c2753d15SKatsuhiro Suzuki				regulator-always-on;
377c2753d15SKatsuhiro Suzuki				regulator-boot-on;
378c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <750000>;
379c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1350000>;
380c2753d15SKatsuhiro Suzuki				regulator-ramp-delay = <6001>;
381c2753d15SKatsuhiro Suzuki				regulator-state-mem {
382c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
383c2753d15SKatsuhiro Suzuki				};
384c2753d15SKatsuhiro Suzuki			};
385c2753d15SKatsuhiro Suzuki
386c2753d15SKatsuhiro Suzuki			vcc_ddr: DCDC_REG3 {
387c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_ddr";
388c2753d15SKatsuhiro Suzuki				regulator-always-on;
389c2753d15SKatsuhiro Suzuki				regulator-boot-on;
390c2753d15SKatsuhiro Suzuki				regulator-state-mem {
391c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
392c2753d15SKatsuhiro Suzuki				};
393c2753d15SKatsuhiro Suzuki			};
394c2753d15SKatsuhiro Suzuki
395c2753d15SKatsuhiro Suzuki			vcc_1v8: DCDC_REG4 {
396c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_1v8";
397c2753d15SKatsuhiro Suzuki				regulator-always-on;
398c2753d15SKatsuhiro Suzuki				regulator-boot-on;
399c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
400c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
401c2753d15SKatsuhiro Suzuki				regulator-state-mem {
402c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
403c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <1800000>;
404c2753d15SKatsuhiro Suzuki				};
405c2753d15SKatsuhiro Suzuki			};
406c2753d15SKatsuhiro Suzuki
407c2753d15SKatsuhiro Suzuki			vcc1v8_dvp: LDO_REG1 {
408c2753d15SKatsuhiro Suzuki				regulator-name = "vcc1v8_dvp";
409c2753d15SKatsuhiro Suzuki				regulator-always-on;
410c2753d15SKatsuhiro Suzuki				regulator-boot-on;
411c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
412c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
413c2753d15SKatsuhiro Suzuki				regulator-state-mem {
414c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
415c2753d15SKatsuhiro Suzuki				};
416c2753d15SKatsuhiro Suzuki			};
417c2753d15SKatsuhiro Suzuki
418c2753d15SKatsuhiro Suzuki			vcc3v0_touch: LDO_REG2 {
419c2753d15SKatsuhiro Suzuki				regulator-name = "vcc3v0_touch";
420c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <3000000>;
421c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
422c2753d15SKatsuhiro Suzuki				regulator-state-mem {
423c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
424c2753d15SKatsuhiro Suzuki				};
425c2753d15SKatsuhiro Suzuki			};
426c2753d15SKatsuhiro Suzuki
427c2753d15SKatsuhiro Suzuki			vcca_1v8: LDO_REG3 {
428c2753d15SKatsuhiro Suzuki				regulator-name = "vcca_1v8";
429c2753d15SKatsuhiro Suzuki				regulator-always-on;
430c2753d15SKatsuhiro Suzuki				regulator-boot-on;
431c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
432c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
433c2753d15SKatsuhiro Suzuki				regulator-state-mem {
434c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
435c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <1800000>;
436c2753d15SKatsuhiro Suzuki				};
437c2753d15SKatsuhiro Suzuki			};
438c2753d15SKatsuhiro Suzuki
439c2753d15SKatsuhiro Suzuki			vcc_sdio: LDO_REG4 {
440c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_sdio";
441c2753d15SKatsuhiro Suzuki				regulator-always-on;
442c2753d15SKatsuhiro Suzuki				regulator-boot-on;
443c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
444c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
445c2753d15SKatsuhiro Suzuki				regulator-state-mem {
446c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
447c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <3000000>;
448c2753d15SKatsuhiro Suzuki				};
449c2753d15SKatsuhiro Suzuki			};
450c2753d15SKatsuhiro Suzuki
451c2753d15SKatsuhiro Suzuki			vcca3v0_codec: LDO_REG5 {
452c2753d15SKatsuhiro Suzuki				regulator-name = "vcca3v0_codec";
453c2753d15SKatsuhiro Suzuki				regulator-always-on;
454c2753d15SKatsuhiro Suzuki				regulator-boot-on;
455c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <3000000>;
456c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
457c2753d15SKatsuhiro Suzuki				regulator-state-mem {
458c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
459c2753d15SKatsuhiro Suzuki				};
460c2753d15SKatsuhiro Suzuki			};
461c2753d15SKatsuhiro Suzuki
462c2753d15SKatsuhiro Suzuki			vcc_1v5: LDO_REG6 {
463c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_1v5";
464c2753d15SKatsuhiro Suzuki				regulator-always-on;
465c2753d15SKatsuhiro Suzuki				regulator-boot-on;
466c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1500000>;
467c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1500000>;
468c2753d15SKatsuhiro Suzuki				regulator-state-mem {
469c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
470c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <1500000>;
471c2753d15SKatsuhiro Suzuki				};
472c2753d15SKatsuhiro Suzuki			};
473c2753d15SKatsuhiro Suzuki
474c2753d15SKatsuhiro Suzuki			vcca1v8_codec: LDO_REG7 {
475c2753d15SKatsuhiro Suzuki				regulator-name = "vcca1v8_codec";
476c2753d15SKatsuhiro Suzuki				regulator-always-on;
477c2753d15SKatsuhiro Suzuki				regulator-boot-on;
478c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <1800000>;
479c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <1800000>;
480c2753d15SKatsuhiro Suzuki				regulator-state-mem {
481c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
482c2753d15SKatsuhiro Suzuki				};
483c2753d15SKatsuhiro Suzuki			};
484c2753d15SKatsuhiro Suzuki
485c2753d15SKatsuhiro Suzuki			vcc_3v0: LDO_REG8 {
486c2753d15SKatsuhiro Suzuki				regulator-name = "vcc_3v0";
487c2753d15SKatsuhiro Suzuki				regulator-always-on;
488c2753d15SKatsuhiro Suzuki				regulator-boot-on;
489c2753d15SKatsuhiro Suzuki				regulator-min-microvolt = <3000000>;
490c2753d15SKatsuhiro Suzuki				regulator-max-microvolt = <3000000>;
491c2753d15SKatsuhiro Suzuki				regulator-state-mem {
492c2753d15SKatsuhiro Suzuki					regulator-on-in-suspend;
493c2753d15SKatsuhiro Suzuki					regulator-suspend-microvolt = <3000000>;
494c2753d15SKatsuhiro Suzuki				};
495c2753d15SKatsuhiro Suzuki			};
496c2753d15SKatsuhiro Suzuki
497c2753d15SKatsuhiro Suzuki			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
498c2753d15SKatsuhiro Suzuki				regulator-name = "vcc3v3_s3";
499c2753d15SKatsuhiro Suzuki				regulator-always-on;
500c2753d15SKatsuhiro Suzuki				regulator-boot-on;
501c2753d15SKatsuhiro Suzuki				regulator-state-mem {
502c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
503c2753d15SKatsuhiro Suzuki				};
504c2753d15SKatsuhiro Suzuki			};
505c2753d15SKatsuhiro Suzuki
506c2753d15SKatsuhiro Suzuki			vcc3v3_s0: SWITCH_REG2 {
507c2753d15SKatsuhiro Suzuki				regulator-name = "vcc3v3_s0";
508c2753d15SKatsuhiro Suzuki				regulator-state-mem {
509c2753d15SKatsuhiro Suzuki					regulator-off-in-suspend;
510c2753d15SKatsuhiro Suzuki				};
511c2753d15SKatsuhiro Suzuki			};
512c2753d15SKatsuhiro Suzuki		};
513c2753d15SKatsuhiro Suzuki	};
514c2753d15SKatsuhiro Suzuki
515c2753d15SKatsuhiro Suzuki	vdd_cpu_b: regulator@40 {
516c2753d15SKatsuhiro Suzuki		compatible = "silergy,syr827";
517c2753d15SKatsuhiro Suzuki		reg = <0x40>;
518c2753d15SKatsuhiro Suzuki		fcs,suspend-voltage-selector = <1>;
519c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
5202bc65fefSJohan Jonker		pinctrl-0 = <&vsel1_pin>;
521c2753d15SKatsuhiro Suzuki		regulator-name = "vdd_cpu_b";
522c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <712500>;
523c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1500000>;
524c2753d15SKatsuhiro Suzuki		regulator-ramp-delay = <1000>;
525c2753d15SKatsuhiro Suzuki		regulator-always-on;
526c2753d15SKatsuhiro Suzuki		regulator-boot-on;
527c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_sys>;
528c2753d15SKatsuhiro Suzuki
529c2753d15SKatsuhiro Suzuki		regulator-state-mem {
530c2753d15SKatsuhiro Suzuki			regulator-off-in-suspend;
531c2753d15SKatsuhiro Suzuki		};
532c2753d15SKatsuhiro Suzuki	};
533c2753d15SKatsuhiro Suzuki
534c2753d15SKatsuhiro Suzuki	vdd_gpu: regulator@41 {
535c2753d15SKatsuhiro Suzuki		compatible = "silergy,syr828";
536c2753d15SKatsuhiro Suzuki		reg = <0x41>;
537c2753d15SKatsuhiro Suzuki		fcs,suspend-voltage-selector = <1>;
538c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
5392bc65fefSJohan Jonker		pinctrl-0 = <&vsel2_pin>;
540c2753d15SKatsuhiro Suzuki		regulator-name = "vdd_gpu";
541c2753d15SKatsuhiro Suzuki		regulator-min-microvolt = <712500>;
542c2753d15SKatsuhiro Suzuki		regulator-max-microvolt = <1500000>;
543c2753d15SKatsuhiro Suzuki		regulator-ramp-delay = <1000>;
544c2753d15SKatsuhiro Suzuki		regulator-always-on;
545c2753d15SKatsuhiro Suzuki		regulator-boot-on;
546c2753d15SKatsuhiro Suzuki		vin-supply = <&vcc5v0_sys>;
547c2753d15SKatsuhiro Suzuki
548c2753d15SKatsuhiro Suzuki		regulator-state-mem {
549c2753d15SKatsuhiro Suzuki			regulator-off-in-suspend;
550c2753d15SKatsuhiro Suzuki		};
551c2753d15SKatsuhiro Suzuki	};
552c2753d15SKatsuhiro Suzuki};
553c2753d15SKatsuhiro Suzuki
554c2753d15SKatsuhiro Suzuki&i2c1 {
555c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <300>;
556c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <15>;
557c2753d15SKatsuhiro Suzuki	status = "okay";
558c2753d15SKatsuhiro Suzuki};
559c2753d15SKatsuhiro Suzuki
560c2753d15SKatsuhiro Suzuki&i2c3 {
561c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <450>;
562c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <15>;
563c2753d15SKatsuhiro Suzuki	status = "okay";
564c2753d15SKatsuhiro Suzuki};
565c2753d15SKatsuhiro Suzuki
566c2753d15SKatsuhiro Suzuki&i2c4 {
567c2753d15SKatsuhiro Suzuki	i2c-scl-rising-time-ns = <600>;
568c2753d15SKatsuhiro Suzuki	i2c-scl-falling-time-ns = <20>;
569c2753d15SKatsuhiro Suzuki	status = "okay";
570c2753d15SKatsuhiro Suzuki
571c2753d15SKatsuhiro Suzuki	fusb0: typec-portc@22 {
572c2753d15SKatsuhiro Suzuki		compatible = "fcs,fusb302";
573c2753d15SKatsuhiro Suzuki		reg = <0x22>;
574c2753d15SKatsuhiro Suzuki		interrupt-parent = <&gpio1>;
575c2753d15SKatsuhiro Suzuki		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
576c2753d15SKatsuhiro Suzuki		pinctrl-names = "default";
577c2753d15SKatsuhiro Suzuki		pinctrl-0 = <&fusb0_int>;
578c2753d15SKatsuhiro Suzuki		vbus-supply = <&vcc5v0_typec>;
579c2753d15SKatsuhiro Suzuki		status = "okay";
580c2753d15SKatsuhiro Suzuki	};
581b65155c7SPeter Geis
582b65155c7SPeter Geis	/* enable for pine64 touch screen support */
583b65155c7SPeter Geis	touch: touchscreen@5d {
584b65155c7SPeter Geis		compatible = "goodix,gt911";
585b65155c7SPeter Geis		reg = <0x5d>;
586b65155c7SPeter Geis		interrupt-parent = <&gpio4>;
587b65155c7SPeter Geis		interrupts = <RK_PD5 IRQ_TYPE_EDGE_FALLING>;
588b65155c7SPeter Geis		AVDD28-supply = <&vcc3v0_touch>;
589b65155c7SPeter Geis		VDDIO-supply = <&vcc3v0_touch>;
590b65155c7SPeter Geis		irq-gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>;
591b65155c7SPeter Geis		reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>;
592b65155c7SPeter Geis		status = "disabled";
593b65155c7SPeter Geis	};
594c2753d15SKatsuhiro Suzuki};
595c2753d15SKatsuhiro Suzuki
596c2753d15SKatsuhiro Suzuki&i2s0 {
597c2753d15SKatsuhiro Suzuki	rockchip,playback-channels = <8>;
598c2753d15SKatsuhiro Suzuki	rockchip,capture-channels = <8>;
599c2753d15SKatsuhiro Suzuki	status = "okay";
600c2753d15SKatsuhiro Suzuki};
601c2753d15SKatsuhiro Suzuki
602c2753d15SKatsuhiro Suzuki&i2s1 {
603c2753d15SKatsuhiro Suzuki	rockchip,playback-channels = <2>;
604c2753d15SKatsuhiro Suzuki	rockchip,capture-channels = <2>;
605c2753d15SKatsuhiro Suzuki	status = "okay";
606c2753d15SKatsuhiro Suzuki
607c2753d15SKatsuhiro Suzuki	i2s1_p0: port {
608c2753d15SKatsuhiro Suzuki		i2s1_p0_0: endpoint {
609c2753d15SKatsuhiro Suzuki			dai-format = "i2s";
610c2753d15SKatsuhiro Suzuki			mclk-fs = <256>;
611c2753d15SKatsuhiro Suzuki			remote-endpoint = <&es8316_p0_0>;
612c2753d15SKatsuhiro Suzuki		};
613c2753d15SKatsuhiro Suzuki	};
614c2753d15SKatsuhiro Suzuki};
615c2753d15SKatsuhiro Suzuki
616c2753d15SKatsuhiro Suzuki&i2s2 {
617c2753d15SKatsuhiro Suzuki	status = "okay";
618c2753d15SKatsuhiro Suzuki};
619c2753d15SKatsuhiro Suzuki
620c2753d15SKatsuhiro Suzuki&io_domains {
621c2753d15SKatsuhiro Suzuki	status = "okay";
622c2753d15SKatsuhiro Suzuki
623c2753d15SKatsuhiro Suzuki	bt656-supply = <&vcc1v8_dvp>;
624c2753d15SKatsuhiro Suzuki	audio-supply = <&vcc_3v0>;
625c2753d15SKatsuhiro Suzuki	sdmmc-supply = <&vcc_sdio>;
626c2753d15SKatsuhiro Suzuki	gpio1830-supply = <&vcc_3v0>;
627c2753d15SKatsuhiro Suzuki};
628c2753d15SKatsuhiro Suzuki
629b65155c7SPeter Geis/* enable for pine64 panel display support */
630b65155c7SPeter Geis&mipi_dsi {
631b65155c7SPeter Geis	clock-master;
632b65155c7SPeter Geis	status = "disabled";
633b65155c7SPeter Geis
634b65155c7SPeter Geis	ports {
635b65155c7SPeter Geis		mipi_out: port@1 {
636b65155c7SPeter Geis			reg = <1>;
637b65155c7SPeter Geis
638b65155c7SPeter Geis			mipi_out_panel: endpoint {
639b65155c7SPeter Geis				remote-endpoint = <&mipi_in_panel>;
640b65155c7SPeter Geis			};
641b65155c7SPeter Geis		};
642b65155c7SPeter Geis	};
643b65155c7SPeter Geis
644b65155c7SPeter Geis	mipi_panel: panel@0 {
645b65155c7SPeter Geis		compatible = "feiyang,fy07024di26a30d";
646b65155c7SPeter Geis		reg = <0>;
647b65155c7SPeter Geis		avdd-supply = <&avdd>;
648b65155c7SPeter Geis		backlight = <&backlight>;
649b65155c7SPeter Geis		dvdd-supply = <&vcc3v3_s0>;
650b65155c7SPeter Geis
651*2dd16a23SKrzysztof Kozlowski		port {
652b65155c7SPeter Geis			mipi_in_panel: endpoint {
653b65155c7SPeter Geis				remote-endpoint = <&mipi_out_panel>;
654b65155c7SPeter Geis			};
655b65155c7SPeter Geis		};
656b65155c7SPeter Geis	};
657b65155c7SPeter Geis};
658b65155c7SPeter Geis
659c2753d15SKatsuhiro Suzuki&pcie0 {
660c2753d15SKatsuhiro Suzuki	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
661c2753d15SKatsuhiro Suzuki	num-lanes = <4>;
662c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
663c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&pcie_perst>;
664c2753d15SKatsuhiro Suzuki	vpcie12v-supply = <&vcc12v_dcin>;
665c2753d15SKatsuhiro Suzuki	vpcie3v3-supply = <&vcc3v3_pcie>;
666c2753d15SKatsuhiro Suzuki	status = "okay";
667c2753d15SKatsuhiro Suzuki};
668c2753d15SKatsuhiro Suzuki
669c2753d15SKatsuhiro Suzuki&pcie_phy {
670c2753d15SKatsuhiro Suzuki	status = "okay";
671c2753d15SKatsuhiro Suzuki};
672c2753d15SKatsuhiro Suzuki
673c2753d15SKatsuhiro Suzuki&pmu_io_domains {
674c2753d15SKatsuhiro Suzuki	pmu1830-supply = <&vcc_3v0>;
675c2753d15SKatsuhiro Suzuki	status = "okay";
676c2753d15SKatsuhiro Suzuki};
677c2753d15SKatsuhiro Suzuki
678c2753d15SKatsuhiro Suzuki&pinctrl {
679e09dabe4SSoeren Moch	bt {
680e09dabe4SSoeren Moch		bt_enable_h: bt-enable-h {
681e09dabe4SSoeren Moch			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
682e09dabe4SSoeren Moch		};
683e09dabe4SSoeren Moch
684e09dabe4SSoeren Moch		bt_host_wake_l: bt-host-wake-l {
685e09dabe4SSoeren Moch			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
686e09dabe4SSoeren Moch		};
687e09dabe4SSoeren Moch
688e09dabe4SSoeren Moch		bt_wake_l: bt-wake-l {
689e09dabe4SSoeren Moch			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
690e09dabe4SSoeren Moch		};
691e09dabe4SSoeren Moch	};
692e09dabe4SSoeren Moch
693c2753d15SKatsuhiro Suzuki	buttons {
694c2753d15SKatsuhiro Suzuki		pwrbtn: pwrbtn {
695c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
696c2753d15SKatsuhiro Suzuki		};
697c2753d15SKatsuhiro Suzuki	};
698c2753d15SKatsuhiro Suzuki
699c2753d15SKatsuhiro Suzuki	fusb302x {
700c2753d15SKatsuhiro Suzuki		fusb0_int: fusb0-int {
701c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
702c2753d15SKatsuhiro Suzuki		};
703c2753d15SKatsuhiro Suzuki	};
704c2753d15SKatsuhiro Suzuki
7057c7f0413SThomas Schneider	ir {
7067c7f0413SThomas Schneider		ir_int: ir-int {
7077c7f0413SThomas Schneider			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
7087c7f0413SThomas Schneider		};
7097c7f0413SThomas Schneider	};
7107c7f0413SThomas Schneider
711c2753d15SKatsuhiro Suzuki	leds {
7126dd5e12cSJohan Jonker		work_led_pin: work-led-pin {
713c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
714c2753d15SKatsuhiro Suzuki		};
715c2753d15SKatsuhiro Suzuki
7166dd5e12cSJohan Jonker		diy_led_pin: diy-led-pin {
717c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
718c2753d15SKatsuhiro Suzuki		};
719c2753d15SKatsuhiro Suzuki	};
720c2753d15SKatsuhiro Suzuki
721c2753d15SKatsuhiro Suzuki	pcie {
722c2753d15SKatsuhiro Suzuki		pcie_perst: pcie-perst {
723c2753d15SKatsuhiro Suzuki			rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
724c2753d15SKatsuhiro Suzuki		};
725c2753d15SKatsuhiro Suzuki
726c2753d15SKatsuhiro Suzuki		pcie_pwr_en: pcie-pwr-en {
727c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
728c2753d15SKatsuhiro Suzuki		};
729c2753d15SKatsuhiro Suzuki	};
730c2753d15SKatsuhiro Suzuki
731c2753d15SKatsuhiro Suzuki	pmic {
732c2753d15SKatsuhiro Suzuki		pmic_int_l: pmic-int-l {
733c2753d15SKatsuhiro Suzuki			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
734c2753d15SKatsuhiro Suzuki		};
735c2753d15SKatsuhiro Suzuki
7362bc65fefSJohan Jonker		vsel1_pin: vsel1-pin {
737c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
738c2753d15SKatsuhiro Suzuki		};
739c2753d15SKatsuhiro Suzuki
7402bc65fefSJohan Jonker		vsel2_pin: vsel2-pin {
741c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
742c2753d15SKatsuhiro Suzuki		};
743c2753d15SKatsuhiro Suzuki	};
744c2753d15SKatsuhiro Suzuki
7451f5a3e16STobias Schramm	sdcard {
7461f5a3e16STobias Schramm		sdmmc0_pwr_h: sdmmc0-pwr-h {
7471f5a3e16STobias Schramm			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
7481f5a3e16STobias Schramm		};
7491f5a3e16STobias Schramm
7501f5a3e16STobias Schramm	};
7511f5a3e16STobias Schramm
752c2753d15SKatsuhiro Suzuki	sdio-pwrseq {
753c2753d15SKatsuhiro Suzuki		wifi_enable_h: wifi-enable-h {
754c2753d15SKatsuhiro Suzuki			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
755c2753d15SKatsuhiro Suzuki		};
756c2753d15SKatsuhiro Suzuki	};
757c2753d15SKatsuhiro Suzuki
758c2753d15SKatsuhiro Suzuki	usb-typec {
759c2753d15SKatsuhiro Suzuki		vcc5v0_typec_en: vcc5v0_typec_en {
760c2753d15SKatsuhiro Suzuki			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
761c2753d15SKatsuhiro Suzuki		};
762c2753d15SKatsuhiro Suzuki	};
763c2753d15SKatsuhiro Suzuki
764c2753d15SKatsuhiro Suzuki	usb2 {
765c2753d15SKatsuhiro Suzuki		vcc5v0_host_en: vcc5v0-host-en {
766c2753d15SKatsuhiro Suzuki			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
767c2753d15SKatsuhiro Suzuki		};
768c2753d15SKatsuhiro Suzuki	};
769c2753d15SKatsuhiro Suzuki};
770c2753d15SKatsuhiro Suzuki
771c2753d15SKatsuhiro Suzuki&pwm0 {
772c2753d15SKatsuhiro Suzuki	status = "okay";
773c2753d15SKatsuhiro Suzuki};
774c2753d15SKatsuhiro Suzuki
775c2753d15SKatsuhiro Suzuki&pwm1 {
776c2753d15SKatsuhiro Suzuki	status = "okay";
777c2753d15SKatsuhiro Suzuki};
778c2753d15SKatsuhiro Suzuki
779c2753d15SKatsuhiro Suzuki&pwm2 {
780c2753d15SKatsuhiro Suzuki	status = "okay";
781c2753d15SKatsuhiro Suzuki};
782c2753d15SKatsuhiro Suzuki
783c2753d15SKatsuhiro Suzuki&saradc {
784c2753d15SKatsuhiro Suzuki	vref-supply = <&vcca1v8_s3>;
785c2753d15SKatsuhiro Suzuki	status = "okay";
786c2753d15SKatsuhiro Suzuki};
787c2753d15SKatsuhiro Suzuki
7887c5b6bfbSSoeren Moch&sdio0 {
7897c5b6bfbSSoeren Moch	bus-width = <4>;
7907c5b6bfbSSoeren Moch	cap-sd-highspeed;
7917c5b6bfbSSoeren Moch	cap-sdio-irq;
7927c5b6bfbSSoeren Moch	disable-wp;
7937c5b6bfbSSoeren Moch	keep-power-in-suspend;
7947c5b6bfbSSoeren Moch	mmc-pwrseq = <&sdio_pwrseq>;
7957c5b6bfbSSoeren Moch	non-removable;
7967c5b6bfbSSoeren Moch	pinctrl-names = "default";
7977c5b6bfbSSoeren Moch	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
7987c5b6bfbSSoeren Moch	sd-uhs-sdr104;
7997c5b6bfbSSoeren Moch	status = "okay";
8007c5b6bfbSSoeren Moch};
8017c5b6bfbSSoeren Moch
802c2753d15SKatsuhiro Suzuki&sdmmc {
803c2753d15SKatsuhiro Suzuki	bus-width = <4>;
804c2753d15SKatsuhiro Suzuki	cap-sd-highspeed;
805c2753d15SKatsuhiro Suzuki	cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
806c2753d15SKatsuhiro Suzuki	disable-wp;
807c2753d15SKatsuhiro Suzuki	max-frequency = <150000000>;
808c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
809c2753d15SKatsuhiro Suzuki	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
8101f5a3e16STobias Schramm	vmmc-supply = <&vcc3v0_sd>;
8111f5a3e16STobias Schramm	vqmmc-supply = <&vcc_sdio>;
812c2753d15SKatsuhiro Suzuki	status = "okay";
813c2753d15SKatsuhiro Suzuki};
814c2753d15SKatsuhiro Suzuki
815c2753d15SKatsuhiro Suzuki&sdhci {
816c2753d15SKatsuhiro Suzuki	bus-width = <8>;
817c2753d15SKatsuhiro Suzuki	mmc-hs200-1_8v;
818c2753d15SKatsuhiro Suzuki	non-removable;
819c2753d15SKatsuhiro Suzuki	status = "okay";
820c2753d15SKatsuhiro Suzuki};
821c2753d15SKatsuhiro Suzuki
8227f02feb5SKatsuhiro Suzuki&spdif {
8237f02feb5SKatsuhiro Suzuki	pinctrl-0 = <&spdif_bus_1>;
8247f02feb5SKatsuhiro Suzuki
8257f02feb5SKatsuhiro Suzuki	spdif_p0: port {
8267f02feb5SKatsuhiro Suzuki		spdif_p0_0: endpoint {
8277f02feb5SKatsuhiro Suzuki			remote-endpoint = <&dit_p0_0>;
8287f02feb5SKatsuhiro Suzuki		};
8297f02feb5SKatsuhiro Suzuki	};
8307f02feb5SKatsuhiro Suzuki};
8317f02feb5SKatsuhiro Suzuki
832c2753d15SKatsuhiro Suzuki&spi1 {
833c2753d15SKatsuhiro Suzuki	status = "okay";
834c2753d15SKatsuhiro Suzuki
835c2753d15SKatsuhiro Suzuki	flash@0 {
836c2753d15SKatsuhiro Suzuki		compatible = "jedec,spi-nor";
837c2753d15SKatsuhiro Suzuki		reg = <0>;
838c2753d15SKatsuhiro Suzuki		spi-max-frequency = <10000000>;
839c2753d15SKatsuhiro Suzuki	};
840c2753d15SKatsuhiro Suzuki};
841c2753d15SKatsuhiro Suzuki
842c2753d15SKatsuhiro Suzuki&tcphy0 {
843c2753d15SKatsuhiro Suzuki	status = "okay";
844c2753d15SKatsuhiro Suzuki};
845c2753d15SKatsuhiro Suzuki
846c2753d15SKatsuhiro Suzuki&tcphy1 {
847c2753d15SKatsuhiro Suzuki	status = "okay";
848c2753d15SKatsuhiro Suzuki};
849c2753d15SKatsuhiro Suzuki
850c2753d15SKatsuhiro Suzuki&tsadc {
851c2753d15SKatsuhiro Suzuki	/* tshut mode 0:CRU 1:GPIO */
852c2753d15SKatsuhiro Suzuki	rockchip,hw-tshut-mode = <1>;
853c2753d15SKatsuhiro Suzuki	/* tshut polarity 0:LOW 1:HIGH */
854c2753d15SKatsuhiro Suzuki	rockchip,hw-tshut-polarity = <1>;
855c2753d15SKatsuhiro Suzuki	status = "okay";
856c2753d15SKatsuhiro Suzuki};
857c2753d15SKatsuhiro Suzuki
858c2753d15SKatsuhiro Suzuki&u2phy0 {
859c2753d15SKatsuhiro Suzuki	status = "okay";
860c2753d15SKatsuhiro Suzuki
861c2753d15SKatsuhiro Suzuki	u2phy0_otg: otg-port {
862c2753d15SKatsuhiro Suzuki		status = "okay";
863c2753d15SKatsuhiro Suzuki	};
864c2753d15SKatsuhiro Suzuki
865c2753d15SKatsuhiro Suzuki	u2phy0_host: host-port {
866c2753d15SKatsuhiro Suzuki		phy-supply = <&vcc5v0_host>;
867c2753d15SKatsuhiro Suzuki		status = "okay";
868c2753d15SKatsuhiro Suzuki	};
869c2753d15SKatsuhiro Suzuki};
870c2753d15SKatsuhiro Suzuki
871c2753d15SKatsuhiro Suzuki&u2phy1 {
872c2753d15SKatsuhiro Suzuki	status = "okay";
873c2753d15SKatsuhiro Suzuki
874c2753d15SKatsuhiro Suzuki	u2phy1_otg: otg-port {
875c2753d15SKatsuhiro Suzuki		status = "okay";
876c2753d15SKatsuhiro Suzuki	};
877c2753d15SKatsuhiro Suzuki
878c2753d15SKatsuhiro Suzuki	u2phy1_host: host-port {
879c2753d15SKatsuhiro Suzuki		phy-supply = <&vcc5v0_host>;
880c2753d15SKatsuhiro Suzuki		status = "okay";
881c2753d15SKatsuhiro Suzuki	};
882c2753d15SKatsuhiro Suzuki};
883c2753d15SKatsuhiro Suzuki
884c2753d15SKatsuhiro Suzuki&uart0 {
885c2753d15SKatsuhiro Suzuki	pinctrl-names = "default";
886e09dabe4SSoeren Moch	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
887c2753d15SKatsuhiro Suzuki	status = "okay";
888e09dabe4SSoeren Moch
889e09dabe4SSoeren Moch	bluetooth {
890e09dabe4SSoeren Moch		compatible = "brcm,bcm43438-bt";
891e09dabe4SSoeren Moch		clocks = <&rk808 1>;
892e09dabe4SSoeren Moch		clock-names = "lpo";
893e09dabe4SSoeren Moch		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
894e09dabe4SSoeren Moch		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
895e09dabe4SSoeren Moch		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
896e09dabe4SSoeren Moch		pinctrl-names = "default";
897e09dabe4SSoeren Moch		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
898e09dabe4SSoeren Moch		vbat-supply = <&vcc3v3_sys>;
899e09dabe4SSoeren Moch		vddio-supply = <&vcc_1v8>;
900e09dabe4SSoeren Moch	};
901c2753d15SKatsuhiro Suzuki};
902c2753d15SKatsuhiro Suzuki
903c2753d15SKatsuhiro Suzuki&uart2 {
904c2753d15SKatsuhiro Suzuki	status = "okay";
905c2753d15SKatsuhiro Suzuki};
906c2753d15SKatsuhiro Suzuki
907c2753d15SKatsuhiro Suzuki&usb_host0_ehci {
908c2753d15SKatsuhiro Suzuki	status = "okay";
909c2753d15SKatsuhiro Suzuki};
910c2753d15SKatsuhiro Suzuki
911c2753d15SKatsuhiro Suzuki&usb_host0_ohci {
912c2753d15SKatsuhiro Suzuki	status = "okay";
913c2753d15SKatsuhiro Suzuki};
914c2753d15SKatsuhiro Suzuki
915c2753d15SKatsuhiro Suzuki&usb_host1_ehci {
916c2753d15SKatsuhiro Suzuki	status = "okay";
917c2753d15SKatsuhiro Suzuki};
918c2753d15SKatsuhiro Suzuki
919c2753d15SKatsuhiro Suzuki&usb_host1_ohci {
920c2753d15SKatsuhiro Suzuki	status = "okay";
921c2753d15SKatsuhiro Suzuki};
922c2753d15SKatsuhiro Suzuki
923c2753d15SKatsuhiro Suzuki&usbdrd3_0 {
924c2753d15SKatsuhiro Suzuki	status = "okay";
925c2753d15SKatsuhiro Suzuki};
926c2753d15SKatsuhiro Suzuki
927c2753d15SKatsuhiro Suzuki&usbdrd_dwc3_0 {
928c2753d15SKatsuhiro Suzuki	status = "okay";
92975152d66SPeter Geis	dr_mode = "host";
930c2753d15SKatsuhiro Suzuki};
931c2753d15SKatsuhiro Suzuki
932c2753d15SKatsuhiro Suzuki&usbdrd3_1 {
933c2753d15SKatsuhiro Suzuki	status = "okay";
934c2753d15SKatsuhiro Suzuki};
935c2753d15SKatsuhiro Suzuki
936c2753d15SKatsuhiro Suzuki&usbdrd_dwc3_1 {
937c2753d15SKatsuhiro Suzuki	status = "okay";
938c2753d15SKatsuhiro Suzuki	dr_mode = "host";
939c2753d15SKatsuhiro Suzuki};
940c2753d15SKatsuhiro Suzuki
941c2753d15SKatsuhiro Suzuki&vopb {
942c2753d15SKatsuhiro Suzuki	status = "okay";
943c2753d15SKatsuhiro Suzuki};
944c2753d15SKatsuhiro Suzuki
945c2753d15SKatsuhiro Suzuki&vopb_mmu {
946c2753d15SKatsuhiro Suzuki	status = "okay";
947c2753d15SKatsuhiro Suzuki};
948c2753d15SKatsuhiro Suzuki
949c2753d15SKatsuhiro Suzuki&vopl {
950c2753d15SKatsuhiro Suzuki	status = "okay";
951c2753d15SKatsuhiro Suzuki};
952c2753d15SKatsuhiro Suzuki
953c2753d15SKatsuhiro Suzuki&vopl_mmu {
954c2753d15SKatsuhiro Suzuki	status = "okay";
955c2753d15SKatsuhiro Suzuki};
956