xref: /linux/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts (revision 2e1b3cc9d7f790145a80cb705b168f05dab65df2)
1904f9832SAndy Yan// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2904f9832SAndy Yan/*
3904f9832SAndy Yan * Copyright (c) 2022 Fuzhou Rockchip Electronics Co., Ltd.
4904f9832SAndy Yan */
5904f9832SAndy Yan
6904f9832SAndy Yan/dts-v1/;
7904f9832SAndy Yan#include <dt-bindings/input/linux-event-codes.h>
8904f9832SAndy Yan#include <dt-bindings/pwm/pwm.h>
9904f9832SAndy Yan#include <dt-bindings/usb/pd.h>
10904f9832SAndy Yan#include "rk3399.dtsi"
11904f9832SAndy Yan
12904f9832SAndy Yan/ {
13904f9832SAndy Yan	model = "OPEN AI LAB EAIDK-610";
14904f9832SAndy Yan	compatible = "openailab,eaidk-610", "rockchip,rk3399";
15904f9832SAndy Yan
16904f9832SAndy Yan	aliases {
175d90cb1eSDragan Simic		ethernet0 = &gmac;
18904f9832SAndy Yan		mmc0 = &sdio0;
19904f9832SAndy Yan		mmc1 = &sdmmc;
20904f9832SAndy Yan		mmc2 = &sdhci;
21904f9832SAndy Yan	};
22904f9832SAndy Yan
23904f9832SAndy Yan	backlight: backlight {
24904f9832SAndy Yan		compatible = "pwm-backlight";
25904f9832SAndy Yan		pwms = <&pwm0 0 25000 0>;
26904f9832SAndy Yan		brightness-levels = <
27904f9832SAndy Yan			  0   1   2   3   4   5   6   7
28904f9832SAndy Yan			  8   9  10  11  12  13  14  15
29904f9832SAndy Yan			 16  17  18  19  20  21  22  23
30904f9832SAndy Yan			 24  25  26  27  28  29  30  31
31904f9832SAndy Yan			 32  33  34  35  36  37  38  39
32904f9832SAndy Yan			 40  41  42  43  44  45  46  47
33904f9832SAndy Yan			 48  49  50  51  52  53  54  55
34904f9832SAndy Yan			 56  57  58  59  60  61  62  63
35904f9832SAndy Yan			 64  65  66  67  68  69  70  71
36904f9832SAndy Yan			 72  73  74  75  76  77  78  79
37904f9832SAndy Yan			 80  81  82  83  84  85  86  87
38904f9832SAndy Yan			 88  89  90  91  92  93  94  95
39904f9832SAndy Yan			 96  97  98  99 100 101 102 103
40904f9832SAndy Yan			104 105 106 107 108 109 110 111
41904f9832SAndy Yan			112 113 114 115 116 117 118 119
42904f9832SAndy Yan			120 121 122 123 124 125 126 127
43904f9832SAndy Yan			128 129 130 131 132 133 134 135
44904f9832SAndy Yan			136 137 138 139 140 141 142 143
45904f9832SAndy Yan			144 145 146 147 148 149 150 151
46904f9832SAndy Yan			152 153 154 155 156 157 158 159
47904f9832SAndy Yan			160 161 162 163 164 165 166 167
48904f9832SAndy Yan			168 169 170 171 172 173 174 175
49904f9832SAndy Yan			176 177 178 179 180 181 182 183
50904f9832SAndy Yan			184 185 186 187 188 189 190 191
51904f9832SAndy Yan			192 193 194 195 196 197 198 199
52904f9832SAndy Yan			200 201 202 203 204 205 206 207
53904f9832SAndy Yan			208 209 210 211 212 213 214 215
54904f9832SAndy Yan			216 217 218 219 220 221 222 223
55904f9832SAndy Yan			224 225 226 227 228 229 230 231
56904f9832SAndy Yan			232 233 234 235 236 237 238 239
57904f9832SAndy Yan			240 241 242 243 244 245 246 247
58904f9832SAndy Yan			248 249 250 251 252 253 254 255>;
59904f9832SAndy Yan		default-brightness-level = <200>;
60904f9832SAndy Yan	};
61904f9832SAndy Yan
62904f9832SAndy Yan	clkin_gmac: external-gmac-clock {
63904f9832SAndy Yan		compatible = "fixed-clock";
64904f9832SAndy Yan		clock-frequency = <125000000>;
65904f9832SAndy Yan		clock-output-names = "clkin_gmac";
66904f9832SAndy Yan		#clock-cells = <0>;
67904f9832SAndy Yan	};
68904f9832SAndy Yan
69904f9832SAndy Yan	dc_12v: dc-12v {
70904f9832SAndy Yan		compatible = "regulator-fixed";
71904f9832SAndy Yan		regulator-name = "dc_12v";
72904f9832SAndy Yan		regulator-always-on;
73904f9832SAndy Yan		regulator-boot-on;
74904f9832SAndy Yan		regulator-min-microvolt = <12000000>;
75904f9832SAndy Yan		regulator-max-microvolt = <12000000>;
76904f9832SAndy Yan	};
77904f9832SAndy Yan
78904f9832SAndy Yan	gpio-keys {
79904f9832SAndy Yan		compatible = "gpio-keys";
80904f9832SAndy Yan		autorepeat;
81904f9832SAndy Yan		pinctrl-names = "default";
82904f9832SAndy Yan		pinctrl-0 = <&pwrbtn>;
83904f9832SAndy Yan
84904f9832SAndy Yan		key-power {
85904f9832SAndy Yan			debounce-interval = <100>;
86904f9832SAndy Yan			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
87904f9832SAndy Yan			label = "GPIO Key Power";
88904f9832SAndy Yan			linux,code = <KEY_POWER>;
89904f9832SAndy Yan			wakeup-source;
90904f9832SAndy Yan		};
91904f9832SAndy Yan	};
92904f9832SAndy Yan
93904f9832SAndy Yan	leds {
94904f9832SAndy Yan		compatible = "gpio-leds";
95904f9832SAndy Yan		pinctrl-names = "default";
96904f9832SAndy Yan		pinctrl-0 = <&work_led_pin>, <&user_led_pin>,
97904f9832SAndy Yan			    <&heartbeat_led_pin>, <&wlan_active_led_pin>,
98904f9832SAndy Yan			    <&bt_active_led_pin>;
99904f9832SAndy Yan
100904f9832SAndy Yan		work_led: led-0 {
101904f9832SAndy Yan			label = "blue:work";
102904f9832SAndy Yan			default-state = "on";
103904f9832SAndy Yan			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
104904f9832SAndy Yan		};
105904f9832SAndy Yan
106904f9832SAndy Yan		user_led: led-1 {
107904f9832SAndy Yan			label = "read:user";
108904f9832SAndy Yan			default-state = "off";
109904f9832SAndy Yan			gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
110904f9832SAndy Yan		};
111904f9832SAndy Yan
112904f9832SAndy Yan		heartbeat_led: led-2 {
113904f9832SAndy Yan			label = "green:heartbeat";
114904f9832SAndy Yan			linux,default-trigger = "heartbeat";
115904f9832SAndy Yan			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
116904f9832SAndy Yan		};
117904f9832SAndy Yan
118904f9832SAndy Yan		wlan_active_led: led-3 {
119904f9832SAndy Yan			label = "yellow:wlan";
120904f9832SAndy Yan			gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
121904f9832SAndy Yan			linux,default-trigger = "phy0tx";
122904f9832SAndy Yan			default-state = "off";
123904f9832SAndy Yan		};
124904f9832SAndy Yan
125904f9832SAndy Yan		bt_active_led: led-4 {
126904f9832SAndy Yan			label = "blue:bt";
127904f9832SAndy Yan			gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
128904f9832SAndy Yan			linux,default-trigger = "hci0-power";
129904f9832SAndy Yan			default-state = "off";
130904f9832SAndy Yan		};
131904f9832SAndy Yan	};
132904f9832SAndy Yan
133904f9832SAndy Yan	rt5651-sound {
134904f9832SAndy Yan		compatible = "simple-audio-card";
135904f9832SAndy Yan		simple-audio-card,name = "realtek,rt5651-codec";
136904f9832SAndy Yan		simple-audio-card,format = "i2s";
137904f9832SAndy Yan		simple-audio-card,mclk-fs = <256>;
138904f9832SAndy Yan		simple-audio-card,widgets =
139904f9832SAndy Yan			"Microphone", "Mic Jack",
140904f9832SAndy Yan			"Headphone", "Headphone Jack";
141904f9832SAndy Yan		simple-audio-card,routing =
142904f9832SAndy Yan			"Mic Jack", "MICBIAS1",
143904f9832SAndy Yan			"IN1P", "Mic Jack",
144904f9832SAndy Yan			"Headphone Jack", "HPOL",
145904f9832SAndy Yan			"Headphone Jack", "HPOR";
146904f9832SAndy Yan		simple-audio-card,cpu {
147904f9832SAndy Yan			sound-dai = <&i2s1>;
148904f9832SAndy Yan		};
149904f9832SAndy Yan		simple-audio-card,codec {
150904f9832SAndy Yan			sound-dai = <&rt5651>;
151904f9832SAndy Yan		};
152904f9832SAndy Yan	};
153904f9832SAndy Yan
154904f9832SAndy Yan	sdio_pwrseq: sdio-pwrseq {
155904f9832SAndy Yan		compatible = "mmc-pwrseq-simple";
156904f9832SAndy Yan		clocks = <&rk808 1>;
157904f9832SAndy Yan		clock-names = "ext_clock";
158904f9832SAndy Yan		pinctrl-names = "default";
159904f9832SAndy Yan		pinctrl-0 = <&wifi_enable_h>;
160904f9832SAndy Yan
161904f9832SAndy Yan		/*
162904f9832SAndy Yan		 * On the module itself this is one of these (depending
163904f9832SAndy Yan		 * on the actual card populated):
164904f9832SAndy Yan		 * - SDIO_RESET_L_WL_REG_ON
165904f9832SAndy Yan		 * - PDN (power down when low)
166904f9832SAndy Yan		 */
167904f9832SAndy Yan		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
168904f9832SAndy Yan	};
169904f9832SAndy Yan
170904f9832SAndy Yan	/* switched by pmic_sleep */
171904f9832SAndy Yan	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
172904f9832SAndy Yan		compatible = "regulator-fixed";
173904f9832SAndy Yan		regulator-name = "vcc1v8_s3";
174904f9832SAndy Yan		regulator-always-on;
175904f9832SAndy Yan		regulator-boot-on;
176904f9832SAndy Yan		regulator-min-microvolt = <1800000>;
177904f9832SAndy Yan		regulator-max-microvolt = <1800000>;
178904f9832SAndy Yan		vin-supply = <&vcc_1v8>;
179904f9832SAndy Yan	};
180904f9832SAndy Yan
181904f9832SAndy Yan	vcc3v3_sys: vcc3v3-sys {
182904f9832SAndy Yan		compatible = "regulator-fixed";
183904f9832SAndy Yan		regulator-name = "vcc3v3_sys";
184904f9832SAndy Yan		regulator-always-on;
185904f9832SAndy Yan		regulator-boot-on;
186904f9832SAndy Yan		regulator-min-microvolt = <3300000>;
187904f9832SAndy Yan		regulator-max-microvolt = <3300000>;
188904f9832SAndy Yan		vin-supply = <&dc_12v>;
189904f9832SAndy Yan	};
190904f9832SAndy Yan
191904f9832SAndy Yan	vcc5v0_sys: vcc5v0-sys {
192904f9832SAndy Yan		compatible = "regulator-fixed";
193904f9832SAndy Yan		regulator-name = "vcc5v0_sys";
194904f9832SAndy Yan		regulator-always-on;
195904f9832SAndy Yan		regulator-boot-on;
196904f9832SAndy Yan		regulator-min-microvolt = <5000000>;
197904f9832SAndy Yan		regulator-max-microvolt = <5000000>;
198904f9832SAndy Yan		vin-supply = <&dc_12v>;
199904f9832SAndy Yan	};
200904f9832SAndy Yan
201904f9832SAndy Yan	/* For USB3.0 Port1/2 */
202904f9832SAndy Yan	vcc5v0_host1: vcc5v0-host1-regulator {
203904f9832SAndy Yan		compatible = "regulator-fixed";
204904f9832SAndy Yan		enable-active-high;
205904f9832SAndy Yan		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
206904f9832SAndy Yan		pinctrl-names = "default";
207904f9832SAndy Yan		pinctrl-0 = <&vcc5v0_host1_en>;
208904f9832SAndy Yan		regulator-name = "vcc5v0_host1";
209904f9832SAndy Yan		regulator-always-on;
210904f9832SAndy Yan		vin-supply = <&vcc5v0_sys>;
211904f9832SAndy Yan	};
212904f9832SAndy Yan
213904f9832SAndy Yan	/* For USB2.0 Port1/2 */
214904f9832SAndy Yan	vcc5v0_host3: vcc5v0-host3-regulator {
215904f9832SAndy Yan		compatible = "regulator-fixed";
216904f9832SAndy Yan		enable-active-high;
217904f9832SAndy Yan		gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
218904f9832SAndy Yan		pinctrl-names = "default";
219904f9832SAndy Yan		pinctrl-0 = <&vcc5v0_host3_en>;
220904f9832SAndy Yan		regulator-name = "vcc5v0_host3";
221904f9832SAndy Yan		regulator-always-on;
222904f9832SAndy Yan		vin-supply = <&vcc5v0_sys>;
223904f9832SAndy Yan	};
224904f9832SAndy Yan
225904f9832SAndy Yan	vcc5v0_typec: vcc5v0-typec-regulator {
226904f9832SAndy Yan		compatible = "regulator-fixed";
227904f9832SAndy Yan		enable-active-high;
228904f9832SAndy Yan		gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
229904f9832SAndy Yan		pinctrl-names = "default";
230904f9832SAndy Yan		pinctrl-0 = <&vcc5v0_typec_en>;
231904f9832SAndy Yan		regulator-name = "vcc5v0_typec";
232904f9832SAndy Yan		regulator-always-on;
233904f9832SAndy Yan		vin-supply = <&vcc3v3_sys>;
234904f9832SAndy Yan	};
235904f9832SAndy Yan
236904f9832SAndy Yan	vdd_log: vdd-log {
237904f9832SAndy Yan		compatible = "regulator-fixed";
238904f9832SAndy Yan		regulator-name = "vdd_log";
239904f9832SAndy Yan		regulator-always-on;
240904f9832SAndy Yan		regulator-boot-on;
241904f9832SAndy Yan		regulator-min-microvolt = <900000>;
242904f9832SAndy Yan		regulator-max-microvolt = <900000>;
243904f9832SAndy Yan	};
244904f9832SAndy Yan};
245904f9832SAndy Yan
246904f9832SAndy Yan&cpu_l0 {
247904f9832SAndy Yan	cpu-supply = <&vdd_cpu_l>;
248904f9832SAndy Yan};
249904f9832SAndy Yan
250904f9832SAndy Yan&cpu_l1 {
251904f9832SAndy Yan	cpu-supply = <&vdd_cpu_l>;
252904f9832SAndy Yan};
253904f9832SAndy Yan
254904f9832SAndy Yan&cpu_l2 {
255904f9832SAndy Yan	cpu-supply = <&vdd_cpu_l>;
256904f9832SAndy Yan};
257904f9832SAndy Yan
258904f9832SAndy Yan&cpu_l3 {
259904f9832SAndy Yan	cpu-supply = <&vdd_cpu_l>;
260904f9832SAndy Yan};
261904f9832SAndy Yan
262904f9832SAndy Yan&cpu_b0 {
263904f9832SAndy Yan	cpu-supply = <&vdd_cpu_b>;
264904f9832SAndy Yan};
265904f9832SAndy Yan
266904f9832SAndy Yan&cpu_b1 {
267904f9832SAndy Yan	cpu-supply = <&vdd_cpu_b>;
268904f9832SAndy Yan};
269904f9832SAndy Yan
270904f9832SAndy Yan&emmc_phy {
271904f9832SAndy Yan	status = "okay";
272904f9832SAndy Yan};
273904f9832SAndy Yan
274904f9832SAndy Yan&gmac {
275904f9832SAndy Yan	assigned-clocks = <&cru SCLK_RMII_SRC>;
276904f9832SAndy Yan	assigned-clock-parents = <&clkin_gmac>;
277904f9832SAndy Yan	clock_in_out = "input";
278904f9832SAndy Yan	phy-supply = <&vcc_lan>;
279904f9832SAndy Yan	phy-mode = "rgmii";
280904f9832SAndy Yan	pinctrl-names = "default";
281904f9832SAndy Yan	pinctrl-0 = <&rgmii_pins>;
282904f9832SAndy Yan	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
283904f9832SAndy Yan	snps,reset-active-low;
284904f9832SAndy Yan	snps,reset-delays-us = <0 10000 50000>;
285904f9832SAndy Yan	tx_delay = <0x28>;
286904f9832SAndy Yan	rx_delay = <0x11>;
287904f9832SAndy Yan	status = "okay";
288904f9832SAndy Yan};
289904f9832SAndy Yan
290904f9832SAndy Yan&gpu {
291904f9832SAndy Yan	mali-supply = <&vdd_gpu>;
292904f9832SAndy Yan	status = "okay";
293904f9832SAndy Yan};
294904f9832SAndy Yan
295904f9832SAndy Yan&hdmi {
296904f9832SAndy Yan	ddc-i2c-bus = <&i2c3>;
297904f9832SAndy Yan	pinctrl-names = "default";
298904f9832SAndy Yan	pinctrl-0 = <&hdmi_cec>;
299904f9832SAndy Yan	status = "okay";
300904f9832SAndy Yan};
301904f9832SAndy Yan
302904f9832SAndy Yan&i2c0 {
303904f9832SAndy Yan	status = "okay";
304904f9832SAndy Yan
305904f9832SAndy Yan	rk808: pmic@1b {
306904f9832SAndy Yan		compatible = "rockchip,rk808";
307904f9832SAndy Yan		reg = <0x1b>;
308904f9832SAndy Yan		interrupt-parent = <&gpio1>;
309904f9832SAndy Yan		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
310904f9832SAndy Yan		pinctrl-names = "default";
311904f9832SAndy Yan		pinctrl-0 = <&pmic_int_l>;
312904f9832SAndy Yan		rockchip,system-power-controller;
313904f9832SAndy Yan		wakeup-source;
314904f9832SAndy Yan		#clock-cells = <1>;
315904f9832SAndy Yan		clock-output-names = "xin32k", "rk808-clkout2";
316904f9832SAndy Yan
317904f9832SAndy Yan		vcc1-supply = <&vcc3v3_sys>;
318904f9832SAndy Yan		vcc2-supply = <&vcc3v3_sys>;
319904f9832SAndy Yan		vcc3-supply = <&vcc3v3_sys>;
320904f9832SAndy Yan		vcc4-supply = <&vcc3v3_sys>;
321904f9832SAndy Yan		vcc6-supply = <&vcc3v3_sys>;
322904f9832SAndy Yan		vcc7-supply = <&vcc3v3_sys>;
323904f9832SAndy Yan		vcc8-supply = <&vcc3v3_sys>;
324904f9832SAndy Yan		vcc9-supply = <&vcc3v3_sys>;
325904f9832SAndy Yan		vcc10-supply = <&vcc3v3_sys>;
326904f9832SAndy Yan		vcc11-supply = <&vcc3v3_sys>;
327904f9832SAndy Yan		vcc12-supply = <&vcc3v3_sys>;
328904f9832SAndy Yan		vddio-supply = <&vcc_3v0>;
329904f9832SAndy Yan
330904f9832SAndy Yan		regulators {
331904f9832SAndy Yan			vdd_center: DCDC_REG1 {
332904f9832SAndy Yan				regulator-name = "vdd_center";
333904f9832SAndy Yan				regulator-min-microvolt = <750000>;
334904f9832SAndy Yan				regulator-max-microvolt = <1350000>;
335904f9832SAndy Yan				regulator-ramp-delay = <6001>;
336904f9832SAndy Yan				regulator-always-on;
337904f9832SAndy Yan				regulator-boot-on;
338904f9832SAndy Yan
339904f9832SAndy Yan				regulator-state-mem {
340904f9832SAndy Yan					regulator-off-in-suspend;
341904f9832SAndy Yan				};
342904f9832SAndy Yan			};
343904f9832SAndy Yan
344904f9832SAndy Yan			vdd_cpu_l: DCDC_REG2 {
345904f9832SAndy Yan				regulator-name = "vdd_cpu_l";
346904f9832SAndy Yan				regulator-min-microvolt = <750000>;
347904f9832SAndy Yan				regulator-max-microvolt = <1350000>;
348904f9832SAndy Yan				regulator-ramp-delay = <6001>;
349904f9832SAndy Yan				regulator-always-on;
350904f9832SAndy Yan				regulator-boot-on;
351904f9832SAndy Yan
352904f9832SAndy Yan				regulator-state-mem {
353904f9832SAndy Yan					regulator-off-in-suspend;
354904f9832SAndy Yan				};
355904f9832SAndy Yan			};
356904f9832SAndy Yan
357904f9832SAndy Yan			vcc_ddr: DCDC_REG3 {
358904f9832SAndy Yan				regulator-name = "vcc_ddr";
359904f9832SAndy Yan				regulator-always-on;
360904f9832SAndy Yan				regulator-boot-on;
361904f9832SAndy Yan				regulator-state-mem {
362904f9832SAndy Yan					regulator-on-in-suspend;
363904f9832SAndy Yan				};
364904f9832SAndy Yan			};
365904f9832SAndy Yan
366904f9832SAndy Yan			vcc_1v8: DCDC_REG4 {
367904f9832SAndy Yan				regulator-name = "vcc_1v8";
368904f9832SAndy Yan				regulator-min-microvolt = <1800000>;
369904f9832SAndy Yan				regulator-max-microvolt = <1800000>;
370904f9832SAndy Yan				regulator-always-on;
371904f9832SAndy Yan				regulator-boot-on;
372904f9832SAndy Yan
373904f9832SAndy Yan				regulator-state-mem {
374904f9832SAndy Yan					regulator-on-in-suspend;
375904f9832SAndy Yan					regulator-suspend-microvolt = <1800000>;
376904f9832SAndy Yan				};
377904f9832SAndy Yan			};
378904f9832SAndy Yan
379904f9832SAndy Yan			vcc1v8_dvp: LDO_REG1 {
380904f9832SAndy Yan				regulator-name = "vcc1v8_dvp";
381904f9832SAndy Yan				regulator-min-microvolt = <1800000>;
382904f9832SAndy Yan				regulator-max-microvolt = <1800000>;
383904f9832SAndy Yan				regulator-always-on;
384904f9832SAndy Yan				regulator-boot-on;
385904f9832SAndy Yan
386904f9832SAndy Yan				regulator-state-mem {
387904f9832SAndy Yan					regulator-off-in-suspend;
388904f9832SAndy Yan				};
389904f9832SAndy Yan			};
390904f9832SAndy Yan
391904f9832SAndy Yan			vcc2v8_dvp: LDO_REG2 {
392904f9832SAndy Yan				regulator-name = "vcc2v8_dvp";
393904f9832SAndy Yan				regulator-min-microvolt = <2800000>;
394904f9832SAndy Yan				regulator-max-microvolt = <2800000>;
395904f9832SAndy Yan				regulator-always-on;
396904f9832SAndy Yan				regulator-boot-on;
397904f9832SAndy Yan
398904f9832SAndy Yan				regulator-state-mem {
399904f9832SAndy Yan					regulator-off-in-suspend;
400904f9832SAndy Yan				};
401904f9832SAndy Yan			};
402904f9832SAndy Yan
403904f9832SAndy Yan			vcc1v8_pmu: LDO_REG3 {
404904f9832SAndy Yan				regulator-name = "vcc1v8_pmu";
405904f9832SAndy Yan				regulator-min-microvolt = <1800000>;
406904f9832SAndy Yan				regulator-max-microvolt = <1800000>;
407904f9832SAndy Yan				regulator-always-on;
408904f9832SAndy Yan				regulator-boot-on;
409904f9832SAndy Yan
410904f9832SAndy Yan				regulator-state-mem {
411904f9832SAndy Yan					regulator-on-in-suspend;
412904f9832SAndy Yan					regulator-suspend-microvolt = <1800000>;
413904f9832SAndy Yan				};
414904f9832SAndy Yan			};
415904f9832SAndy Yan
416904f9832SAndy Yan			vcc_sdio: LDO_REG4 {
417904f9832SAndy Yan				regulator-name = "vcc_sdio";
418904f9832SAndy Yan				regulator-min-microvolt = <1800000>;
419904f9832SAndy Yan				regulator-max-microvolt = <3000000>;
420904f9832SAndy Yan				regulator-always-on;
421904f9832SAndy Yan				regulator-boot-on;
422904f9832SAndy Yan
423904f9832SAndy Yan				regulator-state-mem {
424904f9832SAndy Yan					regulator-on-in-suspend;
425904f9832SAndy Yan					regulator-suspend-microvolt = <3000000>;
426904f9832SAndy Yan				};
427904f9832SAndy Yan			};
428904f9832SAndy Yan
429904f9832SAndy Yan			vcca3v0_codec: LDO_REG5 {
430904f9832SAndy Yan				regulator-name = "vcca3v0_codec";
431904f9832SAndy Yan				regulator-min-microvolt = <3000000>;
432904f9832SAndy Yan				regulator-max-microvolt = <3000000>;
433904f9832SAndy Yan				regulator-always-on;
434904f9832SAndy Yan				regulator-boot-on;
435904f9832SAndy Yan
436904f9832SAndy Yan				regulator-state-mem {
437904f9832SAndy Yan					regulator-off-in-suspend;
438904f9832SAndy Yan				};
439904f9832SAndy Yan			};
440904f9832SAndy Yan
441904f9832SAndy Yan			vcc_1v5: LDO_REG6 {
442904f9832SAndy Yan				regulator-name = "vcc_1v5";
443904f9832SAndy Yan				regulator-min-microvolt = <1500000>;
444904f9832SAndy Yan				regulator-max-microvolt = <1500000>;
445904f9832SAndy Yan				regulator-always-on;
446904f9832SAndy Yan				regulator-boot-on;
447904f9832SAndy Yan
448904f9832SAndy Yan				regulator-state-mem {
449904f9832SAndy Yan					regulator-on-in-suspend;
450904f9832SAndy Yan					regulator-suspend-microvolt = <1500000>;
451904f9832SAndy Yan				};
452904f9832SAndy Yan			};
453904f9832SAndy Yan
454904f9832SAndy Yan			vcca1v8_codec: LDO_REG7 {
455904f9832SAndy Yan				regulator-name = "vcca1v8_codec";
456904f9832SAndy Yan				regulator-min-microvolt = <1800000>;
457904f9832SAndy Yan				regulator-max-microvolt = <1800000>;
458904f9832SAndy Yan				regulator-always-on;
459904f9832SAndy Yan				regulator-boot-on;
460904f9832SAndy Yan
461904f9832SAndy Yan				regulator-state-mem {
462904f9832SAndy Yan					regulator-off-in-suspend;
463904f9832SAndy Yan				};
464904f9832SAndy Yan			};
465904f9832SAndy Yan
466904f9832SAndy Yan			vcc_3v0: LDO_REG8 {
467904f9832SAndy Yan				regulator-name = "vcc_3v0";
468904f9832SAndy Yan				regulator-min-microvolt = <3000000>;
469904f9832SAndy Yan				regulator-max-microvolt = <3000000>;
470904f9832SAndy Yan				regulator-always-on;
471904f9832SAndy Yan				regulator-boot-on;
472904f9832SAndy Yan
473904f9832SAndy Yan				regulator-state-mem {
474904f9832SAndy Yan					regulator-on-in-suspend;
475904f9832SAndy Yan					regulator-suspend-microvolt = <3000000>;
476904f9832SAndy Yan				};
477904f9832SAndy Yan			};
478904f9832SAndy Yan
479904f9832SAndy Yan			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
480904f9832SAndy Yan				regulator-name = "vcc3v3_s3";
481904f9832SAndy Yan				regulator-always-on;
482904f9832SAndy Yan				regulator-boot-on;
483904f9832SAndy Yan				regulator-state-mem {
484904f9832SAndy Yan					regulator-off-in-suspend;
485904f9832SAndy Yan				};
486904f9832SAndy Yan			};
487904f9832SAndy Yan
488904f9832SAndy Yan			vcc3v3_s0: SWITCH_REG2 {
489904f9832SAndy Yan				regulator-name = "vcc3v3_s0";
490904f9832SAndy Yan				regulator-always-on;
491904f9832SAndy Yan				regulator-boot-on;
492904f9832SAndy Yan				regulator-state-mem {
493904f9832SAndy Yan					regulator-off-in-suspend;
494904f9832SAndy Yan				};
495904f9832SAndy Yan			};
496904f9832SAndy Yan		};
497904f9832SAndy Yan	};
498904f9832SAndy Yan
499904f9832SAndy Yan	vdd_cpu_b: regulator@40 {
500904f9832SAndy Yan		compatible = "silergy,syr827";
501904f9832SAndy Yan		reg = <0x40>;
502904f9832SAndy Yan		fcs,suspend-voltage-selector = <1>;
503904f9832SAndy Yan		regulator-name = "vdd_cpu_b";
504904f9832SAndy Yan		pinctrl-names = "default";
505904f9832SAndy Yan		pinctrl-0 = <&vsel1_pin>;
506904f9832SAndy Yan		regulator-min-microvolt = <712500>;
507904f9832SAndy Yan		regulator-max-microvolt = <1500000>;
508904f9832SAndy Yan		regulator-ramp-delay = <1000>;
509904f9832SAndy Yan		regulator-always-on;
510904f9832SAndy Yan		regulator-boot-on;
511904f9832SAndy Yan		vin-supply = <&vcc3v3_sys>;
512904f9832SAndy Yan
513904f9832SAndy Yan		regulator-state-mem {
514904f9832SAndy Yan			regulator-off-in-suspend;
515904f9832SAndy Yan		};
516904f9832SAndy Yan	};
517904f9832SAndy Yan
518904f9832SAndy Yan	vdd_gpu: regulator@41 {
519904f9832SAndy Yan		compatible = "silergy,syr828";
520904f9832SAndy Yan		reg = <0x41>;
521904f9832SAndy Yan		fcs,suspend-voltage-selector = <1>;
522904f9832SAndy Yan		regulator-name = "vdd_gpu";
523904f9832SAndy Yan		pinctrl-names = "default";
524904f9832SAndy Yan		pinctrl-0 = <&vsel2_pin>;
525904f9832SAndy Yan		regulator-min-microvolt = <712500>;
526904f9832SAndy Yan		regulator-max-microvolt = <1500000>;
527904f9832SAndy Yan		regulator-ramp-delay = <1000>;
528904f9832SAndy Yan		regulator-always-on;
529904f9832SAndy Yan		regulator-boot-on;
530904f9832SAndy Yan		vin-supply = <&vcc3v3_sys>;
531904f9832SAndy Yan
532904f9832SAndy Yan		regulator-state-mem {
533904f9832SAndy Yan			regulator-off-in-suspend;
534904f9832SAndy Yan		};
535904f9832SAndy Yan	};
536904f9832SAndy Yan};
537904f9832SAndy Yan
538904f9832SAndy Yan&i2c1 {
539904f9832SAndy Yan	i2c-scl-rising-time-ns = <300>;
540904f9832SAndy Yan	i2c-scl-falling-time-ns = <15>;
541904f9832SAndy Yan	status = "okay";
542904f9832SAndy Yan
543904f9832SAndy Yan	rt5651: audio-codec@1a {
544*2f39bba3SGeert Uytterhoeven		compatible = "realtek,rt5651";
545904f9832SAndy Yan		reg = <0x1a>;
546904f9832SAndy Yan		clocks = <&cru SCLK_I2S_8CH_OUT>;
547904f9832SAndy Yan		clock-names = "mclk";
548904f9832SAndy Yan		hp-det-gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
549904f9832SAndy Yan		spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
550904f9832SAndy Yan		#sound-dai-cells = <0>;
551904f9832SAndy Yan	};
552904f9832SAndy Yan
553904f9832SAndy Yan};
554904f9832SAndy Yan
555904f9832SAndy Yan&i2c3 {
556904f9832SAndy Yan	i2c-scl-rising-time-ns = <450>;
557904f9832SAndy Yan	i2c-scl-falling-time-ns = <15>;
558904f9832SAndy Yan	status = "okay";
559904f9832SAndy Yan};
560904f9832SAndy Yan
561904f9832SAndy Yan&i2c4 {
562904f9832SAndy Yan	i2c-scl-rising-time-ns = <600>;
563904f9832SAndy Yan	i2c-scl-falling-time-ns = <20>;
564904f9832SAndy Yan	status = "okay";
565904f9832SAndy Yan
566904f9832SAndy Yan	fusb0: typec-portc@22 {
567904f9832SAndy Yan		compatible = "fcs,fusb302";
568904f9832SAndy Yan		reg = <0x22>;
569904f9832SAndy Yan		interrupt-parent = <&gpio1>;
570904f9832SAndy Yan		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
571904f9832SAndy Yan		pinctrl-names = "default";
572904f9832SAndy Yan		pinctrl-0 = <&fusb0_int>;
573904f9832SAndy Yan		vbus-supply = <&vcc5v0_typec>;
574904f9832SAndy Yan
575904f9832SAndy Yan		ports {
576904f9832SAndy Yan			#address-cells = <1>;
577904f9832SAndy Yan			#size-cells = <0>;
578904f9832SAndy Yan
579904f9832SAndy Yan			port@0 {
580904f9832SAndy Yan				reg = <0>;
581904f9832SAndy Yan				usbc0_role_sw: endpoint@0 {
582904f9832SAndy Yan					remote-endpoint = <&dwc3_0_role_switch>;
583904f9832SAndy Yan				};
584904f9832SAndy Yan			};
585904f9832SAndy Yan		};
586904f9832SAndy Yan
587904f9832SAndy Yan		connector {
588904f9832SAndy Yan			compatible = "usb-c-connector";
589904f9832SAndy Yan			data-role = "dual";
590904f9832SAndy Yan			label = "USB-C";
591904f9832SAndy Yan
592904f9832SAndy Yan			ports {
593904f9832SAndy Yan				#address-cells = <1>;
594904f9832SAndy Yan				#size-cells = <0>;
595904f9832SAndy Yan
596904f9832SAndy Yan				port@0 {
597904f9832SAndy Yan					reg = <0>;
598904f9832SAndy Yan
599904f9832SAndy Yan					usbc_hs: endpoint {
600904f9832SAndy Yan						remote-endpoint = <&u2phy0_typec_hs>;
601904f9832SAndy Yan					};
602904f9832SAndy Yan				};
603904f9832SAndy Yan
604904f9832SAndy Yan				port@1 {
605904f9832SAndy Yan					reg = <1>;
606904f9832SAndy Yan
607904f9832SAndy Yan					usbc_ss: endpoint {
608904f9832SAndy Yan						remote-endpoint = <&tcphy0_typec_ss>;
609904f9832SAndy Yan					};
610904f9832SAndy Yan				};
611904f9832SAndy Yan			};
612904f9832SAndy Yan		};
613904f9832SAndy Yan	};
614904f9832SAndy Yan};
615904f9832SAndy Yan
616904f9832SAndy Yan&i2s1 {
617904f9832SAndy Yan	rockchip,playback-channels = <2>;
618904f9832SAndy Yan	rockchip,capture-channels = <2>;
619904f9832SAndy Yan	status = "okay";
620904f9832SAndy Yan};
621904f9832SAndy Yan
622904f9832SAndy Yan&i2s2 {
623904f9832SAndy Yan	status = "okay";
624904f9832SAndy Yan};
625904f9832SAndy Yan
626904f9832SAndy Yan&io_domains {
627904f9832SAndy Yan	status = "okay";
628904f9832SAndy Yan
629904f9832SAndy Yan	audio-supply = <&vcca1v8_codec>;
630904f9832SAndy Yan	bt656-supply = <&vcc_3v0>;
631904f9832SAndy Yan	gpio1830-supply = <&vcc_3v0>;
632904f9832SAndy Yan	sdmmc-supply = <&vcc_sdio>;
633904f9832SAndy Yan};
634904f9832SAndy Yan
635904f9832SAndy Yan&pmu_io_domains {
636904f9832SAndy Yan	status = "okay";
637904f9832SAndy Yan
638904f9832SAndy Yan	pmu1830-supply = <&vcc_3v0>;
639904f9832SAndy Yan};
640904f9832SAndy Yan
641904f9832SAndy Yan&pinctrl {
642904f9832SAndy Yan	buttons {
643904f9832SAndy Yan		pwrbtn: pwrbtn {
644904f9832SAndy Yan			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
645904f9832SAndy Yan		};
646904f9832SAndy Yan	};
647904f9832SAndy Yan
648904f9832SAndy Yan	bt {
649904f9832SAndy Yan		bt_enable_h: bt-enable-h {
650904f9832SAndy Yan			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
651904f9832SAndy Yan		};
652904f9832SAndy Yan
653904f9832SAndy Yan		bt_host_wake_l: bt-host-wake-l {
654904f9832SAndy Yan			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
655904f9832SAndy Yan		};
656904f9832SAndy Yan
657904f9832SAndy Yan		bt_wake_l: bt-wake-l {
658904f9832SAndy Yan			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
659904f9832SAndy Yan		};
660904f9832SAndy Yan	};
661904f9832SAndy Yan
662904f9832SAndy Yan	fusb302x {
663904f9832SAndy Yan		fusb0_int: fusb0-int {
664904f9832SAndy Yan			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
665904f9832SAndy Yan		};
666904f9832SAndy Yan	};
667904f9832SAndy Yan
668904f9832SAndy Yan	lcd-panel {
669904f9832SAndy Yan		lcd_panel_reset: lcd-panel-reset {
670904f9832SAndy Yan			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
671904f9832SAndy Yan		};
672904f9832SAndy Yan	};
673904f9832SAndy Yan
674904f9832SAndy Yan	leds {
675904f9832SAndy Yan		work_led_pin: work-led-pin {
676904f9832SAndy Yan			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
677904f9832SAndy Yan		};
678904f9832SAndy Yan
679904f9832SAndy Yan		user_led_pin: user-led-pin {
680904f9832SAndy Yan			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
681904f9832SAndy Yan		};
682904f9832SAndy Yan
683904f9832SAndy Yan		heartbeat_led_pin: heartbeat-led-pin {
684904f9832SAndy Yan			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
685904f9832SAndy Yan		};
686904f9832SAndy Yan
687904f9832SAndy Yan		wlan_active_led_pin: wlan-led-pin {
688904f9832SAndy Yan			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
689904f9832SAndy Yan		};
690904f9832SAndy Yan
691904f9832SAndy Yan		bt_active_led_pin: bt-led-pin {
692904f9832SAndy Yan			rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
693904f9832SAndy Yan		};
694904f9832SAndy Yan
695904f9832SAndy Yan
696904f9832SAndy Yan	};
697904f9832SAndy Yan
698904f9832SAndy Yan	pmic {
699904f9832SAndy Yan		pmic_int_l: pmic-int-l {
700904f9832SAndy Yan			rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
701904f9832SAndy Yan		};
702904f9832SAndy Yan
703904f9832SAndy Yan		vsel1_pin: vsel1-pin {
704904f9832SAndy Yan			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
705904f9832SAndy Yan		};
706904f9832SAndy Yan
707904f9832SAndy Yan		vsel2_pin: vsel2-pin {
708904f9832SAndy Yan			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
709904f9832SAndy Yan		};
710904f9832SAndy Yan	};
711904f9832SAndy Yan
712904f9832SAndy Yan	rt5651 {
713904f9832SAndy Yan		rt5651_hpcon: rt5640-hpcon {
714904f9832SAndy Yan			rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
715904f9832SAndy Yan		};
716904f9832SAndy Yan	};
717904f9832SAndy Yan
718904f9832SAndy Yan	sdio-pwrseq {
719904f9832SAndy Yan		wifi_enable_h: wifi-enable-h {
720904f9832SAndy Yan			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
721904f9832SAndy Yan		};
722904f9832SAndy Yan	};
723904f9832SAndy Yan
724904f9832SAndy Yan	usb-typec {
725904f9832SAndy Yan		vcc5v0_typec_en: vcc5v0_typec_en {
726904f9832SAndy Yan			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
727904f9832SAndy Yan		};
728904f9832SAndy Yan	};
729904f9832SAndy Yan
730904f9832SAndy Yan	usb2 {
731904f9832SAndy Yan		vcc5v0_host3_en: vcc5v0-host3-en {
732904f9832SAndy Yan			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
733904f9832SAndy Yan		};
734904f9832SAndy Yan
735904f9832SAndy Yan		vcc5v0_host1_en: vcc5v0-host1-en {
736904f9832SAndy Yan			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
737904f9832SAndy Yan		};
738904f9832SAndy Yan	};
739904f9832SAndy Yan
740904f9832SAndy Yan	wifi {
741904f9832SAndy Yan		wifi_host_wake_l: wifi-host-wake-l {
742904f9832SAndy Yan			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
743904f9832SAndy Yan		};
744904f9832SAndy Yan	};
745904f9832SAndy Yan};
746904f9832SAndy Yan
747904f9832SAndy Yan&pwm0 {
748904f9832SAndy Yan	status = "okay";
749904f9832SAndy Yan};
750904f9832SAndy Yan
751904f9832SAndy Yan&saradc {
752904f9832SAndy Yan	vref-supply = <&vcca1v8_s3>;
753904f9832SAndy Yan	status = "okay";
754904f9832SAndy Yan};
755904f9832SAndy Yan
756904f9832SAndy Yan&sdio0 {
757904f9832SAndy Yan	/* WiFi & BT combo module AMPAK AP6255 */
758904f9832SAndy Yan	#address-cells = <1>;
759904f9832SAndy Yan	#size-cells = <0>;
760904f9832SAndy Yan	bus-width = <4>;
761904f9832SAndy Yan	clock-frequency = <50000000>;
762904f9832SAndy Yan	cap-sdio-irq;
763904f9832SAndy Yan	cap-sd-highspeed;
764904f9832SAndy Yan	keep-power-in-suspend;
765904f9832SAndy Yan	mmc-pwrseq = <&sdio_pwrseq>;
766904f9832SAndy Yan	non-removable;
767904f9832SAndy Yan	pinctrl-names = "default";
768904f9832SAndy Yan	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
769904f9832SAndy Yan	sd-uhs-sdr104;
770904f9832SAndy Yan	status = "okay";
771904f9832SAndy Yan
772904f9832SAndy Yan	brcmf: wifi@1 {
773904f9832SAndy Yan		compatible = "brcm,bcm4329-fmac";
774904f9832SAndy Yan		reg = <1>;
775904f9832SAndy Yan		interrupt-parent = <&gpio0>;
7768183bb7eSKrzysztof Kozlowski		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
777904f9832SAndy Yan		interrupt-names = "host-wake";
778904f9832SAndy Yan		pinctrl-names = "default";
779904f9832SAndy Yan		pinctrl-0 = <&wifi_host_wake_l>;
780904f9832SAndy Yan	};
781904f9832SAndy Yan};
782904f9832SAndy Yan
783904f9832SAndy Yan&sdmmc {
784904f9832SAndy Yan	bus-width = <4>;
785904f9832SAndy Yan	cap-mmc-highspeed;
786904f9832SAndy Yan	cap-sd-highspeed;
787904f9832SAndy Yan	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
788904f9832SAndy Yan	disable-wp;
789904f9832SAndy Yan	max-frequency = <150000000>;
790904f9832SAndy Yan	pinctrl-names = "default";
791904f9832SAndy Yan	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
792904f9832SAndy Yan	status = "okay";
793904f9832SAndy Yan};
794904f9832SAndy Yan
795904f9832SAndy Yan&sdhci {
796904f9832SAndy Yan	bus-width = <8>;
797904f9832SAndy Yan	non-removable;
798904f9832SAndy Yan	status = "okay";
799904f9832SAndy Yan};
800904f9832SAndy Yan
801904f9832SAndy Yan&tcphy0 {
802904f9832SAndy Yan	status = "okay";
803904f9832SAndy Yan};
804904f9832SAndy Yan
805904f9832SAndy Yan&tcphy0_usb3 {
806904f9832SAndy Yan	orientation-switch;
807904f9832SAndy Yan	port {
808904f9832SAndy Yan		tcphy0_typec_ss: endpoint {
809904f9832SAndy Yan			remote-endpoint = <&usbc_ss>;
810904f9832SAndy Yan		};
811904f9832SAndy Yan	};
812904f9832SAndy Yan};
813904f9832SAndy Yan
814904f9832SAndy Yan&tcphy1 {
815904f9832SAndy Yan	status = "okay";
816904f9832SAndy Yan};
817904f9832SAndy Yan
818904f9832SAndy Yan&tsadc {
819904f9832SAndy Yan	/* tshut mode 0:CRU 1:GPIO */
820904f9832SAndy Yan	rockchip,hw-tshut-mode = <1>;
821904f9832SAndy Yan	/* tshut polarity 0:LOW 1:HIGH */
822904f9832SAndy Yan	rockchip,hw-tshut-polarity = <1>;
823904f9832SAndy Yan	status = "okay";
824904f9832SAndy Yan};
825904f9832SAndy Yan
826904f9832SAndy Yan&u2phy0 {
827904f9832SAndy Yan	status = "okay";
828904f9832SAndy Yan
829904f9832SAndy Yan	u2phy0_otg: otg-port {
830904f9832SAndy Yan		status = "okay";
831904f9832SAndy Yan	};
832904f9832SAndy Yan
833904f9832SAndy Yan	u2phy0_host: host-port {
834904f9832SAndy Yan		phy-supply = <&vcc5v0_host3>;
835904f9832SAndy Yan		status = "okay";
836904f9832SAndy Yan	};
837904f9832SAndy Yan
838904f9832SAndy Yan	port {
839904f9832SAndy Yan		u2phy0_typec_hs: endpoint {
840904f9832SAndy Yan			remote-endpoint = <&usbc_hs>;
841904f9832SAndy Yan		};
842904f9832SAndy Yan	};
843904f9832SAndy Yan};
844904f9832SAndy Yan
845904f9832SAndy Yan&u2phy1 {
846904f9832SAndy Yan	status = "okay";
847904f9832SAndy Yan
848904f9832SAndy Yan	u2phy1_otg: otg-port {
849904f9832SAndy Yan		status = "okay";
850904f9832SAndy Yan	};
851904f9832SAndy Yan
852904f9832SAndy Yan	u2phy1_host: host-port {
853904f9832SAndy Yan		phy-supply = <&vcc5v0_host3>;
854904f9832SAndy Yan		status = "okay";
855904f9832SAndy Yan	};
856904f9832SAndy Yan};
857904f9832SAndy Yan
858904f9832SAndy Yan&uart0 {
859904f9832SAndy Yan	pinctrl-names = "default";
860904f9832SAndy Yan	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
861904f9832SAndy Yan	status = "okay";
862904f9832SAndy Yan
863904f9832SAndy Yan	bluetooth {
864904f9832SAndy Yan		compatible = "brcm,bcm4345c5";
865904f9832SAndy Yan		clocks = <&rk808 1>;
866904f9832SAndy Yan		clock-names = "lpo";
867904f9832SAndy Yan		device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
868904f9832SAndy Yan		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
869904f9832SAndy Yan		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
870904f9832SAndy Yan		max-speed = <1500000>;
871904f9832SAndy Yan		pinctrl-names = "default";
872904f9832SAndy Yan		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
873904f9832SAndy Yan		vbat-supply = <&vcc3v3_sys>;
874904f9832SAndy Yan		vddio-supply = <&vcc_1v8>;
875904f9832SAndy Yan	};
876904f9832SAndy Yan};
877904f9832SAndy Yan
878904f9832SAndy Yan&uart2 {
879904f9832SAndy Yan	status = "okay";
880904f9832SAndy Yan};
881904f9832SAndy Yan
882904f9832SAndy Yan&usb_host0_ehci {
883904f9832SAndy Yan	status = "okay";
884904f9832SAndy Yan};
885904f9832SAndy Yan
886904f9832SAndy Yan&usb_host0_ohci {
887904f9832SAndy Yan	status = "okay";
888904f9832SAndy Yan};
889904f9832SAndy Yan
890904f9832SAndy Yan&usb_host1_ehci {
891904f9832SAndy Yan	status = "okay";
892904f9832SAndy Yan};
893904f9832SAndy Yan
894904f9832SAndy Yan&usb_host1_ohci {
895904f9832SAndy Yan	status = "okay";
896904f9832SAndy Yan};
897904f9832SAndy Yan
898904f9832SAndy Yan&usbdrd3_0 {
899904f9832SAndy Yan	status = "okay";
900904f9832SAndy Yan};
901904f9832SAndy Yan
902904f9832SAndy Yan&usbdrd_dwc3_0 {
903904f9832SAndy Yan	status = "okay";
904904f9832SAndy Yan	usb-role-switch;
905904f9832SAndy Yan
906904f9832SAndy Yan	port {
907904f9832SAndy Yan		#address-cells = <1>;
908904f9832SAndy Yan		#size-cells = <0>;
909904f9832SAndy Yan		dwc3_0_role_switch: endpoint@0 {
910904f9832SAndy Yan			reg = <0>;
911904f9832SAndy Yan			remote-endpoint = <&usbc0_role_sw>;
912904f9832SAndy Yan		};
913904f9832SAndy Yan	};
914904f9832SAndy Yan};
915904f9832SAndy Yan
916904f9832SAndy Yan&usbdrd3_1 {
917904f9832SAndy Yan	status = "okay";
918904f9832SAndy Yan};
919904f9832SAndy Yan
920904f9832SAndy Yan&usbdrd_dwc3_1 {
921904f9832SAndy Yan	status = "okay";
922904f9832SAndy Yan	dr_mode = "host";
923904f9832SAndy Yan};
924904f9832SAndy Yan
925904f9832SAndy Yan&vopb {
926904f9832SAndy Yan	status = "okay";
927904f9832SAndy Yan};
928904f9832SAndy Yan
929904f9832SAndy Yan&vopb_mmu {
930904f9832SAndy Yan	status = "okay";
931904f9832SAndy Yan};
932904f9832SAndy Yan
933904f9832SAndy Yan&vopl {
934904f9832SAndy Yan	status = "okay";
935904f9832SAndy Yan};
936904f9832SAndy Yan
937904f9832SAndy Yan&vopl_mmu {
938904f9832SAndy Yan	status = "okay";
939904f9832SAndy Yan};
940