xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3576-lckfb-tspi-3m.dts (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*c748c71dSLiu Changjie// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*c748c71dSLiu Changjie/*
3*c748c71dSLiu Changjie * Copyright (c) 2026 LCKFB
4*c748c71dSLiu Changjie */
5*c748c71dSLiu Changjie
6*c748c71dSLiu Changjie/dts-v1/;
7*c748c71dSLiu Changjie
8*c748c71dSLiu Changjie#include <dt-bindings/gpio/gpio.h>
9*c748c71dSLiu Changjie#include <dt-bindings/input/input.h>
10*c748c71dSLiu Changjie#include <dt-bindings/interrupt-controller/irq.h>
11*c748c71dSLiu Changjie#include <dt-bindings/leds/common.h>
12*c748c71dSLiu Changjie#include <dt-bindings/pinctrl/rockchip.h>
13*c748c71dSLiu Changjie#include <dt-bindings/soc/rockchip,vop2.h>
14*c748c71dSLiu Changjie#include <dt-bindings/usb/pd.h>
15*c748c71dSLiu Changjie#include "rk3576.dtsi"
16*c748c71dSLiu Changjie
17*c748c71dSLiu Changjie/ {
18*c748c71dSLiu Changjie	model = "LCKFB TaishanPi 3M";
19*c748c71dSLiu Changjie	compatible = "lckfb,tspi-3m-rk3576", "rockchip,rk3576";
20*c748c71dSLiu Changjie
21*c748c71dSLiu Changjie	aliases {
22*c748c71dSLiu Changjie		mmc0 = &sdhci;
23*c748c71dSLiu Changjie		mmc1 = &sdmmc;
24*c748c71dSLiu Changjie	};
25*c748c71dSLiu Changjie
26*c748c71dSLiu Changjie	chosen {
27*c748c71dSLiu Changjie		stdout-path = "serial0:1500000n8";
28*c748c71dSLiu Changjie	};
29*c748c71dSLiu Changjie
30*c748c71dSLiu Changjie	adc-keys {
31*c748c71dSLiu Changjie		compatible = "adc-keys";
32*c748c71dSLiu Changjie		io-channels = <&saradc 1>;
33*c748c71dSLiu Changjie		io-channel-names = "buttons";
34*c748c71dSLiu Changjie		keyup-threshold-microvolt = <1800000>;
35*c748c71dSLiu Changjie		poll-interval = <100>;
36*c748c71dSLiu Changjie
37*c748c71dSLiu Changjie		button-recovery {
38*c748c71dSLiu Changjie			label = "Recovery";
39*c748c71dSLiu Changjie			linux,code = <KEY_VENDOR>;
40*c748c71dSLiu Changjie			press-threshold-microvolt = <18000>;
41*c748c71dSLiu Changjie		};
42*c748c71dSLiu Changjie	};
43*c748c71dSLiu Changjie
44*c748c71dSLiu Changjie	leds {
45*c748c71dSLiu Changjie		compatible = "gpio-leds";
46*c748c71dSLiu Changjie
47*c748c71dSLiu Changjie		led-0 {
48*c748c71dSLiu Changjie			color = <LED_COLOR_ID_GREEN>;
49*c748c71dSLiu Changjie			function = LED_FUNCTION_HEARTBEAT;
50*c748c71dSLiu Changjie			gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
51*c748c71dSLiu Changjie			linux,default-trigger = "heartbeat";
52*c748c71dSLiu Changjie		};
53*c748c71dSLiu Changjie	};
54*c748c71dSLiu Changjie
55*c748c71dSLiu Changjie	hdmi-con {
56*c748c71dSLiu Changjie		compatible = "hdmi-connector";
57*c748c71dSLiu Changjie		type = "a";
58*c748c71dSLiu Changjie
59*c748c71dSLiu Changjie		port {
60*c748c71dSLiu Changjie			hdmi_con_in: endpoint {
61*c748c71dSLiu Changjie				remote-endpoint = <&hdmi_out_con>;
62*c748c71dSLiu Changjie			};
63*c748c71dSLiu Changjie		};
64*c748c71dSLiu Changjie	};
65*c748c71dSLiu Changjie
66*c748c71dSLiu Changjie	vcc_5v0_usb2_host: regulator-vcc-5v0-usb2-host {
67*c748c71dSLiu Changjie		compatible = "regulator-fixed";
68*c748c71dSLiu Changjie		enable-active-high;
69*c748c71dSLiu Changjie		gpio = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
70*c748c71dSLiu Changjie		pinctrl-names = "default";
71*c748c71dSLiu Changjie		pinctrl-0 = <&usb2_host_pwren>;
72*c748c71dSLiu Changjie		regulator-max-microvolt = <5000000>;
73*c748c71dSLiu Changjie		regulator-min-microvolt = <5000000>;
74*c748c71dSLiu Changjie		regulator-name = "vcc_5v0_usb2_host";
75*c748c71dSLiu Changjie		vin-supply = <&vcc_5v0_sys>;
76*c748c71dSLiu Changjie	};
77*c748c71dSLiu Changjie
78*c748c71dSLiu Changjie	vcc_5v0_usb3_host: regulator-vcc-5v0-usb3-host {
79*c748c71dSLiu Changjie		compatible = "regulator-fixed";
80*c748c71dSLiu Changjie		enable-active-high;
81*c748c71dSLiu Changjie		gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
82*c748c71dSLiu Changjie		pinctrl-names = "default";
83*c748c71dSLiu Changjie		pinctrl-0 = <&usb3_host_pwren>;
84*c748c71dSLiu Changjie		regulator-max-microvolt = <5000000>;
85*c748c71dSLiu Changjie		regulator-min-microvolt = <5000000>;
86*c748c71dSLiu Changjie		regulator-name = "vcc_5v0_usb3_host";
87*c748c71dSLiu Changjie		vin-supply = <&vcc_5v0_sys>;
88*c748c71dSLiu Changjie	};
89*c748c71dSLiu Changjie
90*c748c71dSLiu Changjie	vcc_5v0_typec: regulator-vcc-5v0-typec {
91*c748c71dSLiu Changjie		compatible = "regulator-fixed";
92*c748c71dSLiu Changjie		enable-active-high;
93*c748c71dSLiu Changjie		gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
94*c748c71dSLiu Changjie		pinctrl-names = "default";
95*c748c71dSLiu Changjie		pinctrl-0 = <&typec_vbus_en>;
96*c748c71dSLiu Changjie		regulator-max-microvolt = <5000000>;
97*c748c71dSLiu Changjie		regulator-min-microvolt = <5000000>;
98*c748c71dSLiu Changjie		regulator-name = "vcc_5v0_typec";
99*c748c71dSLiu Changjie		vin-supply = <&vcc_5v0_sys>;
100*c748c71dSLiu Changjie	};
101*c748c71dSLiu Changjie
102*c748c71dSLiu Changjie	vcc_5v0_sys: regulator-vcc-5v0-sys {
103*c748c71dSLiu Changjie		compatible = "regulator-fixed";
104*c748c71dSLiu Changjie		regulator-name = "vcc_5v0_sys";
105*c748c71dSLiu Changjie		regulator-always-on;
106*c748c71dSLiu Changjie		regulator-boot-on;
107*c748c71dSLiu Changjie		regulator-min-microvolt = <5000000>;
108*c748c71dSLiu Changjie		regulator-max-microvolt = <5000000>;
109*c748c71dSLiu Changjie	};
110*c748c71dSLiu Changjie
111*c748c71dSLiu Changjie	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
112*c748c71dSLiu Changjie		compatible = "regulator-fixed";
113*c748c71dSLiu Changjie		regulator-name = "vcc_1v1_nldo_s3";
114*c748c71dSLiu Changjie		regulator-always-on;
115*c748c71dSLiu Changjie		regulator-boot-on;
116*c748c71dSLiu Changjie		regulator-min-microvolt = <1100000>;
117*c748c71dSLiu Changjie		regulator-max-microvolt = <1100000>;
118*c748c71dSLiu Changjie		vin-supply = <&vcc_5v0_sys>;
119*c748c71dSLiu Changjie	};
120*c748c71dSLiu Changjie
121*c748c71dSLiu Changjie	vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 {
122*c748c71dSLiu Changjie		compatible = "regulator-fixed";
123*c748c71dSLiu Changjie		regulator-name = "vcc_2v0_pldo_s3";
124*c748c71dSLiu Changjie		regulator-always-on;
125*c748c71dSLiu Changjie		regulator-boot-on;
126*c748c71dSLiu Changjie		regulator-min-microvolt = <2000000>;
127*c748c71dSLiu Changjie		regulator-max-microvolt = <2000000>;
128*c748c71dSLiu Changjie		vin-supply = <&vcc_5v0_sys>;
129*c748c71dSLiu Changjie	};
130*c748c71dSLiu Changjie
131*c748c71dSLiu Changjie	vcc_3v3_minipcie: regulator-vcc-3v3-minipcie {
132*c748c71dSLiu Changjie		compatible = "regulator-fixed";
133*c748c71dSLiu Changjie		enable-active-high;
134*c748c71dSLiu Changjie		gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
135*c748c71dSLiu Changjie		pinctrl-names = "default";
136*c748c71dSLiu Changjie		pinctrl-0 = <&minipcie_pwren>;
137*c748c71dSLiu Changjie		regulator-boot-on;
138*c748c71dSLiu Changjie		regulator-max-microvolt = <3300000>;
139*c748c71dSLiu Changjie		regulator-min-microvolt = <3300000>;
140*c748c71dSLiu Changjie		regulator-name = "vcc_3v3_minipcie";
141*c748c71dSLiu Changjie		startup-delay-us = <5000>;
142*c748c71dSLiu Changjie		vin-supply = <&vcc_5v0_sys>;
143*c748c71dSLiu Changjie	};
144*c748c71dSLiu Changjie
145*c748c71dSLiu Changjie	vcc_3v3_wl: regulator-3v3-wl {
146*c748c71dSLiu Changjie		compatible = "regulator-fixed";
147*c748c71dSLiu Changjie		gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_LOW>;
148*c748c71dSLiu Changjie		pinctrl-names = "default";
149*c748c71dSLiu Changjie		pinctrl-0 = <&wifi_pwren_l>;
150*c748c71dSLiu Changjie		regulator-boot-on;
151*c748c71dSLiu Changjie		regulator-max-microvolt = <3300000>;
152*c748c71dSLiu Changjie		regulator-min-microvolt = <3300000>;
153*c748c71dSLiu Changjie		regulator-name = "vcc_3v3_wl";
154*c748c71dSLiu Changjie		vin-supply = <&vcc_3v3_s0>;
155*c748c71dSLiu Changjie	};
156*c748c71dSLiu Changjie
157*c748c71dSLiu Changjie	vcc_3v3_s0: regulator-vcc-3v3-s0 {
158*c748c71dSLiu Changjie		compatible = "regulator-fixed";
159*c748c71dSLiu Changjie		regulator-name = "vcc_3v3_s0";
160*c748c71dSLiu Changjie		regulator-always-on;
161*c748c71dSLiu Changjie		regulator-boot-on;
162*c748c71dSLiu Changjie		regulator-min-microvolt = <3300000>;
163*c748c71dSLiu Changjie		regulator-max-microvolt = <3300000>;
164*c748c71dSLiu Changjie		vin-supply = <&vcc_3v3_s3>;
165*c748c71dSLiu Changjie	};
166*c748c71dSLiu Changjie
167*c748c71dSLiu Changjie	sdio_pwrseq: sdio-pwrseq {
168*c748c71dSLiu Changjie		compatible = "mmc-pwrseq-simple";
169*c748c71dSLiu Changjie		clock-names = "ext_clock";
170*c748c71dSLiu Changjie		clocks = <&hym8563>;
171*c748c71dSLiu Changjie		pinctrl-names = "default";
172*c748c71dSLiu Changjie		pinctrl-0 = <&wifi_reg_on_h>;
173*c748c71dSLiu Changjie		post-power-on-delay-ms = <200>;
174*c748c71dSLiu Changjie		reset-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
175*c748c71dSLiu Changjie	};
176*c748c71dSLiu Changjie
177*c748c71dSLiu Changjie	usb_a_3_0: usb-a-connector-0 {
178*c748c71dSLiu Changjie		compatible = "usb-a-connector";
179*c748c71dSLiu Changjie		label = "USB 3.0 Type-A";
180*c748c71dSLiu Changjie		vbus-supply = <&vcc_5v0_usb3_host>;
181*c748c71dSLiu Changjie
182*c748c71dSLiu Changjie		ports {
183*c748c71dSLiu Changjie			#address-cells = <1>;
184*c748c71dSLiu Changjie			#size-cells = <0>;
185*c748c71dSLiu Changjie
186*c748c71dSLiu Changjie			port@0 {
187*c748c71dSLiu Changjie				reg = <0>;
188*c748c71dSLiu Changjie
189*c748c71dSLiu Changjie				usb_a_3_0_hs: endpoint {
190*c748c71dSLiu Changjie					remote-endpoint = <&usb_hub_port1>;
191*c748c71dSLiu Changjie				};
192*c748c71dSLiu Changjie			};
193*c748c71dSLiu Changjie
194*c748c71dSLiu Changjie			port@1 {
195*c748c71dSLiu Changjie				reg = <1>;
196*c748c71dSLiu Changjie
197*c748c71dSLiu Changjie				usb_a_3_0_ss: endpoint {
198*c748c71dSLiu Changjie					remote-endpoint = <&usb_drd1_ss>;
199*c748c71dSLiu Changjie				};
200*c748c71dSLiu Changjie			};
201*c748c71dSLiu Changjie		};
202*c748c71dSLiu Changjie	};
203*c748c71dSLiu Changjie
204*c748c71dSLiu Changjie	usb_a_2_0_1: usb-a-connector-1 {
205*c748c71dSLiu Changjie		compatible = "usb-a-connector";
206*c748c71dSLiu Changjie		label = "USB 2.0 Type-A 1";
207*c748c71dSLiu Changjie		vbus-supply = <&vcc_5v0_usb3_host>;
208*c748c71dSLiu Changjie
209*c748c71dSLiu Changjie		port {
210*c748c71dSLiu Changjie			usb_a_2_0_1_hs: endpoint {
211*c748c71dSLiu Changjie				remote-endpoint = <&usb_hub_port2>;
212*c748c71dSLiu Changjie			};
213*c748c71dSLiu Changjie		};
214*c748c71dSLiu Changjie	};
215*c748c71dSLiu Changjie
216*c748c71dSLiu Changjie	usb_a_2_0_2: usb-a-connector-2 {
217*c748c71dSLiu Changjie		compatible = "usb-a-connector";
218*c748c71dSLiu Changjie		label = "USB 2.0 Type-A 2";
219*c748c71dSLiu Changjie		vbus-supply = <&vcc_5v0_usb2_host>;
220*c748c71dSLiu Changjie
221*c748c71dSLiu Changjie		port {
222*c748c71dSLiu Changjie			usb_a_2_0_2_hs: endpoint {
223*c748c71dSLiu Changjie				remote-endpoint = <&usb_hub_port3>;
224*c748c71dSLiu Changjie			};
225*c748c71dSLiu Changjie		};
226*c748c71dSLiu Changjie	};
227*c748c71dSLiu Changjie
228*c748c71dSLiu Changjie	usb_a_2_0_3: usb-a-connector-3 {
229*c748c71dSLiu Changjie		compatible = "usb-a-connector";
230*c748c71dSLiu Changjie		label = "USB 2.0 Type-A 3";
231*c748c71dSLiu Changjie		vbus-supply = <&vcc_5v0_usb2_host>;
232*c748c71dSLiu Changjie
233*c748c71dSLiu Changjie		port {
234*c748c71dSLiu Changjie			usb_a_2_0_3_hs: endpoint {
235*c748c71dSLiu Changjie				remote-endpoint = <&usb_hub_port4>;
236*c748c71dSLiu Changjie			};
237*c748c71dSLiu Changjie		};
238*c748c71dSLiu Changjie	};
239*c748c71dSLiu Changjie};
240*c748c71dSLiu Changjie
241*c748c71dSLiu Changjie&combphy0_ps {
242*c748c71dSLiu Changjie	status = "okay";
243*c748c71dSLiu Changjie};
244*c748c71dSLiu Changjie
245*c748c71dSLiu Changjie&combphy1_psu {
246*c748c71dSLiu Changjie	status = "okay";
247*c748c71dSLiu Changjie};
248*c748c71dSLiu Changjie
249*c748c71dSLiu Changjie&cpu_b0 {
250*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_big_s0>;
251*c748c71dSLiu Changjie};
252*c748c71dSLiu Changjie
253*c748c71dSLiu Changjie&cpu_b1 {
254*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_big_s0>;
255*c748c71dSLiu Changjie};
256*c748c71dSLiu Changjie
257*c748c71dSLiu Changjie&cpu_b2 {
258*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_big_s0>;
259*c748c71dSLiu Changjie};
260*c748c71dSLiu Changjie
261*c748c71dSLiu Changjie&cpu_b3 {
262*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_big_s0>;
263*c748c71dSLiu Changjie};
264*c748c71dSLiu Changjie
265*c748c71dSLiu Changjie&cpu_l0 {
266*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_lit_s0>;
267*c748c71dSLiu Changjie};
268*c748c71dSLiu Changjie
269*c748c71dSLiu Changjie&cpu_l1 {
270*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_lit_s0>;
271*c748c71dSLiu Changjie};
272*c748c71dSLiu Changjie
273*c748c71dSLiu Changjie&cpu_l2 {
274*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_lit_s0>;
275*c748c71dSLiu Changjie};
276*c748c71dSLiu Changjie
277*c748c71dSLiu Changjie&cpu_l3 {
278*c748c71dSLiu Changjie	cpu-supply = <&vdd_cpu_lit_s0>;
279*c748c71dSLiu Changjie};
280*c748c71dSLiu Changjie
281*c748c71dSLiu Changjie&gmac0 {
282*c748c71dSLiu Changjie	clock_in_out = "input";
283*c748c71dSLiu Changjie	phy-handle = <&rgmii_phy0>;
284*c748c71dSLiu Changjie	/* RX delay is added by the PHY, TX delay by the GMAC. */
285*c748c71dSLiu Changjie	phy-mode = "rgmii-rxid";
286*c748c71dSLiu Changjie	pinctrl-names = "default";
287*c748c71dSLiu Changjie	pinctrl-0 = <&eth0m0_miim
288*c748c71dSLiu Changjie		     &eth0m0_tx_bus2
289*c748c71dSLiu Changjie		     &eth0m0_rx_bus2
290*c748c71dSLiu Changjie		     &eth0m0_rgmii_clk
291*c748c71dSLiu Changjie		     &eth0m0_rgmii_bus
292*c748c71dSLiu Changjie		     &eth0m0_mclk>;
293*c748c71dSLiu Changjie	tx_delay = <0x24>;
294*c748c71dSLiu Changjie	status = "okay";
295*c748c71dSLiu Changjie};
296*c748c71dSLiu Changjie
297*c748c71dSLiu Changjie&hdmi {
298*c748c71dSLiu Changjie	/* The external level shifters must be on for TMDS operation. */
299*c748c71dSLiu Changjie	frl-enable-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
300*c748c71dSLiu Changjie	status = "okay";
301*c748c71dSLiu Changjie};
302*c748c71dSLiu Changjie
303*c748c71dSLiu Changjie&hdmi_in {
304*c748c71dSLiu Changjie	hdmi_in_vp0: endpoint {
305*c748c71dSLiu Changjie		remote-endpoint = <&vp0_out_hdmi>;
306*c748c71dSLiu Changjie	};
307*c748c71dSLiu Changjie};
308*c748c71dSLiu Changjie
309*c748c71dSLiu Changjie&hdmi_out {
310*c748c71dSLiu Changjie	hdmi_out_con: endpoint {
311*c748c71dSLiu Changjie		remote-endpoint = <&hdmi_con_in>;
312*c748c71dSLiu Changjie	};
313*c748c71dSLiu Changjie};
314*c748c71dSLiu Changjie
315*c748c71dSLiu Changjie&hdmi_sound {
316*c748c71dSLiu Changjie	simple-audio-card,mclk-fs = <128>;
317*c748c71dSLiu Changjie	status = "okay";
318*c748c71dSLiu Changjie
319*c748c71dSLiu Changjie	simple-audio-card,cpu {
320*c748c71dSLiu Changjie		dai-tdm-slot-num = <2>;
321*c748c71dSLiu Changjie		dai-tdm-slot-width = <32>;
322*c748c71dSLiu Changjie	};
323*c748c71dSLiu Changjie};
324*c748c71dSLiu Changjie
325*c748c71dSLiu Changjie&hdptxphy {
326*c748c71dSLiu Changjie	status = "okay";
327*c748c71dSLiu Changjie};
328*c748c71dSLiu Changjie
329*c748c71dSLiu Changjie&i2c1 {
330*c748c71dSLiu Changjie	status = "okay";
331*c748c71dSLiu Changjie
332*c748c71dSLiu Changjie	pmic@23 {
333*c748c71dSLiu Changjie		compatible = "rockchip,rk806";
334*c748c71dSLiu Changjie		reg = <0x23>;
335*c748c71dSLiu Changjie		#gpio-cells = <2>;
336*c748c71dSLiu Changjie		gpio-controller;
337*c748c71dSLiu Changjie		interrupt-parent = <&gpio0>;
338*c748c71dSLiu Changjie		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
339*c748c71dSLiu Changjie		pinctrl-names = "default";
340*c748c71dSLiu Changjie		pinctrl-0 = <&pmic_pins
341*c748c71dSLiu Changjie			     &rk806_dvs1_null
342*c748c71dSLiu Changjie			     &rk806_dvs2_null
343*c748c71dSLiu Changjie			     &rk806_dvs3_null>;
344*c748c71dSLiu Changjie		system-power-controller;
345*c748c71dSLiu Changjie		vcc1-supply = <&vcc_5v0_sys>;
346*c748c71dSLiu Changjie		vcc2-supply = <&vcc_5v0_sys>;
347*c748c71dSLiu Changjie		vcc3-supply = <&vcc_5v0_sys>;
348*c748c71dSLiu Changjie		vcc4-supply = <&vcc_5v0_sys>;
349*c748c71dSLiu Changjie		vcc5-supply = <&vcc_5v0_sys>;
350*c748c71dSLiu Changjie		vcc6-supply = <&vcc_5v0_sys>;
351*c748c71dSLiu Changjie		vcc7-supply = <&vcc_5v0_sys>;
352*c748c71dSLiu Changjie		vcc8-supply = <&vcc_5v0_sys>;
353*c748c71dSLiu Changjie		vcc9-supply = <&vcc_5v0_sys>;
354*c748c71dSLiu Changjie		vcc10-supply = <&vcc_5v0_sys>;
355*c748c71dSLiu Changjie		vcc11-supply = <&vcc_2v0_pldo_s3>;
356*c748c71dSLiu Changjie		vcc12-supply = <&vcc_5v0_sys>;
357*c748c71dSLiu Changjie		vcc13-supply = <&vcc_1v1_nldo_s3>;
358*c748c71dSLiu Changjie		vcc14-supply = <&vcc_1v1_nldo_s3>;
359*c748c71dSLiu Changjie		vcca-supply = <&vcc_5v0_sys>;
360*c748c71dSLiu Changjie
361*c748c71dSLiu Changjie		rk806_dvs1_null: dvs1-null-pins {
362*c748c71dSLiu Changjie			pins = "gpio_pwrctrl1";
363*c748c71dSLiu Changjie			function = "pin_fun0";
364*c748c71dSLiu Changjie		};
365*c748c71dSLiu Changjie
366*c748c71dSLiu Changjie		rk806_dvs2_null: dvs2-null-pins {
367*c748c71dSLiu Changjie			pins = "gpio_pwrctrl2";
368*c748c71dSLiu Changjie			function = "pin_fun0";
369*c748c71dSLiu Changjie		};
370*c748c71dSLiu Changjie
371*c748c71dSLiu Changjie		rk806_dvs3_null: dvs3-null-pins {
372*c748c71dSLiu Changjie			pins = "gpio_pwrctrl3";
373*c748c71dSLiu Changjie			function = "pin_fun0";
374*c748c71dSLiu Changjie		};
375*c748c71dSLiu Changjie
376*c748c71dSLiu Changjie		regulators {
377*c748c71dSLiu Changjie			vdd_cpu_big_s0: dcdc-reg1 {
378*c748c71dSLiu Changjie				regulator-always-on;
379*c748c71dSLiu Changjie				regulator-boot-on;
380*c748c71dSLiu Changjie				regulator-enable-ramp-delay = <400>;
381*c748c71dSLiu Changjie				regulator-min-microvolt = <550000>;
382*c748c71dSLiu Changjie				regulator-max-microvolt = <950000>;
383*c748c71dSLiu Changjie				regulator-name = "vdd_cpu_big_s0";
384*c748c71dSLiu Changjie				regulator-ramp-delay = <12500>;
385*c748c71dSLiu Changjie
386*c748c71dSLiu Changjie				regulator-state-mem {
387*c748c71dSLiu Changjie					regulator-off-in-suspend;
388*c748c71dSLiu Changjie				};
389*c748c71dSLiu Changjie			};
390*c748c71dSLiu Changjie
391*c748c71dSLiu Changjie			vdd_npu_s0: dcdc-reg2 {
392*c748c71dSLiu Changjie				regulator-boot-on;
393*c748c71dSLiu Changjie				regulator-enable-ramp-delay = <400>;
394*c748c71dSLiu Changjie				regulator-min-microvolt = <550000>;
395*c748c71dSLiu Changjie				regulator-max-microvolt = <950000>;
396*c748c71dSLiu Changjie				regulator-name = "vdd_npu_s0";
397*c748c71dSLiu Changjie				regulator-ramp-delay = <12500>;
398*c748c71dSLiu Changjie
399*c748c71dSLiu Changjie				regulator-state-mem {
400*c748c71dSLiu Changjie					regulator-off-in-suspend;
401*c748c71dSLiu Changjie				};
402*c748c71dSLiu Changjie			};
403*c748c71dSLiu Changjie
404*c748c71dSLiu Changjie			vdd_cpu_lit_s0: dcdc-reg3 {
405*c748c71dSLiu Changjie				regulator-always-on;
406*c748c71dSLiu Changjie				regulator-boot-on;
407*c748c71dSLiu Changjie				regulator-min-microvolt = <550000>;
408*c748c71dSLiu Changjie				regulator-max-microvolt = <950000>;
409*c748c71dSLiu Changjie				regulator-name = "vdd_cpu_lit_s0";
410*c748c71dSLiu Changjie				regulator-ramp-delay = <12500>;
411*c748c71dSLiu Changjie
412*c748c71dSLiu Changjie				regulator-state-mem {
413*c748c71dSLiu Changjie					regulator-off-in-suspend;
414*c748c71dSLiu Changjie				};
415*c748c71dSLiu Changjie			};
416*c748c71dSLiu Changjie
417*c748c71dSLiu Changjie			vcc_3v3_s3: dcdc-reg4 {
418*c748c71dSLiu Changjie				regulator-always-on;
419*c748c71dSLiu Changjie				regulator-boot-on;
420*c748c71dSLiu Changjie				regulator-min-microvolt = <3300000>;
421*c748c71dSLiu Changjie				regulator-max-microvolt = <3300000>;
422*c748c71dSLiu Changjie				regulator-name = "vcc_3v3_s3";
423*c748c71dSLiu Changjie
424*c748c71dSLiu Changjie				regulator-state-mem {
425*c748c71dSLiu Changjie					regulator-on-in-suspend;
426*c748c71dSLiu Changjie				};
427*c748c71dSLiu Changjie			};
428*c748c71dSLiu Changjie
429*c748c71dSLiu Changjie			vdd_gpu_s0: dcdc-reg5 {
430*c748c71dSLiu Changjie				regulator-boot-on;
431*c748c71dSLiu Changjie				regulator-enable-ramp-delay = <400>;
432*c748c71dSLiu Changjie				regulator-min-microvolt = <550000>;
433*c748c71dSLiu Changjie				regulator-max-microvolt = <900000>;
434*c748c71dSLiu Changjie				regulator-name = "vdd_gpu_s0";
435*c748c71dSLiu Changjie				regulator-ramp-delay = <12500>;
436*c748c71dSLiu Changjie
437*c748c71dSLiu Changjie				regulator-state-mem {
438*c748c71dSLiu Changjie					regulator-off-in-suspend;
439*c748c71dSLiu Changjie				};
440*c748c71dSLiu Changjie			};
441*c748c71dSLiu Changjie
442*c748c71dSLiu Changjie			vddq_ddr_s0: dcdc-reg6 {
443*c748c71dSLiu Changjie				regulator-always-on;
444*c748c71dSLiu Changjie				regulator-boot-on;
445*c748c71dSLiu Changjie				regulator-name = "vddq_ddr_s0";
446*c748c71dSLiu Changjie
447*c748c71dSLiu Changjie				regulator-state-mem {
448*c748c71dSLiu Changjie					regulator-off-in-suspend;
449*c748c71dSLiu Changjie				};
450*c748c71dSLiu Changjie			};
451*c748c71dSLiu Changjie
452*c748c71dSLiu Changjie			vdd_logic_s0: dcdc-reg7 {
453*c748c71dSLiu Changjie				regulator-always-on;
454*c748c71dSLiu Changjie				regulator-boot-on;
455*c748c71dSLiu Changjie				regulator-min-microvolt = <550000>;
456*c748c71dSLiu Changjie				regulator-max-microvolt = <800000>;
457*c748c71dSLiu Changjie				regulator-name = "vdd_logic_s0";
458*c748c71dSLiu Changjie
459*c748c71dSLiu Changjie				regulator-state-mem {
460*c748c71dSLiu Changjie					regulator-off-in-suspend;
461*c748c71dSLiu Changjie				};
462*c748c71dSLiu Changjie			};
463*c748c71dSLiu Changjie
464*c748c71dSLiu Changjie			vcc_1v8_s3: dcdc-reg8 {
465*c748c71dSLiu Changjie				regulator-always-on;
466*c748c71dSLiu Changjie				regulator-boot-on;
467*c748c71dSLiu Changjie				regulator-min-microvolt = <1800000>;
468*c748c71dSLiu Changjie				regulator-max-microvolt = <1800000>;
469*c748c71dSLiu Changjie				regulator-name = "vcc_1v8_s3";
470*c748c71dSLiu Changjie
471*c748c71dSLiu Changjie				regulator-state-mem {
472*c748c71dSLiu Changjie					regulator-on-in-suspend;
473*c748c71dSLiu Changjie				};
474*c748c71dSLiu Changjie			};
475*c748c71dSLiu Changjie
476*c748c71dSLiu Changjie			vdd2_ddr_s3: dcdc-reg9 {
477*c748c71dSLiu Changjie				regulator-always-on;
478*c748c71dSLiu Changjie				regulator-boot-on;
479*c748c71dSLiu Changjie				regulator-name = "vdd2_ddr_s3";
480*c748c71dSLiu Changjie
481*c748c71dSLiu Changjie				regulator-state-mem {
482*c748c71dSLiu Changjie					regulator-on-in-suspend;
483*c748c71dSLiu Changjie				};
484*c748c71dSLiu Changjie			};
485*c748c71dSLiu Changjie
486*c748c71dSLiu Changjie			vdd_ddr_s0: dcdc-reg10 {
487*c748c71dSLiu Changjie				regulator-always-on;
488*c748c71dSLiu Changjie				regulator-boot-on;
489*c748c71dSLiu Changjie				regulator-min-microvolt = <550000>;
490*c748c71dSLiu Changjie				regulator-max-microvolt = <1200000>;
491*c748c71dSLiu Changjie				regulator-name = "vdd_ddr_s0";
492*c748c71dSLiu Changjie
493*c748c71dSLiu Changjie				regulator-state-mem {
494*c748c71dSLiu Changjie					regulator-off-in-suspend;
495*c748c71dSLiu Changjie				};
496*c748c71dSLiu Changjie			};
497*c748c71dSLiu Changjie
498*c748c71dSLiu Changjie			vcca_1v8_s0: pldo-reg1 {
499*c748c71dSLiu Changjie				regulator-always-on;
500*c748c71dSLiu Changjie				regulator-boot-on;
501*c748c71dSLiu Changjie				regulator-min-microvolt = <1800000>;
502*c748c71dSLiu Changjie				regulator-max-microvolt = <1800000>;
503*c748c71dSLiu Changjie				regulator-name = "vcca_1v8_s0";
504*c748c71dSLiu Changjie
505*c748c71dSLiu Changjie				regulator-state-mem {
506*c748c71dSLiu Changjie					regulator-off-in-suspend;
507*c748c71dSLiu Changjie				};
508*c748c71dSLiu Changjie			};
509*c748c71dSLiu Changjie
510*c748c71dSLiu Changjie			vcca1v8_pldo2_s0: pldo-reg2 {
511*c748c71dSLiu Changjie				regulator-always-on;
512*c748c71dSLiu Changjie				regulator-boot-on;
513*c748c71dSLiu Changjie				regulator-min-microvolt = <1800000>;
514*c748c71dSLiu Changjie				regulator-max-microvolt = <1800000>;
515*c748c71dSLiu Changjie				regulator-name = "vcca1v8_pldo2_s0";
516*c748c71dSLiu Changjie
517*c748c71dSLiu Changjie				regulator-state-mem {
518*c748c71dSLiu Changjie					regulator-off-in-suspend;
519*c748c71dSLiu Changjie				};
520*c748c71dSLiu Changjie			};
521*c748c71dSLiu Changjie
522*c748c71dSLiu Changjie			vdda_1v2_s0: pldo-reg3 {
523*c748c71dSLiu Changjie				regulator-always-on;
524*c748c71dSLiu Changjie				regulator-boot-on;
525*c748c71dSLiu Changjie				regulator-min-microvolt = <1200000>;
526*c748c71dSLiu Changjie				regulator-max-microvolt = <1200000>;
527*c748c71dSLiu Changjie				regulator-name = "vdda_1v2_s0";
528*c748c71dSLiu Changjie
529*c748c71dSLiu Changjie				regulator-state-mem {
530*c748c71dSLiu Changjie					regulator-off-in-suspend;
531*c748c71dSLiu Changjie				};
532*c748c71dSLiu Changjie			};
533*c748c71dSLiu Changjie
534*c748c71dSLiu Changjie			vcca_3v3_s0: pldo-reg4 {
535*c748c71dSLiu Changjie				regulator-always-on;
536*c748c71dSLiu Changjie				regulator-boot-on;
537*c748c71dSLiu Changjie				regulator-min-microvolt = <3300000>;
538*c748c71dSLiu Changjie				regulator-max-microvolt = <3300000>;
539*c748c71dSLiu Changjie				regulator-name = "vcca_3v3_s0";
540*c748c71dSLiu Changjie
541*c748c71dSLiu Changjie				regulator-state-mem {
542*c748c71dSLiu Changjie					regulator-off-in-suspend;
543*c748c71dSLiu Changjie				};
544*c748c71dSLiu Changjie			};
545*c748c71dSLiu Changjie
546*c748c71dSLiu Changjie			vccio_sd_s0: pldo-reg5 {
547*c748c71dSLiu Changjie				regulator-always-on;
548*c748c71dSLiu Changjie				regulator-boot-on;
549*c748c71dSLiu Changjie				regulator-min-microvolt = <1800000>;
550*c748c71dSLiu Changjie				regulator-max-microvolt = <3300000>;
551*c748c71dSLiu Changjie				regulator-name = "vccio_sd_s0";
552*c748c71dSLiu Changjie
553*c748c71dSLiu Changjie				regulator-state-mem {
554*c748c71dSLiu Changjie					regulator-off-in-suspend;
555*c748c71dSLiu Changjie				};
556*c748c71dSLiu Changjie			};
557*c748c71dSLiu Changjie
558*c748c71dSLiu Changjie			vcca1v8_pldo6_s3: pldo-reg6 {
559*c748c71dSLiu Changjie				regulator-always-on;
560*c748c71dSLiu Changjie				regulator-boot-on;
561*c748c71dSLiu Changjie				regulator-min-microvolt = <1800000>;
562*c748c71dSLiu Changjie				regulator-max-microvolt = <1800000>;
563*c748c71dSLiu Changjie				regulator-name = "vcca1v8_pldo6_s3";
564*c748c71dSLiu Changjie
565*c748c71dSLiu Changjie				regulator-state-mem {
566*c748c71dSLiu Changjie					regulator-on-in-suspend;
567*c748c71dSLiu Changjie				};
568*c748c71dSLiu Changjie			};
569*c748c71dSLiu Changjie
570*c748c71dSLiu Changjie			vdd_0v75_s3: nldo-reg1 {
571*c748c71dSLiu Changjie				regulator-always-on;
572*c748c71dSLiu Changjie				regulator-boot-on;
573*c748c71dSLiu Changjie				regulator-min-microvolt = <750000>;
574*c748c71dSLiu Changjie				regulator-max-microvolt = <750000>;
575*c748c71dSLiu Changjie				regulator-name = "vdd_0v75_s3";
576*c748c71dSLiu Changjie
577*c748c71dSLiu Changjie				regulator-state-mem {
578*c748c71dSLiu Changjie					regulator-on-in-suspend;
579*c748c71dSLiu Changjie				};
580*c748c71dSLiu Changjie			};
581*c748c71dSLiu Changjie
582*c748c71dSLiu Changjie			vdda_ddr_pll_s0: nldo-reg2 {
583*c748c71dSLiu Changjie				regulator-always-on;
584*c748c71dSLiu Changjie				regulator-boot-on;
585*c748c71dSLiu Changjie				regulator-min-microvolt = <850000>;
586*c748c71dSLiu Changjie				regulator-max-microvolt = <850000>;
587*c748c71dSLiu Changjie				regulator-name = "vdda_ddr_pll_s0";
588*c748c71dSLiu Changjie
589*c748c71dSLiu Changjie				regulator-state-mem {
590*c748c71dSLiu Changjie					regulator-off-in-suspend;
591*c748c71dSLiu Changjie				};
592*c748c71dSLiu Changjie			};
593*c748c71dSLiu Changjie
594*c748c71dSLiu Changjie			vdda_hdmi_s0: nldo-reg3 {
595*c748c71dSLiu Changjie				regulator-always-on;
596*c748c71dSLiu Changjie				regulator-boot-on;
597*c748c71dSLiu Changjie				regulator-min-microvolt = <837500>;
598*c748c71dSLiu Changjie				regulator-max-microvolt = <837500>;
599*c748c71dSLiu Changjie				regulator-name = "vdda_hdmi_s0";
600*c748c71dSLiu Changjie
601*c748c71dSLiu Changjie				regulator-state-mem {
602*c748c71dSLiu Changjie					regulator-off-in-suspend;
603*c748c71dSLiu Changjie				};
604*c748c71dSLiu Changjie			};
605*c748c71dSLiu Changjie
606*c748c71dSLiu Changjie			vdda_0v85_s0: nldo-reg4 {
607*c748c71dSLiu Changjie				regulator-always-on;
608*c748c71dSLiu Changjie				regulator-boot-on;
609*c748c71dSLiu Changjie				regulator-min-microvolt = <850000>;
610*c748c71dSLiu Changjie				regulator-max-microvolt = <850000>;
611*c748c71dSLiu Changjie				regulator-name = "vdda_0v85_s0";
612*c748c71dSLiu Changjie
613*c748c71dSLiu Changjie				regulator-state-mem {
614*c748c71dSLiu Changjie					regulator-off-in-suspend;
615*c748c71dSLiu Changjie				};
616*c748c71dSLiu Changjie			};
617*c748c71dSLiu Changjie
618*c748c71dSLiu Changjie			vdda_0v75_s0: nldo-reg5 {
619*c748c71dSLiu Changjie				regulator-always-on;
620*c748c71dSLiu Changjie				regulator-boot-on;
621*c748c71dSLiu Changjie				regulator-min-microvolt = <750000>;
622*c748c71dSLiu Changjie				regulator-max-microvolt = <750000>;
623*c748c71dSLiu Changjie				regulator-name = "vdda_0v75_s0";
624*c748c71dSLiu Changjie
625*c748c71dSLiu Changjie				regulator-state-mem {
626*c748c71dSLiu Changjie					regulator-off-in-suspend;
627*c748c71dSLiu Changjie				};
628*c748c71dSLiu Changjie			};
629*c748c71dSLiu Changjie		};
630*c748c71dSLiu Changjie	};
631*c748c71dSLiu Changjie};
632*c748c71dSLiu Changjie
633*c748c71dSLiu Changjie&i2c2 {
634*c748c71dSLiu Changjie	status = "okay";
635*c748c71dSLiu Changjie
636*c748c71dSLiu Changjie	typec@22 {
637*c748c71dSLiu Changjie		compatible = "fcs,fusb302";
638*c748c71dSLiu Changjie		reg = <0x22>;
639*c748c71dSLiu Changjie		interrupt-parent = <&gpio0>;
640*c748c71dSLiu Changjie		interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
641*c748c71dSLiu Changjie		pinctrl-names = "default";
642*c748c71dSLiu Changjie		pinctrl-0 = <&fusb302_int>;
643*c748c71dSLiu Changjie		vbus-supply = <&vcc_5v0_typec>;
644*c748c71dSLiu Changjie
645*c748c71dSLiu Changjie		connector {
646*c748c71dSLiu Changjie			compatible = "usb-c-connector";
647*c748c71dSLiu Changjie			data-role = "host";
648*c748c71dSLiu Changjie			label = "USB-C";
649*c748c71dSLiu Changjie			power-role = "source";
650*c748c71dSLiu Changjie			source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
651*c748c71dSLiu Changjie
652*c748c71dSLiu Changjie			ports {
653*c748c71dSLiu Changjie				#address-cells = <1>;
654*c748c71dSLiu Changjie				#size-cells = <0>;
655*c748c71dSLiu Changjie
656*c748c71dSLiu Changjie				port@0 {
657*c748c71dSLiu Changjie					reg = <0>;
658*c748c71dSLiu Changjie
659*c748c71dSLiu Changjie					usb_c_hs: endpoint {
660*c748c71dSLiu Changjie						remote-endpoint = <&usb_drd0_hs>;
661*c748c71dSLiu Changjie					};
662*c748c71dSLiu Changjie				};
663*c748c71dSLiu Changjie
664*c748c71dSLiu Changjie				port@1 {
665*c748c71dSLiu Changjie					reg = <1>;
666*c748c71dSLiu Changjie
667*c748c71dSLiu Changjie					usb_c_ss: endpoint {
668*c748c71dSLiu Changjie						remote-endpoint = <&usbdp_phy_ep>;
669*c748c71dSLiu Changjie					};
670*c748c71dSLiu Changjie				};
671*c748c71dSLiu Changjie			};
672*c748c71dSLiu Changjie		};
673*c748c71dSLiu Changjie	};
674*c748c71dSLiu Changjie
675*c748c71dSLiu Changjie	hym8563: rtc@51 {
676*c748c71dSLiu Changjie		compatible = "haoyu,hym8563";
677*c748c71dSLiu Changjie		reg = <0x51>;
678*c748c71dSLiu Changjie		#clock-cells = <0>;
679*c748c71dSLiu Changjie		clock-output-names = "hym8563";
680*c748c71dSLiu Changjie		interrupt-parent = <&gpio0>;
681*c748c71dSLiu Changjie		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
682*c748c71dSLiu Changjie		pinctrl-names = "default";
683*c748c71dSLiu Changjie		pinctrl-0 = <&rtc_int_l>;
684*c748c71dSLiu Changjie		wakeup-source;
685*c748c71dSLiu Changjie	};
686*c748c71dSLiu Changjie};
687*c748c71dSLiu Changjie
688*c748c71dSLiu Changjie&mdio0 {
689*c748c71dSLiu Changjie	rgmii_phy0: ethernet-phy@1 {
690*c748c71dSLiu Changjie		compatible = "ethernet-phy-id7b74.4412";
691*c748c71dSLiu Changjie		reg = <0x1>;
692*c748c71dSLiu Changjie		pinctrl-names = "default";
693*c748c71dSLiu Changjie		pinctrl-0 = <&gmac0_phy_reset>;
694*c748c71dSLiu Changjie		reset-assert-us = <20000>;
695*c748c71dSLiu Changjie		reset-deassert-us = <100000>;
696*c748c71dSLiu Changjie		reset-gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
697*c748c71dSLiu Changjie	};
698*c748c71dSLiu Changjie};
699*c748c71dSLiu Changjie
700*c748c71dSLiu Changjie&pinctrl {
701*c748c71dSLiu Changjie	ethernet {
702*c748c71dSLiu Changjie		gmac0_phy_reset: gmac0-phy-reset {
703*c748c71dSLiu Changjie			rockchip,pins = <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
704*c748c71dSLiu Changjie		};
705*c748c71dSLiu Changjie	};
706*c748c71dSLiu Changjie
707*c748c71dSLiu Changjie	minipcie {
708*c748c71dSLiu Changjie		minipcie_pwren: minipcie-pwren {
709*c748c71dSLiu Changjie			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
710*c748c71dSLiu Changjie		};
711*c748c71dSLiu Changjie	};
712*c748c71dSLiu Changjie
713*c748c71dSLiu Changjie	rtc {
714*c748c71dSLiu Changjie		rtc_int_l: rtc-int-l {
715*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
716*c748c71dSLiu Changjie		};
717*c748c71dSLiu Changjie	};
718*c748c71dSLiu Changjie
719*c748c71dSLiu Changjie	wireless-bluetooth {
720*c748c71dSLiu Changjie		bt_host_wake_h: bt-host-wake-h {
721*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>;
722*c748c71dSLiu Changjie		};
723*c748c71dSLiu Changjie
724*c748c71dSLiu Changjie		bt_reg_on_h: bt-reg-on-h {
725*c748c71dSLiu Changjie			rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
726*c748c71dSLiu Changjie		};
727*c748c71dSLiu Changjie
728*c748c71dSLiu Changjie		bt_wake_h: bt-wake-h {
729*c748c71dSLiu Changjie			rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
730*c748c71dSLiu Changjie		};
731*c748c71dSLiu Changjie	};
732*c748c71dSLiu Changjie
733*c748c71dSLiu Changjie	wireless-wlan {
734*c748c71dSLiu Changjie		wifi_host_wake_h: wifi-host-wake-h {
735*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
736*c748c71dSLiu Changjie		};
737*c748c71dSLiu Changjie
738*c748c71dSLiu Changjie		wifi_pwren_l: wifi-pwren-l {
739*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
740*c748c71dSLiu Changjie		};
741*c748c71dSLiu Changjie
742*c748c71dSLiu Changjie		wifi_reg_on_h: wifi-reg-on-h {
743*c748c71dSLiu Changjie			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
744*c748c71dSLiu Changjie		};
745*c748c71dSLiu Changjie	};
746*c748c71dSLiu Changjie
747*c748c71dSLiu Changjie	sdmmc {
748*c748c71dSLiu Changjie		sdmmc0_det_l: sdmmc0-det-l {
749*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
750*c748c71dSLiu Changjie		};
751*c748c71dSLiu Changjie	};
752*c748c71dSLiu Changjie
753*c748c71dSLiu Changjie	usb-host {
754*c748c71dSLiu Changjie		usb2_host_pwren: usb2-host-pwren {
755*c748c71dSLiu Changjie			rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
756*c748c71dSLiu Changjie		};
757*c748c71dSLiu Changjie
758*c748c71dSLiu Changjie		usb3_host_pwren: usb3-host-pwren {
759*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
760*c748c71dSLiu Changjie		};
761*c748c71dSLiu Changjie	};
762*c748c71dSLiu Changjie
763*c748c71dSLiu Changjie	usb-typec {
764*c748c71dSLiu Changjie		fusb302_int: fusb302-int {
765*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
766*c748c71dSLiu Changjie		};
767*c748c71dSLiu Changjie
768*c748c71dSLiu Changjie		typec_vbus_en: typec-vbus-en {
769*c748c71dSLiu Changjie			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
770*c748c71dSLiu Changjie		};
771*c748c71dSLiu Changjie	};
772*c748c71dSLiu Changjie};
773*c748c71dSLiu Changjie
774*c748c71dSLiu Changjie&sai6 {
775*c748c71dSLiu Changjie	rockchip,sai-tx-route = <0>;
776*c748c71dSLiu Changjie	status = "okay";
777*c748c71dSLiu Changjie};
778*c748c71dSLiu Changjie
779*c748c71dSLiu Changjie&saradc {
780*c748c71dSLiu Changjie	vref-supply = <&vcca1v8_pldo2_s0>;
781*c748c71dSLiu Changjie	status = "okay";
782*c748c71dSLiu Changjie};
783*c748c71dSLiu Changjie
784*c748c71dSLiu Changjie&sata0 {
785*c748c71dSLiu Changjie	target-supply = <&vcc_3v3_minipcie>;
786*c748c71dSLiu Changjie	status = "okay";
787*c748c71dSLiu Changjie};
788*c748c71dSLiu Changjie
789*c748c71dSLiu Changjie&sdio {
790*c748c71dSLiu Changjie	bus-width = <4>;
791*c748c71dSLiu Changjie	cap-sd-highspeed;
792*c748c71dSLiu Changjie	cap-sdio-irq;
793*c748c71dSLiu Changjie	keep-power-in-suspend;
794*c748c71dSLiu Changjie	max-frequency = <100000000>;
795*c748c71dSLiu Changjie	mmc-pwrseq = <&sdio_pwrseq>;
796*c748c71dSLiu Changjie	no-mmc;
797*c748c71dSLiu Changjie	no-sd;
798*c748c71dSLiu Changjie	non-removable;
799*c748c71dSLiu Changjie	sd-uhs-sdr104;
800*c748c71dSLiu Changjie	vmmc-supply = <&vcc_3v3_wl>;
801*c748c71dSLiu Changjie	#address-cells = <1>;
802*c748c71dSLiu Changjie	#size-cells = <0>;
803*c748c71dSLiu Changjie	status = "okay";
804*c748c71dSLiu Changjie
805*c748c71dSLiu Changjie	wifi@1 {
806*c748c71dSLiu Changjie		compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
807*c748c71dSLiu Changjie		reg = <1>;
808*c748c71dSLiu Changjie		interrupt-parent = <&gpio0>;
809*c748c71dSLiu Changjie		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_HIGH>;
810*c748c71dSLiu Changjie		interrupt-names = "host-wake";
811*c748c71dSLiu Changjie		pinctrl-names = "default";
812*c748c71dSLiu Changjie		pinctrl-0 = <&wifi_host_wake_h>;
813*c748c71dSLiu Changjie	};
814*c748c71dSLiu Changjie};
815*c748c71dSLiu Changjie
816*c748c71dSLiu Changjie&sdmmc {
817*c748c71dSLiu Changjie	bus-width = <4>;
818*c748c71dSLiu Changjie	cap-sd-highspeed;
819*c748c71dSLiu Changjie	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
820*c748c71dSLiu Changjie	disable-wp;
821*c748c71dSLiu Changjie	max-frequency = <50000000>;
822*c748c71dSLiu Changjie	no-mmc;
823*c748c71dSLiu Changjie	no-sdio;
824*c748c71dSLiu Changjie	pinctrl-names = "default";
825*c748c71dSLiu Changjie	/* GPIO0_B6/SDMMC0_PWREN is not connected on this board. */
826*c748c71dSLiu Changjie	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det_l &sdmmc0_bus4>;
827*c748c71dSLiu Changjie	vmmc-supply = <&vcc_3v3_s0>;
828*c748c71dSLiu Changjie	vqmmc-supply = <&vccio_sd_s0>;
829*c748c71dSLiu Changjie	status = "okay";
830*c748c71dSLiu Changjie};
831*c748c71dSLiu Changjie
832*c748c71dSLiu Changjie&sdhci {
833*c748c71dSLiu Changjie	bus-width = <8>;
834*c748c71dSLiu Changjie	full-pwr-cycle-in-suspend;
835*c748c71dSLiu Changjie	mmc-hs400-1_8v;
836*c748c71dSLiu Changjie	mmc-hs400-enhanced-strobe;
837*c748c71dSLiu Changjie	no-sd;
838*c748c71dSLiu Changjie	no-sdio;
839*c748c71dSLiu Changjie	non-removable;
840*c748c71dSLiu Changjie	vmmc-supply = <&vcc_3v3_s3>;
841*c748c71dSLiu Changjie	vqmmc-supply = <&vcc_1v8_s3>;
842*c748c71dSLiu Changjie	status = "okay";
843*c748c71dSLiu Changjie};
844*c748c71dSLiu Changjie
845*c748c71dSLiu Changjie&tsadc {
846*c748c71dSLiu Changjie	status = "okay";
847*c748c71dSLiu Changjie};
848*c748c71dSLiu Changjie
849*c748c71dSLiu Changjie&uart0 {
850*c748c71dSLiu Changjie	status = "okay";
851*c748c71dSLiu Changjie};
852*c748c71dSLiu Changjie
853*c748c71dSLiu Changjie&uart6 {
854*c748c71dSLiu Changjie	pinctrl-names = "default";
855*c748c71dSLiu Changjie	pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
856*c748c71dSLiu Changjie	uart-has-rtscts;
857*c748c71dSLiu Changjie	status = "okay";
858*c748c71dSLiu Changjie
859*c748c71dSLiu Changjie	bluetooth {
860*c748c71dSLiu Changjie		compatible = "brcm,bcm4345c5";
861*c748c71dSLiu Changjie		clocks = <&hym8563>;
862*c748c71dSLiu Changjie		clock-names = "lpo";
863*c748c71dSLiu Changjie		device-wakeup-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
864*c748c71dSLiu Changjie		interrupt-parent = <&gpio0>;
865*c748c71dSLiu Changjie		interrupts = <RK_PB1 IRQ_TYPE_LEVEL_HIGH>;
866*c748c71dSLiu Changjie		interrupt-names = "host-wakeup";
867*c748c71dSLiu Changjie		max-speed = <1500000>;
868*c748c71dSLiu Changjie		pinctrl-names = "default";
869*c748c71dSLiu Changjie		pinctrl-0 = <&bt_host_wake_h &bt_reg_on_h &bt_wake_h>;
870*c748c71dSLiu Changjie		shutdown-gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
871*c748c71dSLiu Changjie		vbat-supply = <&vcc_3v3_wl>;
872*c748c71dSLiu Changjie	};
873*c748c71dSLiu Changjie};
874*c748c71dSLiu Changjie
875*c748c71dSLiu Changjie&u2phy0 {
876*c748c71dSLiu Changjie	status = "okay";
877*c748c71dSLiu Changjie};
878*c748c71dSLiu Changjie
879*c748c71dSLiu Changjie&u2phy0_otg {
880*c748c71dSLiu Changjie	status = "okay";
881*c748c71dSLiu Changjie};
882*c748c71dSLiu Changjie
883*c748c71dSLiu Changjie&u2phy1 {
884*c748c71dSLiu Changjie	status = "okay";
885*c748c71dSLiu Changjie};
886*c748c71dSLiu Changjie
887*c748c71dSLiu Changjie&u2phy1_otg {
888*c748c71dSLiu Changjie	status = "okay";
889*c748c71dSLiu Changjie};
890*c748c71dSLiu Changjie
891*c748c71dSLiu Changjie&usbdp_phy {
892*c748c71dSLiu Changjie	mode-switch;
893*c748c71dSLiu Changjie	orientation-switch;
894*c748c71dSLiu Changjie	status = "okay";
895*c748c71dSLiu Changjie
896*c748c71dSLiu Changjie	port {
897*c748c71dSLiu Changjie		usbdp_phy_ep: endpoint {
898*c748c71dSLiu Changjie			remote-endpoint = <&usb_c_ss>;
899*c748c71dSLiu Changjie		};
900*c748c71dSLiu Changjie	};
901*c748c71dSLiu Changjie};
902*c748c71dSLiu Changjie
903*c748c71dSLiu Changjie&usb_drd0_dwc3 {
904*c748c71dSLiu Changjie	usb-role-switch;
905*c748c71dSLiu Changjie	status = "okay";
906*c748c71dSLiu Changjie
907*c748c71dSLiu Changjie	ports {
908*c748c71dSLiu Changjie		#address-cells = <1>;
909*c748c71dSLiu Changjie		#size-cells = <0>;
910*c748c71dSLiu Changjie
911*c748c71dSLiu Changjie		port@0 {
912*c748c71dSLiu Changjie			reg = <0>;
913*c748c71dSLiu Changjie
914*c748c71dSLiu Changjie			usb_drd0_hs: endpoint {
915*c748c71dSLiu Changjie				remote-endpoint = <&usb_c_hs>;
916*c748c71dSLiu Changjie			};
917*c748c71dSLiu Changjie		};
918*c748c71dSLiu Changjie	};
919*c748c71dSLiu Changjie};
920*c748c71dSLiu Changjie
921*c748c71dSLiu Changjie&usb_drd1_dwc3 {
922*c748c71dSLiu Changjie	#address-cells = <1>;
923*c748c71dSLiu Changjie	#size-cells = <0>;
924*c748c71dSLiu Changjie
925*c748c71dSLiu Changjie	dr_mode = "host";
926*c748c71dSLiu Changjie	status = "okay";
927*c748c71dSLiu Changjie
928*c748c71dSLiu Changjie	usb_hub: hub@1 {
929*c748c71dSLiu Changjie		compatible = "usb1a40,0201";
930*c748c71dSLiu Changjie		reg = <1>;
931*c748c71dSLiu Changjie
932*c748c71dSLiu Changjie		ports {
933*c748c71dSLiu Changjie			#address-cells = <1>;
934*c748c71dSLiu Changjie			#size-cells = <0>;
935*c748c71dSLiu Changjie
936*c748c71dSLiu Changjie			port@1 {
937*c748c71dSLiu Changjie				reg = <1>;
938*c748c71dSLiu Changjie
939*c748c71dSLiu Changjie				usb_hub_port1: endpoint {
940*c748c71dSLiu Changjie					remote-endpoint = <&usb_a_3_0_hs>;
941*c748c71dSLiu Changjie				};
942*c748c71dSLiu Changjie			};
943*c748c71dSLiu Changjie
944*c748c71dSLiu Changjie			port@2 {
945*c748c71dSLiu Changjie				reg = <2>;
946*c748c71dSLiu Changjie
947*c748c71dSLiu Changjie				usb_hub_port2: endpoint {
948*c748c71dSLiu Changjie					remote-endpoint = <&usb_a_2_0_1_hs>;
949*c748c71dSLiu Changjie				};
950*c748c71dSLiu Changjie			};
951*c748c71dSLiu Changjie
952*c748c71dSLiu Changjie			port@3 {
953*c748c71dSLiu Changjie				reg = <3>;
954*c748c71dSLiu Changjie
955*c748c71dSLiu Changjie				usb_hub_port3: endpoint {
956*c748c71dSLiu Changjie					remote-endpoint = <&usb_a_2_0_2_hs>;
957*c748c71dSLiu Changjie				};
958*c748c71dSLiu Changjie			};
959*c748c71dSLiu Changjie
960*c748c71dSLiu Changjie			port@4 {
961*c748c71dSLiu Changjie				reg = <4>;
962*c748c71dSLiu Changjie
963*c748c71dSLiu Changjie				usb_hub_port4: endpoint {
964*c748c71dSLiu Changjie					remote-endpoint = <&usb_a_2_0_3_hs>;
965*c748c71dSLiu Changjie				};
966*c748c71dSLiu Changjie			};
967*c748c71dSLiu Changjie		};
968*c748c71dSLiu Changjie	};
969*c748c71dSLiu Changjie
970*c748c71dSLiu Changjie	ports {
971*c748c71dSLiu Changjie		#address-cells = <1>;
972*c748c71dSLiu Changjie		#size-cells = <0>;
973*c748c71dSLiu Changjie
974*c748c71dSLiu Changjie		port@1 {
975*c748c71dSLiu Changjie			reg = <1>;
976*c748c71dSLiu Changjie
977*c748c71dSLiu Changjie			usb_drd1_ss: endpoint {
978*c748c71dSLiu Changjie				remote-endpoint = <&usb_a_3_0_ss>;
979*c748c71dSLiu Changjie			};
980*c748c71dSLiu Changjie		};
981*c748c71dSLiu Changjie	};
982*c748c71dSLiu Changjie};
983*c748c71dSLiu Changjie
984*c748c71dSLiu Changjie&vop {
985*c748c71dSLiu Changjie	status = "okay";
986*c748c71dSLiu Changjie};
987*c748c71dSLiu Changjie
988*c748c71dSLiu Changjie&vop_mmu {
989*c748c71dSLiu Changjie	status = "okay";
990*c748c71dSLiu Changjie};
991*c748c71dSLiu Changjie
992*c748c71dSLiu Changjie&vp0 {
993*c748c71dSLiu Changjie	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
994*c748c71dSLiu Changjie		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
995*c748c71dSLiu Changjie		remote-endpoint = <&hdmi_in_vp0>;
996*c748c71dSLiu Changjie	};
997*c748c71dSLiu Changjie};
998