xref: /linux/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1c8ec73b0STianling Shen// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2c8ec73b0STianling Shen/*
3c8ec73b0STianling Shen * Copyright (c) 2022 FriendlyElec Computer Tech. Co., Ltd.
4c8ec73b0STianling Shen * (http://www.friendlyelec.com)
5c8ec73b0STianling Shen *
6c8ec73b0STianling Shen * Copyright (c) 2023 Tianling Shen <cnsztl@gmail.com>
7c8ec73b0STianling Shen */
8c8ec73b0STianling Shen
9c8ec73b0STianling Shen/dts-v1/;
10c8ec73b0STianling Shen#include <dt-bindings/gpio/gpio.h>
11c8ec73b0STianling Shen#include <dt-bindings/input/input.h>
12c8ec73b0STianling Shen#include <dt-bindings/leds/common.h>
13c8ec73b0STianling Shen#include <dt-bindings/pinctrl/rockchip.h>
14c8ec73b0STianling Shen#include <dt-bindings/soc/rockchip,vop2.h>
15c8ec73b0STianling Shen#include "rk3568.dtsi"
16c8ec73b0STianling Shen
17c8ec73b0STianling Shen/ {
18c8ec73b0STianling Shen	aliases {
19c8ec73b0STianling Shen		mmc0 = &sdmmc0;
20c8ec73b0STianling Shen		mmc1 = &sdhci;
21c8ec73b0STianling Shen		rtc0 = &hym8563;
22c8ec73b0STianling Shen	};
23c8ec73b0STianling Shen
24c8ec73b0STianling Shen	chosen: chosen {
25c8ec73b0STianling Shen		stdout-path = "serial2:1500000n8";
26c8ec73b0STianling Shen	};
27c8ec73b0STianling Shen
28c8ec73b0STianling Shen	adc-keys {
29c8ec73b0STianling Shen		compatible = "adc-keys";
30c8ec73b0STianling Shen		io-channels = <&saradc 0>;
31c8ec73b0STianling Shen		io-channel-names = "buttons";
32c8ec73b0STianling Shen		keyup-threshold-microvolt = <1800000>;
33c8ec73b0STianling Shen		poll-interval = <100>;
34c8ec73b0STianling Shen
35c8ec73b0STianling Shen		button-maskrom {
36c8ec73b0STianling Shen			label = "MASKROM";
37c8ec73b0STianling Shen			linux,code = <KEY_SETUP>;
385c96e633SJohan Jonker			press-threshold-microvolt = <0>;
39c8ec73b0STianling Shen		};
40c8ec73b0STianling Shen	};
41c8ec73b0STianling Shen
42c8ec73b0STianling Shen	hdmi-con {
43c8ec73b0STianling Shen		compatible = "hdmi-connector";
44c8ec73b0STianling Shen		type = "a";
45c8ec73b0STianling Shen
46c8ec73b0STianling Shen		port {
475c96e633SJohan Jonker			hdmi_con_in: endpoint {
48c8ec73b0STianling Shen				remote-endpoint = <&hdmi_out_con>;
49c8ec73b0STianling Shen			};
50c8ec73b0STianling Shen		};
51c8ec73b0STianling Shen	};
52c8ec73b0STianling Shen
53c8ec73b0STianling Shen	vdd_usbc: regulator-vdd-usbc {
54c8ec73b0STianling Shen		compatible = "regulator-fixed";
55c8ec73b0STianling Shen		regulator-name = "vdd_usbc";
56c8ec73b0STianling Shen		regulator-always-on;
575c96e633SJohan Jonker		regulator-boot-on;
58c8ec73b0STianling Shen		regulator-min-microvolt = <5000000>;
59c8ec73b0STianling Shen		regulator-max-microvolt = <5000000>;
60c8ec73b0STianling Shen	};
61c8ec73b0STianling Shen
62c8ec73b0STianling Shen	vcc3v3_sys: regulator-vcc3v3-sys {
63c8ec73b0STianling Shen		compatible = "regulator-fixed";
64c8ec73b0STianling Shen		regulator-name = "vcc3v3_sys";
65c8ec73b0STianling Shen		regulator-always-on;
66c8ec73b0STianling Shen		regulator-boot-on;
675c96e633SJohan Jonker		regulator-min-microvolt = <3300000>;
68c8ec73b0STianling Shen		regulator-max-microvolt = <3300000>;
69c8ec73b0STianling Shen		vin-supply = <&vdd_usbc>;
70c8ec73b0STianling Shen	};
71c8ec73b0STianling Shen
72c8ec73b0STianling Shen	vcc5v0_sys: regulator-vcc5v0-sys {
73c8ec73b0STianling Shen		compatible = "regulator-fixed";
74c8ec73b0STianling Shen		regulator-name = "vcc5v0_sys";
75c8ec73b0STianling Shen		regulator-always-on;
76c8ec73b0STianling Shen		regulator-boot-on;
77c8ec73b0STianling Shen		regulator-min-microvolt = <5000000>;
785c96e633SJohan Jonker		regulator-max-microvolt = <5000000>;
79c8ec73b0STianling Shen		vin-supply = <&vdd_usbc>;
80c8ec73b0STianling Shen	};
81c8ec73b0STianling Shen
82c8ec73b0STianling Shen	vcc3v3_pcie: regulator-vcc3v3-pcie {
83c8ec73b0STianling Shen		compatible = "regulator-fixed";
84c8ec73b0STianling Shen		regulator-name = "vcc3v3_pcie";
85c8ec73b0STianling Shen		regulator-min-microvolt = <3300000>;
86c8ec73b0STianling Shen		regulator-max-microvolt = <3300000>;
87c8ec73b0STianling Shen		enable-active-high;
885c96e633SJohan Jonker		gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
89c8ec73b0STianling Shen		startup-delay-us = <200000>;
90c8ec73b0STianling Shen		vin-supply = <&vcc5v0_sys>;
91c8ec73b0STianling Shen	};
92c8ec73b0STianling Shen
93c8ec73b0STianling Shen	vcc5v0_usb: regulator-vcc5v0-usb {
94c8ec73b0STianling Shen		compatible = "regulator-fixed";
95c8ec73b0STianling Shen		regulator-name = "vcc5v0_usb";
96c8ec73b0STianling Shen		regulator-always-on;
97c8ec73b0STianling Shen		regulator-boot-on;
98c8ec73b0STianling Shen		regulator-min-microvolt = <5000000>;
99c8ec73b0STianling Shen		regulator-max-microvolt = <5000000>;
100c8ec73b0STianling Shen		vin-supply = <&vdd_usbc>;
101c8ec73b0STianling Shen	};
1025c96e633SJohan Jonker
103c8ec73b0STianling Shen	vcc5v0_usb_host: regulator-vcc5v0-usb-host {
104c8ec73b0STianling Shen		compatible = "regulator-fixed";
105c8ec73b0STianling Shen		enable-active-high;
106c8ec73b0STianling Shen		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
107c8ec73b0STianling Shen		pinctrl-names = "default";
108c8ec73b0STianling Shen		pinctrl-0 = <&vcc5v0_usb_host_en>;
109c8ec73b0STianling Shen		regulator-name = "vcc5v0_usb_host";
110c8ec73b0STianling Shen		regulator-always-on;
111c8ec73b0STianling Shen		regulator-boot-on;
112c8ec73b0STianling Shen		regulator-min-microvolt = <5000000>;
113c8ec73b0STianling Shen		regulator-max-microvolt = <5000000>;
1145c96e633SJohan Jonker		vin-supply = <&vcc5v0_usb>;
115c8ec73b0STianling Shen	};
116c8ec73b0STianling Shen
117c8ec73b0STianling Shen	vcc5v0_usb_otg: regulator-vcc5v0-usb-otg {
118c8ec73b0STianling Shen		compatible = "regulator-fixed";
119c8ec73b0STianling Shen		enable-active-high;
120c8ec73b0STianling Shen		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
121c8ec73b0STianling Shen		pinctrl-names = "default";
122c8ec73b0STianling Shen		pinctrl-0 = <&vcc5v0_usb_otg_en>;
123c8ec73b0STianling Shen		regulator-name = "vcc5v0_usb_otg";
1245c96e633SJohan Jonker		regulator-min-microvolt = <5000000>;
125c8ec73b0STianling Shen		regulator-max-microvolt = <5000000>;
126c8ec73b0STianling Shen		vin-supply = <&vcc5v0_usb>;
127c8ec73b0STianling Shen	};
128c8ec73b0STianling Shen
129c8ec73b0STianling Shen	pcie30_avdd0v9: regulator-pcie30-avdd0v9 {
130c8ec73b0STianling Shen		compatible = "regulator-fixed";
131c8ec73b0STianling Shen		regulator-name = "pcie30_avdd0v9";
132c8ec73b0STianling Shen		regulator-always-on;
133c8ec73b0STianling Shen		regulator-boot-on;
134c8ec73b0STianling Shen		regulator-min-microvolt = <900000>;
135c8ec73b0STianling Shen		regulator-max-microvolt = <900000>;
136c8ec73b0STianling Shen		vin-supply = <&vcc3v3_sys>;
137c8ec73b0STianling Shen	};
138c8ec73b0STianling Shen
139c8ec73b0STianling Shen	pcie30_avdd1v8: regulator-pcie30-avdd1v8 {
140c8ec73b0STianling Shen		compatible = "regulator-fixed";
141c8ec73b0STianling Shen		regulator-name = "pcie30_avdd1v8";
142c8ec73b0STianling Shen		regulator-always-on;
143c8ec73b0STianling Shen		regulator-boot-on;
144c8ec73b0STianling Shen		regulator-min-microvolt = <1800000>;
145c8ec73b0STianling Shen		regulator-max-microvolt = <1800000>;
146c8ec73b0STianling Shen		vin-supply = <&vcc3v3_sys>;
147c8ec73b0STianling Shen	};
148c8ec73b0STianling Shen};
149c8ec73b0STianling Shen
150c8ec73b0STianling Shen&combphy0 {
151c8ec73b0STianling Shen	status = "okay";
152c8ec73b0STianling Shen};
153c8ec73b0STianling Shen
154c8ec73b0STianling Shen&combphy1 {
155c8ec73b0STianling Shen	status = "okay";
156c8ec73b0STianling Shen};
157c8ec73b0STianling Shen
158c8ec73b0STianling Shen&combphy2 {
159c8ec73b0STianling Shen	status = "okay";
160c8ec73b0STianling Shen};
161c8ec73b0STianling Shen
162c8ec73b0STianling Shen&cpu0 {
163c8ec73b0STianling Shen	cpu-supply = <&vdd_cpu>;
164c8ec73b0STianling Shen};
165c8ec73b0STianling Shen
166c8ec73b0STianling Shen&cpu1 {
167c8ec73b0STianling Shen	cpu-supply = <&vdd_cpu>;
168c8ec73b0STianling Shen};
169c8ec73b0STianling Shen
170c8ec73b0STianling Shen&cpu2 {
171c8ec73b0STianling Shen	cpu-supply = <&vdd_cpu>;
172c8ec73b0STianling Shen};
173c8ec73b0STianling Shen
174c8ec73b0STianling Shen&cpu3 {
175c8ec73b0STianling Shen	cpu-supply = <&vdd_cpu>;
176c8ec73b0STianling Shen};
177c8ec73b0STianling Shen
178c8ec73b0STianling Shen&gpu {
179c8ec73b0STianling Shen	mali-supply = <&vdd_gpu>;
180c8ec73b0STianling Shen	status = "okay";
181c8ec73b0STianling Shen};
182c8ec73b0STianling Shen
183c8ec73b0STianling Shen&hdmi {
184c8ec73b0STianling Shen	avdd-0v9-supply = <&vdda0v9_image>;
185c8ec73b0STianling Shen	avdd-1v8-supply = <&vcca1v8_image>;
186c8ec73b0STianling Shen	status = "okay";
187c8ec73b0STianling Shen};
188c8ec73b0STianling Shen
189c8ec73b0STianling Shen&hdmi_in {
190c8ec73b0STianling Shen	hdmi_in_vp0: endpoint {
191c8ec73b0STianling Shen		remote-endpoint = <&vp0_out_hdmi>;
192c8ec73b0STianling Shen	};
193c8ec73b0STianling Shen};
194c8ec73b0STianling Shen
195c8ec73b0STianling Shen&hdmi_out {
196c8ec73b0STianling Shen	hdmi_out_con: endpoint {
197c8ec73b0STianling Shen		remote-endpoint = <&hdmi_con_in>;
198c8ec73b0STianling Shen	};
199c8ec73b0STianling Shen};
200c8ec73b0STianling Shen
201c8ec73b0STianling Shen&hdmi_sound {
202c8ec73b0STianling Shen	status = "okay";
203c8ec73b0STianling Shen};
204c8ec73b0STianling Shen
205c8ec73b0STianling Shen&i2c0 {
206c8ec73b0STianling Shen	status = "okay";
207c8ec73b0STianling Shen
208c8ec73b0STianling Shen	vdd_cpu: regulator@1c {
209c8ec73b0STianling Shen		compatible = "tcs,tcs4525";
210c8ec73b0STianling Shen		reg = <0x1c>;
211c8ec73b0STianling Shen		fcs,suspend-voltage-selector = <1>;
212c8ec73b0STianling Shen		regulator-name = "vdd_cpu";
213c8ec73b0STianling Shen		regulator-always-on;
214c8ec73b0STianling Shen		regulator-boot-on;
215c8ec73b0STianling Shen		regulator-min-microvolt = <800000>;
216c8ec73b0STianling Shen		regulator-max-microvolt = <1150000>;
217c8ec73b0STianling Shen		regulator-ramp-delay = <2300>;
218b99ac7e2SDiederik de Haas		vin-supply = <&vcc5v0_sys>;
219c8ec73b0STianling Shen
220c8ec73b0STianling Shen		regulator-state-mem {
221c8ec73b0STianling Shen			regulator-off-in-suspend;
222c8ec73b0STianling Shen		};
223c8ec73b0STianling Shen	};
224c8ec73b0STianling Shen
225c8ec73b0STianling Shen	rk809: pmic@20 {
226c8ec73b0STianling Shen		compatible = "rockchip,rk809";
227c8ec73b0STianling Shen		reg = <0x20>;
228c8ec73b0STianling Shen		interrupt-parent = <&gpio0>;
229c8ec73b0STianling Shen		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
230c8ec73b0STianling Shen		#clock-cells = <1>;
231c8ec73b0STianling Shen		pinctrl-names = "default";
232c8ec73b0STianling Shen		pinctrl-0 = <&pmic_int>;
233c8ec73b0STianling Shen		system-power-controller;
234c8ec73b0STianling Shen		vcc1-supply = <&vcc3v3_sys>;
235c8ec73b0STianling Shen		vcc2-supply = <&vcc3v3_sys>;
236c8ec73b0STianling Shen		vcc3-supply = <&vcc3v3_sys>;
237c8ec73b0STianling Shen		vcc4-supply = <&vcc3v3_sys>;
238c8ec73b0STianling Shen		vcc5-supply = <&vcc3v3_sys>;
239c8ec73b0STianling Shen		vcc6-supply = <&vcc3v3_sys>;
240c8ec73b0STianling Shen		vcc7-supply = <&vcc3v3_sys>;
241c8ec73b0STianling Shen		vcc8-supply = <&vcc3v3_sys>;
242c8ec73b0STianling Shen		vcc9-supply = <&vcc3v3_sys>;
243c8ec73b0STianling Shen		wakeup-source;
244c8ec73b0STianling Shen
245c8ec73b0STianling Shen		regulators {
246c8ec73b0STianling Shen			vdd_logic: DCDC_REG1 {
247c8ec73b0STianling Shen				regulator-name = "vdd_logic";
248c8ec73b0STianling Shen				regulator-always-on;
249c8ec73b0STianling Shen				regulator-boot-on;
250c8ec73b0STianling Shen				regulator-initial-mode = <0x2>;
251c8ec73b0STianling Shen				regulator-min-microvolt = <500000>;
252c8ec73b0STianling Shen				regulator-max-microvolt = <1350000>;
253c8ec73b0STianling Shen				regulator-ramp-delay = <6001>;
254c8ec73b0STianling Shen
255c8ec73b0STianling Shen				regulator-state-mem {
256c8ec73b0STianling Shen					regulator-off-in-suspend;
257c8ec73b0STianling Shen				};
258c8ec73b0STianling Shen			};
259c8ec73b0STianling Shen
260c8ec73b0STianling Shen			vdd_gpu: DCDC_REG2 {
261c8ec73b0STianling Shen				regulator-name = "vdd_gpu";
262c8ec73b0STianling Shen				regulator-always-on;
263c8ec73b0STianling Shen				regulator-initial-mode = <0x2>;
264c8ec73b0STianling Shen				regulator-min-microvolt = <500000>;
265c8ec73b0STianling Shen				regulator-max-microvolt = <1350000>;
266c8ec73b0STianling Shen				regulator-ramp-delay = <6001>;
267c8ec73b0STianling Shen
268c8ec73b0STianling Shen				regulator-state-mem {
269c8ec73b0STianling Shen					regulator-off-in-suspend;
270c8ec73b0STianling Shen				};
271c8ec73b0STianling Shen			};
272c8ec73b0STianling Shen
273c8ec73b0STianling Shen			vcc_ddr: DCDC_REG3 {
274c8ec73b0STianling Shen				regulator-name = "vcc_ddr";
275c8ec73b0STianling Shen				regulator-always-on;
276c8ec73b0STianling Shen				regulator-boot-on;
277c8ec73b0STianling Shen				regulator-initial-mode = <0x2>;
278c8ec73b0STianling Shen
279c8ec73b0STianling Shen				regulator-state-mem {
280c8ec73b0STianling Shen					regulator-on-in-suspend;
281c8ec73b0STianling Shen				};
282c8ec73b0STianling Shen			};
283c8ec73b0STianling Shen
284c8ec73b0STianling Shen			vdd_npu: DCDC_REG4 {
285c8ec73b0STianling Shen				regulator-name = "vdd_npu";
286c8ec73b0STianling Shen				regulator-initial-mode = <0x2>;
287c8ec73b0STianling Shen				regulator-min-microvolt = <500000>;
288c8ec73b0STianling Shen				regulator-max-microvolt = <1350000>;
289c8ec73b0STianling Shen				regulator-ramp-delay = <6001>;
290c8ec73b0STianling Shen
291c8ec73b0STianling Shen				regulator-state-mem {
292c8ec73b0STianling Shen					regulator-off-in-suspend;
293c8ec73b0STianling Shen				};
294c8ec73b0STianling Shen			};
295c8ec73b0STianling Shen
296c8ec73b0STianling Shen			vcc_1v8: DCDC_REG5 {
297c8ec73b0STianling Shen				regulator-name = "vcc_1v8";
298c8ec73b0STianling Shen				regulator-always-on;
299c8ec73b0STianling Shen				regulator-boot-on;
300c8ec73b0STianling Shen				regulator-min-microvolt = <1800000>;
301c8ec73b0STianling Shen				regulator-max-microvolt = <1800000>;
302c8ec73b0STianling Shen
303c8ec73b0STianling Shen				regulator-state-mem {
304c8ec73b0STianling Shen					regulator-off-in-suspend;
305c8ec73b0STianling Shen				};
306c8ec73b0STianling Shen			};
307c8ec73b0STianling Shen
308c8ec73b0STianling Shen			vdda0v9_image: LDO_REG1 {
309c8ec73b0STianling Shen				regulator-name = "vdda0v9_image";
310c8ec73b0STianling Shen				regulator-min-microvolt = <950000>;
311c8ec73b0STianling Shen				regulator-max-microvolt = <950000>;
312c8ec73b0STianling Shen
313c8ec73b0STianling Shen				regulator-state-mem {
314c8ec73b0STianling Shen					regulator-off-in-suspend;
315c8ec73b0STianling Shen				};
316c8ec73b0STianling Shen			};
317c8ec73b0STianling Shen
318c8ec73b0STianling Shen			vdda_0v9: LDO_REG2 {
319c8ec73b0STianling Shen				regulator-name = "vdda_0v9";
320c8ec73b0STianling Shen				regulator-always-on;
321c8ec73b0STianling Shen				regulator-boot-on;
322c8ec73b0STianling Shen				regulator-min-microvolt = <900000>;
323c8ec73b0STianling Shen				regulator-max-microvolt = <900000>;
324c8ec73b0STianling Shen
325c8ec73b0STianling Shen				regulator-state-mem {
326c8ec73b0STianling Shen					regulator-off-in-suspend;
327c8ec73b0STianling Shen				};
328c8ec73b0STianling Shen			};
329c8ec73b0STianling Shen
330c8ec73b0STianling Shen			vdda0v9_pmu: LDO_REG3 {
331c8ec73b0STianling Shen				regulator-name = "vdda0v9_pmu";
332c8ec73b0STianling Shen				regulator-always-on;
333c8ec73b0STianling Shen				regulator-boot-on;
334c8ec73b0STianling Shen				regulator-min-microvolt = <900000>;
335c8ec73b0STianling Shen				regulator-max-microvolt = <900000>;
336c8ec73b0STianling Shen
337c8ec73b0STianling Shen				regulator-state-mem {
338c8ec73b0STianling Shen					regulator-on-in-suspend;
339c8ec73b0STianling Shen					regulator-suspend-microvolt = <900000>;
340c8ec73b0STianling Shen				};
341c8ec73b0STianling Shen			};
342c8ec73b0STianling Shen
343c8ec73b0STianling Shen			vccio_acodec: LDO_REG4 {
344c8ec73b0STianling Shen				regulator-name = "vccio_acodec";
345c8ec73b0STianling Shen				regulator-min-microvolt = <3300000>;
346c8ec73b0STianling Shen				regulator-max-microvolt = <3300000>;
347c8ec73b0STianling Shen
348c8ec73b0STianling Shen				regulator-state-mem {
349c8ec73b0STianling Shen					regulator-off-in-suspend;
350c8ec73b0STianling Shen				};
351c8ec73b0STianling Shen			};
352c8ec73b0STianling Shen
353c8ec73b0STianling Shen			vccio_sd: LDO_REG5 {
354c8ec73b0STianling Shen				regulator-name = "vccio_sd";
355c8ec73b0STianling Shen				regulator-min-microvolt = <1800000>;
356c8ec73b0STianling Shen				regulator-max-microvolt = <3300000>;
357c8ec73b0STianling Shen
358c8ec73b0STianling Shen				regulator-state-mem {
359c8ec73b0STianling Shen					regulator-off-in-suspend;
360c8ec73b0STianling Shen				};
361c8ec73b0STianling Shen			};
362c8ec73b0STianling Shen
363c8ec73b0STianling Shen			vcc3v3_pmu: LDO_REG6 {
364c8ec73b0STianling Shen				regulator-name = "vcc3v3_pmu";
365c8ec73b0STianling Shen				regulator-always-on;
366c8ec73b0STianling Shen				regulator-boot-on;
367c8ec73b0STianling Shen				regulator-min-microvolt = <3300000>;
368c8ec73b0STianling Shen				regulator-max-microvolt = <3300000>;
369c8ec73b0STianling Shen
370c8ec73b0STianling Shen				regulator-state-mem {
371c8ec73b0STianling Shen					regulator-on-in-suspend;
372c8ec73b0STianling Shen					regulator-suspend-microvolt = <3300000>;
373c8ec73b0STianling Shen				};
374c8ec73b0STianling Shen			};
375c8ec73b0STianling Shen
376c8ec73b0STianling Shen			vcca_1v8: LDO_REG7 {
377c8ec73b0STianling Shen				regulator-name = "vcca_1v8";
378c8ec73b0STianling Shen				regulator-always-on;
379c8ec73b0STianling Shen				regulator-boot-on;
380c8ec73b0STianling Shen				regulator-min-microvolt = <1800000>;
381c8ec73b0STianling Shen				regulator-max-microvolt = <1800000>;
382c8ec73b0STianling Shen
383c8ec73b0STianling Shen				regulator-state-mem {
384c8ec73b0STianling Shen					regulator-off-in-suspend;
385c8ec73b0STianling Shen				};
386c8ec73b0STianling Shen			};
387c8ec73b0STianling Shen
388c8ec73b0STianling Shen			vcca1v8_pmu: LDO_REG8 {
389c8ec73b0STianling Shen				regulator-name = "vcca1v8_pmu";
390c8ec73b0STianling Shen				regulator-always-on;
391c8ec73b0STianling Shen				regulator-boot-on;
392c8ec73b0STianling Shen				regulator-min-microvolt = <1800000>;
393c8ec73b0STianling Shen				regulator-max-microvolt = <1800000>;
394c8ec73b0STianling Shen
395c8ec73b0STianling Shen				regulator-state-mem {
396c8ec73b0STianling Shen					regulator-on-in-suspend;
397c8ec73b0STianling Shen					regulator-suspend-microvolt = <1800000>;
398c8ec73b0STianling Shen				};
399c8ec73b0STianling Shen			};
400c8ec73b0STianling Shen
401c8ec73b0STianling Shen			vcca1v8_image: LDO_REG9 {
402c8ec73b0STianling Shen				regulator-name = "vcca1v8_image";
403c8ec73b0STianling Shen				regulator-min-microvolt = <1800000>;
404c8ec73b0STianling Shen				regulator-max-microvolt = <1800000>;
405c8ec73b0STianling Shen
406c8ec73b0STianling Shen				regulator-state-mem {
407c8ec73b0STianling Shen					regulator-off-in-suspend;
408c8ec73b0STianling Shen				};
409c8ec73b0STianling Shen			};
410c8ec73b0STianling Shen
411c8ec73b0STianling Shen			vcc_3v3: SWITCH_REG1 {
412c8ec73b0STianling Shen				regulator-name = "vcc_3v3";
413c8ec73b0STianling Shen				regulator-always-on;
414c8ec73b0STianling Shen				regulator-boot-on;
415c8ec73b0STianling Shen
416c8ec73b0STianling Shen				regulator-state-mem {
417c8ec73b0STianling Shen					regulator-off-in-suspend;
418c8ec73b0STianling Shen				};
419c8ec73b0STianling Shen			};
420c8ec73b0STianling Shen
421c8ec73b0STianling Shen			vcc3v3_sd: SWITCH_REG2 {
422c8ec73b0STianling Shen				regulator-name = "vcc3v3_sd";
423c8ec73b0STianling Shen				regulator-always-on;
424c8ec73b0STianling Shen				regulator-boot-on;
425c8ec73b0STianling Shen
426c8ec73b0STianling Shen				regulator-state-mem {
427c8ec73b0STianling Shen					regulator-off-in-suspend;
428c8ec73b0STianling Shen				};
429c8ec73b0STianling Shen			};
430c8ec73b0STianling Shen		};
431c8ec73b0STianling Shen
432c8ec73b0STianling Shen	};
433c8ec73b0STianling Shen};
434c8ec73b0STianling Shen
435c8ec73b0STianling Shen&i2c5 {
436c8ec73b0STianling Shen	status = "okay";
437c8ec73b0STianling Shen
438c8ec73b0STianling Shen	hym8563: rtc@51 {
439c8ec73b0STianling Shen		compatible = "haoyu,hym8563";
440c8ec73b0STianling Shen		reg = <0x51>;
441c8ec73b0STianling Shen		interrupt-parent = <&gpio0>;
442c8ec73b0STianling Shen		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
443c8ec73b0STianling Shen		#clock-cells = <0>;
444c8ec73b0STianling Shen		clock-output-names = "rtcic_32kout";
445c8ec73b0STianling Shen		pinctrl-names = "default";
446c8ec73b0STianling Shen		pinctrl-0 = <&hym8563_int>;
447c8ec73b0STianling Shen		wakeup-source;
448c8ec73b0STianling Shen	};
449c8ec73b0STianling Shen};
450c8ec73b0STianling Shen
451c8ec73b0STianling Shen&i2s0_8ch {
452c8ec73b0STianling Shen	status = "okay";
453c8ec73b0STianling Shen};
454c8ec73b0STianling Shen
455c8ec73b0STianling Shen&pcie30phy {
456c8ec73b0STianling Shen	data-lanes = <1 2>;
457c8ec73b0STianling Shen	status = "okay";
458c8ec73b0STianling Shen};
459c8ec73b0STianling Shen
460c8ec73b0STianling Shen&pinctrl {
461c8ec73b0STianling Shen	hym8563 {
462c8ec73b0STianling Shen		hym8563_int: hym8563-int {
463c8ec73b0STianling Shen			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
464c8ec73b0STianling Shen		};
465c8ec73b0STianling Shen	};
466c8ec73b0STianling Shen
467c8ec73b0STianling Shen	pmic {
468c8ec73b0STianling Shen		pmic_int: pmic-int {
469c8ec73b0STianling Shen			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
470c8ec73b0STianling Shen		};
471c8ec73b0STianling Shen	};
472c8ec73b0STianling Shen
473c8ec73b0STianling Shen	usb {
474c8ec73b0STianling Shen		vcc5v0_usb_host_en: vcc5v0-usb-host-en {
475c8ec73b0STianling Shen			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
476c8ec73b0STianling Shen		};
477c8ec73b0STianling Shen
478c8ec73b0STianling Shen		vcc5v0_usb_otg_en: vcc5v0-usb-otg-en {
479c8ec73b0STianling Shen			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
480c8ec73b0STianling Shen		};
481c8ec73b0STianling Shen	};
482c8ec73b0STianling Shen};
483c8ec73b0STianling Shen
484c8ec73b0STianling Shen&pmu_io_domains {
485c8ec73b0STianling Shen	pmuio1-supply = <&vcc3v3_pmu>;
486c8ec73b0STianling Shen	pmuio2-supply = <&vcc3v3_pmu>;
487c8ec73b0STianling Shen	vccio1-supply = <&vccio_acodec>;
488c8ec73b0STianling Shen	vccio3-supply = <&vccio_sd>;
489*8eca9e97SPeter Robinson	vccio4-supply = <&vcc_1v8>;
490c8ec73b0STianling Shen	vccio5-supply = <&vcc_3v3>;
491c8ec73b0STianling Shen	vccio6-supply = <&vcc_1v8>;
492*8eca9e97SPeter Robinson	vccio7-supply = <&vcc_3v3>;
493*8eca9e97SPeter Robinson	status = "okay";
494*8eca9e97SPeter Robinson};
495c8ec73b0STianling Shen
496c8ec73b0STianling Shen&saradc {
497c8ec73b0STianling Shen	vref-supply = <&vcca_1v8>;
498c8ec73b0STianling Shen	status = "okay";
499c8ec73b0STianling Shen};
500c8ec73b0STianling Shen
501c8ec73b0STianling Shen&sdhci {
502c8ec73b0STianling Shen	bus-width = <8>;
503c8ec73b0STianling Shen	max-frequency = <200000000>;
504c8ec73b0STianling Shen	mmc-hs200-1_8v;
505c8ec73b0STianling Shen	non-removable;
506c8ec73b0STianling Shen	pinctrl-names = "default";
507c8ec73b0STianling Shen	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
508c8ec73b0STianling Shen	vmmc-supply = <&vcc_3v3>;
509c8ec73b0STianling Shen	vqmmc-supply = <&vcc_1v8>;
510c8ec73b0STianling Shen	status = "okay";
511c8ec73b0STianling Shen};
512c8ec73b0STianling Shen
513c8ec73b0STianling Shen&sdmmc0 {
514c8ec73b0STianling Shen	max-frequency = <150000000>;
515c8ec73b0STianling Shen	no-sdio;
516c8ec73b0STianling Shen	no-mmc;
517c8ec73b0STianling Shen	bus-width = <4>;
518c8ec73b0STianling Shen	cap-mmc-highspeed;
519c8ec73b0STianling Shen	cap-sd-highspeed;
520c8ec73b0STianling Shen	disable-wp;
521c8ec73b0STianling Shen	vmmc-supply = <&vcc3v3_sd>;
522c8ec73b0STianling Shen	vqmmc-supply = <&vccio_sd>;
523c8ec73b0STianling Shen	pinctrl-names = "default";
524c8ec73b0STianling Shen	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
525c8ec73b0STianling Shen	status = "okay";
526c8ec73b0STianling Shen};
527c8ec73b0STianling Shen
528c8ec73b0STianling Shen&tsadc {
529c8ec73b0STianling Shen	rockchip,hw-tshut-mode = <1>;
530c8ec73b0STianling Shen	rockchip,hw-tshut-polarity = <0>;
531c8ec73b0STianling Shen	status = "okay";
532c8ec73b0STianling Shen};
533c8ec73b0STianling Shen
534c8ec73b0STianling Shen&uart2 {
535c8ec73b0STianling Shen	status = "okay";
536c8ec73b0STianling Shen};
537c8ec73b0STianling Shen
538c8ec73b0STianling Shen&usb_host0_ehci {
539c8ec73b0STianling Shen	status = "okay";
540c8ec73b0STianling Shen};
541c8ec73b0STianling Shen
542c8ec73b0STianling Shen&usb_host0_ohci {
543c8ec73b0STianling Shen	status = "okay";
544c8ec73b0STianling Shen};
545c8ec73b0STianling Shen
546c8ec73b0STianling Shen&usb_host0_xhci {
547c8ec73b0STianling Shen	extcon = <&usb2phy0>;
548c8ec73b0STianling Shen	dr_mode = "host";
549c8ec73b0STianling Shen	status = "okay";
550c8ec73b0STianling Shen};
551c8ec73b0STianling Shen
552c8ec73b0STianling Shen&usb_host1_ehci {
553c8ec73b0STianling Shen	status = "okay";
554c8ec73b0STianling Shen};
555c8ec73b0STianling Shen
556c8ec73b0STianling Shen&usb_host1_ohci {
557c8ec73b0STianling Shen	status = "okay";
558c8ec73b0STianling Shen};
559c8ec73b0STianling Shen
560c8ec73b0STianling Shen&usb_host1_xhci {
561c8ec73b0STianling Shen	status = "okay";
562c8ec73b0STianling Shen};
563c8ec73b0STianling Shen
564c8ec73b0STianling Shen&usb2phy0 {
565c8ec73b0STianling Shen	status = "okay";
566c8ec73b0STianling Shen};
567c8ec73b0STianling Shen
568c8ec73b0STianling Shen&usb2phy0_host {
569c8ec73b0STianling Shen	phy-supply = <&vcc5v0_usb_host>;
570c8ec73b0STianling Shen	status = "okay";
571c8ec73b0STianling Shen};
572c8ec73b0STianling Shen
573c8ec73b0STianling Shen&usb2phy0_otg {
574c8ec73b0STianling Shen	status = "okay";
575c8ec73b0STianling Shen};
576c8ec73b0STianling Shen
577c8ec73b0STianling Shen&usb2phy1 {
578c8ec73b0STianling Shen	status = "okay";
579c8ec73b0STianling Shen};
580c8ec73b0STianling Shen
581c8ec73b0STianling Shen&usb2phy1_host {
582c8ec73b0STianling Shen	phy-supply = <&vcc5v0_usb_otg>;
583c8ec73b0STianling Shen	status = "okay";
584c8ec73b0STianling Shen};
585c8ec73b0STianling Shen
586c8ec73b0STianling Shen&usb2phy1_otg {
587c8ec73b0STianling Shen	status = "okay";
588c8ec73b0STianling Shen};
589c8ec73b0STianling Shen
590c8ec73b0STianling Shen&vop {
591	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
592	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
593	status = "okay";
594};
595
596&vop_mmu {
597	status = "okay";
598};
599
600&vp0 {
601	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
602		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
603		remote-endpoint = <&hdmi_in_vp0>;
604	};
605};
606