xref: /linux/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts (revision 7255fcc80d4b525cc10cfaaf7f485830d4ed2000)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
4 */
5
6/dts-v1/;
7
8#include "dt-bindings/pwm/pwm.h"
9#include "dt-bindings/input/input.h"
10#include <dt-bindings/interrupt-controller/irq.h>
11#include "dt-bindings/usb/pd.h"
12#include "rk3399.dtsi"
13#include "rk3399-opp.dtsi"
14
15/ {
16	model = "Orange Pi RK3399 Board";
17	compatible = "xunlong,rk3399-orangepi", "rockchip,rk3399";
18
19	aliases {
20		ethernet0 = &gmac;
21		mmc0 = &sdio0;
22		mmc1 = &sdmmc;
23		mmc2 = &sdhci;
24	};
25
26	chosen {
27		stdout-path = "serial2:1500000n8";
28	};
29
30	clkin_gmac: external-gmac-clock {
31		compatible = "fixed-clock";
32		clock-frequency = <125000000>;
33		clock-output-names = "clkin_gmac";
34		#clock-cells = <0>;
35	};
36
37	adc-keys {
38		compatible = "adc-keys";
39		io-channels = <&saradc 1>;
40		io-channel-names = "buttons";
41		keyup-threshold-microvolt = <1800000>;
42		poll-interval = <100>;
43
44		button-up {
45			label = "Volume Up";
46			linux,code = <KEY_VOLUMEUP>;
47			press-threshold-microvolt = <100000>;
48		};
49
50		button-down {
51			label = "Volume Down";
52			linux,code = <KEY_VOLUMEDOWN>;
53			press-threshold-microvolt = <300000>;
54		};
55
56		button-back {
57			label = "Back";
58			linux,code = <KEY_BACK>;
59			press-threshold-microvolt = <985000>;
60		};
61
62		button-menu {
63			label = "Menu";
64			linux,code = <KEY_MENU>;
65			press-threshold-microvolt = <1314000>;
66		};
67	};
68
69	dc_12v: dc-12v {
70		compatible = "regulator-fixed";
71		regulator-name = "dc_12v";
72		regulator-always-on;
73		regulator-boot-on;
74		regulator-min-microvolt = <12000000>;
75		regulator-max-microvolt = <12000000>;
76	};
77
78	keys: gpio-keys {
79		compatible = "gpio-keys";
80		autorepeat;
81
82		key-power {
83			debounce-interval = <100>;
84			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
85			label = "GPIO Power";
86			linux,code = <KEY_POWER>;
87			linux,input-type = <1>;
88			pinctrl-names = "default";
89			pinctrl-0 = <&pwr_btn>;
90			wakeup-source;
91		};
92	};
93
94	sdio_pwrseq: sdio-pwrseq {
95		compatible = "mmc-pwrseq-simple";
96		clocks = <&rk808 1>;
97		clock-names = "ext_clock";
98		pinctrl-names = "default";
99		pinctrl-0 = <&wifi_reg_on_h>;
100		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
101	};
102
103	/* switched by pmic_sleep */
104	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
105		compatible = "regulator-fixed";
106		regulator-name = "vcc1v8_s3";
107		regulator-always-on;
108		regulator-boot-on;
109		regulator-min-microvolt = <1800000>;
110		regulator-max-microvolt = <1800000>;
111		vin-supply = <&vcc_1v8>;
112	};
113
114	vcc3v0_sd: vcc3v0-sd {
115		compatible = "regulator-fixed";
116		enable-active-high;
117		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
118		pinctrl-names = "default";
119		pinctrl-0 = <&sdmmc0_pwr_h>;
120		regulator-boot-on;
121		regulator-max-microvolt = <3000000>;
122		regulator-min-microvolt = <3000000>;
123		regulator-name = "vcc3v0_sd";
124		vin-supply = <&vcc3v3_sys>;
125	};
126
127	vcc3v3_sys: vcc3v3-sys {
128		compatible = "regulator-fixed";
129		regulator-name = "vcc3v3_sys";
130		regulator-always-on;
131		regulator-boot-on;
132		regulator-min-microvolt = <3300000>;
133		regulator-max-microvolt = <3300000>;
134		vin-supply = <&vcc_sys>;
135	};
136
137	vcc5v0_host: vcc5v0-host-regulator {
138		compatible = "regulator-fixed";
139		enable-active-high;
140		gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
141		pinctrl-names = "default";
142		pinctrl-0 = <&vcc5v0_host_en>;
143		regulator-name = "vcc5v0_host";
144		regulator-always-on;
145		vin-supply = <&vcc_sys>;
146	};
147
148	vbus_typec: vbus-typec-regulator {
149		compatible = "regulator-fixed";
150		enable-active-high;
151		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
152		pinctrl-names = "default";
153		pinctrl-0 = <&vcc5v0_typec_en>;
154		regulator-name = "vbus_typec";
155		vin-supply = <&vcc_sys>;
156	};
157
158	vcc_sys: vcc-sys {
159		compatible = "regulator-fixed";
160		regulator-name = "vcc_sys";
161		regulator-always-on;
162		regulator-boot-on;
163		regulator-min-microvolt = <5000000>;
164		regulator-max-microvolt = <5000000>;
165		vin-supply = <&dc_12v>;
166	};
167
168	vdd_log: vdd-log {
169		compatible = "pwm-regulator";
170		pwms = <&pwm2 0 25000 1>;
171		pwm-supply = <&vcc_sys>;
172		regulator-name = "vdd_log";
173		regulator-always-on;
174		regulator-boot-on;
175		regulator-min-microvolt = <800000>;
176		regulator-max-microvolt = <1400000>;
177	};
178};
179
180&cpu_l0 {
181	cpu-supply = <&vdd_cpu_l>;
182};
183
184&cpu_l1 {
185	cpu-supply = <&vdd_cpu_l>;
186};
187
188&cpu_l2 {
189	cpu-supply = <&vdd_cpu_l>;
190};
191
192&cpu_l3 {
193	cpu-supply = <&vdd_cpu_l>;
194};
195
196&cpu_b0 {
197	cpu-supply = <&vdd_cpu_b>;
198};
199
200&cpu_b1 {
201	cpu-supply = <&vdd_cpu_b>;
202};
203
204&emmc_phy {
205	status = "okay";
206};
207
208&gmac {
209	assigned-clocks = <&cru SCLK_RMII_SRC>;
210	assigned-clock-parents = <&clkin_gmac>;
211	clock_in_out = "input";
212	phy-supply = <&vcc3v3_s3>;
213	phy-mode = "rgmii";
214	phy-handle = <&rtl8211e>;
215	pinctrl-names = "default";
216	pinctrl-0 = <&rgmii_pins>, <&phy_intb>, <&phy_rstb>;
217	tx_delay = <0x28>;
218	rx_delay = <0x11>;
219	status = "okay";
220
221	mdio {
222		compatible = "snps,dwmac-mdio";
223		#address-cells = <1>;
224		#size-cells = <0>;
225
226		rtl8211e: ethernet-phy@1 {
227			reg = <1>;
228			interrupt-parent = <&gpio3>;
229			interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
230			reset-assert-us = <10000>;
231			reset-deassert-us = <30000>;
232			reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
233		};
234	};
235};
236
237&gpu {
238	mali-supply = <&vdd_gpu>;
239	status = "okay";
240};
241
242&hdmi {
243	ddc-i2c-bus = <&i2c3>;
244	status = "okay";
245};
246
247&hdmi_sound {
248	status = "okay";
249};
250
251&i2c0 {
252	clock-frequency = <400000>;
253	i2c-scl-rising-time-ns = <168>;
254	i2c-scl-falling-time-ns = <4>;
255	status = "okay";
256
257	rk808: pmic@1b {
258		compatible = "rockchip,rk808";
259		reg = <0x1b>;
260		interrupt-parent = <&gpio1>;
261		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
262		#clock-cells = <1>;
263		clock-output-names = "rtc_clko_soc", "rtc_clko_wifi";
264		pinctrl-names = "default";
265		pinctrl-0 = <&pmic_int_l>;
266		rockchip,system-power-controller;
267		wakeup-source;
268
269		vcc1-supply = <&vcc3v3_sys>;
270		vcc2-supply = <&vcc3v3_sys>;
271		vcc3-supply = <&vcc3v3_sys>;
272		vcc4-supply = <&vcc3v3_sys>;
273		vcc6-supply = <&vcc3v3_sys>;
274		vcc7-supply = <&vcc3v3_sys>;
275		vcc8-supply = <&vcc3v3_sys>;
276		vcc9-supply = <&vcc3v3_sys>;
277		vcc10-supply = <&vcc3v3_sys>;
278		vcc11-supply = <&vcc3v3_sys>;
279		vcc12-supply = <&vcc3v3_sys>;
280		vddio-supply = <&vcc_3v0>;
281
282		regulators {
283			vdd_center: DCDC_REG1 {
284				regulator-name = "vdd_center";
285				regulator-always-on;
286				regulator-boot-on;
287				regulator-min-microvolt = <700000>;
288				regulator-max-microvolt = <1500000>;
289				regulator-ramp-delay = <6001>;
290				regulator-state-mem {
291					regulator-off-in-suspend;
292				};
293			};
294
295			vdd_cpu_l: DCDC_REG2 {
296				regulator-name = "vdd_cpu_l";
297				regulator-always-on;
298				regulator-boot-on;
299				regulator-min-microvolt = <700000>;
300				regulator-max-microvolt = <1500000>;
301				regulator-ramp-delay = <6001>;
302				regulator-state-mem {
303					regulator-off-in-suspend;
304				};
305			};
306
307			vcc_ddr: DCDC_REG3 {
308				regulator-name = "vcc_ddr";
309				regulator-always-on;
310				regulator-boot-on;
311				regulator-state-mem {
312					regulator-on-in-suspend;
313				};
314			};
315
316			vcc_1v8: DCDC_REG4 {
317				regulator-name = "vcc_1v8";
318				regulator-always-on;
319				regulator-boot-on;
320				regulator-min-microvolt = <1800000>;
321				regulator-max-microvolt = <3300000>;
322				regulator-state-mem {
323					regulator-on-in-suspend;
324					regulator-suspend-microvolt = <1800000>;
325				};
326			};
327
328			vcc1v8_dvp: LDO_REG1 {
329				regulator-name = "vcc1v8_dvp";
330				regulator-always-on;
331				regulator-boot-on;
332				regulator-min-microvolt = <1800000>;
333				regulator-max-microvolt = <3400000>;
334				regulator-state-mem {
335					regulator-off-in-suspend;
336				};
337			};
338
339			vcc3v0_tp: LDO_REG2 {
340				regulator-name = "vcc3v0_tp";
341				regulator-always-on;
342				regulator-boot-on;
343				regulator-min-microvolt = <1800000>;
344				regulator-max-microvolt = <3400000>;
345				regulator-state-mem {
346					regulator-off-in-suspend;
347				};
348			};
349
350			vcc1v8_pmupll: LDO_REG3 {
351				regulator-name = "vcc1v8_pmupll";
352				regulator-always-on;
353				regulator-boot-on;
354				regulator-min-microvolt = <800000>;
355				regulator-max-microvolt = <2500000>;
356				regulator-state-mem {
357					regulator-on-in-suspend;
358					regulator-suspend-microvolt = <1800000>;
359				};
360			};
361
362			vcc_sdio: LDO_REG4 {
363				regulator-name = "vcc_sdio";
364				regulator-always-on;
365				regulator-boot-on;
366				regulator-min-microvolt = <1800000>;
367				regulator-max-microvolt = <3400000>;
368				regulator-state-mem {
369					regulator-on-in-suspend;
370					regulator-suspend-microvolt = <3000000>;
371				};
372			};
373
374			vcca3v0_codec: LDO_REG5 {
375				regulator-name = "vcca3v0_codec";
376				regulator-always-on;
377				regulator-boot-on;
378				regulator-min-microvolt = <1800000>;
379				regulator-max-microvolt = <3400000>;
380				regulator-state-mem {
381					regulator-off-in-suspend;
382				};
383			};
384
385			vcc_1v5: LDO_REG6 {
386				regulator-name = "vcc_1v5";
387				regulator-always-on;
388				regulator-boot-on;
389				regulator-min-microvolt = <800000>;
390				regulator-max-microvolt = <2500000>;
391				regulator-state-mem {
392					regulator-on-in-suspend;
393					regulator-suspend-microvolt = <1500000>;
394				};
395			};
396
397			vcca1v8_codec: LDO_REG7 {
398				regulator-name = "vcca1v8_codec";
399				regulator-always-on;
400				regulator-boot-on;
401				regulator-min-microvolt = <800000>;
402				regulator-max-microvolt = <2500000>;
403				regulator-state-mem {
404					regulator-off-in-suspend;
405				};
406			};
407
408			vcc_3v0: LDO_REG8 {
409				regulator-name = "vcc_3v0";
410				regulator-always-on;
411				regulator-boot-on;
412				regulator-min-microvolt = <1800000>;
413				regulator-max-microvolt = <3400000>;
414				regulator-state-mem {
415					regulator-on-in-suspend;
416					regulator-suspend-microvolt = <3000000>;
417				};
418			};
419
420			vcc3v3_s3: SWITCH_REG1 {
421				regulator-name = "vcc3v3_s3";
422				regulator-always-on;
423				regulator-boot-on;
424				regulator-state-mem {
425					regulator-off-in-suspend;
426				};
427			};
428
429			vcc3v3_s0: SWITCH_REG2 {
430				regulator-name = "vcc3v3_s0";
431				regulator-always-on;
432				regulator-boot-on;
433				regulator-state-mem {
434					regulator-off-in-suspend;
435				};
436			};
437		};
438	};
439
440	vdd_cpu_b: regulator@40 {
441		compatible = "silergy,syr827";
442		reg = <0x40>;
443		fcs,suspend-voltage-selector = <1>;
444		pinctrl-names = "default";
445		pinctrl-0 = <&cpu_b_sleep>;
446		regulator-name = "vdd_cpu_b";
447		regulator-min-microvolt = <712500>;
448		regulator-max-microvolt = <1500000>;
449		regulator-ramp-delay = <1000>;
450		regulator-always-on;
451		regulator-boot-on;
452		vin-supply = <&vcc3v3_sys>;
453
454		regulator-state-mem {
455			regulator-off-in-suspend;
456		};
457	};
458
459	vdd_gpu: regulator@41 {
460		compatible = "silergy,syr828";
461		reg = <0x41>;
462		fcs,suspend-voltage-selector = <1>;
463		pinctrl-names = "default";
464		pinctrl-0 = <&gpu_sleep>;
465		regulator-name = "vdd_gpu";
466		regulator-min-microvolt = <712500>;
467		regulator-max-microvolt = <1500000>;
468		regulator-ramp-delay = <1000>;
469		regulator-always-on;
470		regulator-boot-on;
471		vin-supply = <&vcc3v3_sys>;
472
473		regulator-state-mem {
474			regulator-off-in-suspend;
475		};
476	};
477};
478
479&i2c1 {
480	i2c-scl-rising-time-ns = <450>;
481	i2c-scl-falling-time-ns = <15>;
482	status = "okay";
483};
484
485&i2c3 {
486	i2c-scl-rising-time-ns = <450>;
487	i2c-scl-falling-time-ns = <15>;
488	status = "okay";
489};
490
491&i2c4 {
492	clock-frequency = <400000>;
493	i2c-scl-rising-time-ns = <450>;
494	i2c-scl-falling-time-ns = <15>;
495	status = "okay";
496
497	ak09911@c {
498		compatible = "asahi-kasei,ak09911";
499		reg = <0x0c>;
500		vdd-supply = <&vcc3v3_s3>;
501		vid-supply = <&vcc3v3_s3>;
502	};
503
504	mpu6500@68 {
505		compatible = "invensense,mpu6500";
506		reg = <0x68>;
507		interrupt-parent = <&gpio1>;
508		interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>;
509		pinctrl-names = "default";
510		pinctrl-0 = <&gsensor_int_l>;
511		vddio-supply = <&vcc3v3_s3>;
512	};
513
514	lsm6ds3@6a {
515		compatible = "st,lsm6ds3";
516		reg = <0x6a>;
517		interrupt-parent = <&gpio1>;
518		interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>;
519		pinctrl-names = "default";
520		pinctrl-0 = <&gyr_int_l>;
521		vdd-supply = <&vcc3v3_s3>;
522		vddio-supply = <&vcc3v3_s3>;
523	};
524
525	cm32181@10 {
526		compatible = "capella,cm32181";
527		reg = <0x10>;
528		interrupt-parent = <&gpio4>;
529		interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>;
530		pinctrl-names = "default";
531		pinctrl-0 = <&light_int_l>;
532		vdd-supply = <&vcc3v3_s3>;
533	};
534
535	fusb302@22 {
536		compatible = "fcs,fusb302";
537		reg = <0x22>;
538		interrupt-parent = <&gpio1>;
539		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
540		pinctrl-names = "default";
541		pinctrl-0 = <&chg_cc_int_l>;
542		vbus-supply = <&vbus_typec>;
543
544		typec_con: connector {
545			compatible = "usb-c-connector";
546			data-role = "host";
547			label = "USB-C";
548			op-sink-microwatt = <1000000>;
549			power-role = "dual";
550			sink-pdos =
551				<PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
552			source-pdos =
553				<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
554			try-power-role = "sink";
555
556			ports {
557				#address-cells = <1>;
558				#size-cells = <0>;
559
560				port@0 {
561					reg = <0>;
562					typec_hs: endpoint {
563						remote-endpoint = <&u2phy0_typec_hs>;
564					};
565				};
566				port@1 {
567					reg = <1>;
568					typec_ss: endpoint {
569						remote-endpoint = <&tcphy0_typec_ss>;
570					};
571				};
572				port@2 {
573					reg = <2>;
574					typec_dp: endpoint {
575						remote-endpoint = <&tcphy0_typec_dp>;
576					};
577				};
578			};
579		};
580	};
581};
582
583&io_domains {
584	status = "okay";
585	bt656-supply = <&vcc_3v0>;
586	audio-supply = <&vcca1v8_codec>;
587	sdmmc-supply = <&vcc_sdio>;
588	gpio1830-supply = <&vcc_3v0>;
589};
590
591&pmu_io_domains {
592	status = "okay";
593	pmu1830-supply = <&vcc_3v0>;
594};
595
596&pinctrl {
597	buttons {
598		pwr_btn: pwr-btn {
599			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
600		};
601	};
602
603	gmac {
604		phy_intb: phy-intb {
605			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
606		};
607
608		phy_rstb: phy-rstb {
609			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
610		};
611	};
612
613	pmic {
614		cpu_b_sleep: cpu-b-sleep {
615			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
616		};
617
618		gpu_sleep: gpu-sleep {
619			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
620		};
621
622		pmic_int_l: pmic-int-l {
623			rockchip,pins =
624				<1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
625		};
626	};
627
628	sd {
629		sdmmc0_pwr_h: sdmmc0-pwr-h {
630			rockchip,pins =
631				<0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
632		};
633	};
634
635	usb2 {
636		vcc5v0_host_en: vcc5v0-host-en {
637			rockchip,pins =
638				<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
639		};
640
641		vcc5v0_typec_en: vcc5v0-typec-en {
642			rockchip,pins =
643				<1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
644		};
645	};
646
647	sdio-pwrseq {
648		wifi_reg_on_h: wifi-reg-on-h {
649			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
650		};
651	};
652
653	wifi {
654		wifi_host_wake_l: wifi-host-wake-l {
655			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
656		};
657	};
658
659	bluetooth {
660		bt_reg_on_h: bt-enable-h {
661			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
662		};
663
664		bt_host_wake_l: bt-host-wake-l {
665			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
666		};
667
668		bt_wake_l: bt-wake-l {
669			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
670		};
671	};
672
673	mpu6500 {
674		gsensor_int_l: gsensor-int-l {
675			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
676		};
677	};
678
679	lsm6ds3 {
680		gyr_int_l: gyr-int-l {
681			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
682		};
683	};
684
685	cm32181 {
686		light_int_l: light-int-l {
687			rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
688		};
689	};
690
691	fusb302 {
692		chg_cc_int_l: chg-cc-int-l {
693			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
694		};
695	};
696};
697
698&pwm0 {
699	status = "okay";
700};
701
702&pwm2 {
703	status = "okay";
704};
705
706&saradc {
707	vref-supply = <&vcca1v8_s3>;
708	status = "okay";
709};
710
711&sdhci {
712	bus-width = <8>;
713	mmc-hs400-1_8v;
714	mmc-hs400-enhanced-strobe;
715	non-removable;
716	status = "okay";
717};
718
719&sdio0 {
720	bus-width = <4>;
721	cap-sd-highspeed;
722	cap-sdio-irq;
723	clock-frequency = <50000000>;
724	disable-wp;
725	keep-power-in-suspend;
726	max-frequency = <50000000>;
727	mmc-pwrseq = <&sdio_pwrseq>;
728	non-removable;
729	pinctrl-names = "default";
730	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
731	sd-uhs-sdr104;
732	#address-cells = <1>;
733	#size-cells = <0>;
734	status = "okay";
735
736	brcmf: wifi@1 {
737		reg = <1>;
738		compatible = "brcm,bcm4329-fmac";
739		interrupt-parent = <&gpio0>;
740		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
741		interrupt-names = "host-wake";
742		pinctrl-names = "default";
743		pinctrl-0 = <&wifi_host_wake_l>;
744	};
745};
746
747&sdmmc {
748	bus-width = <4>;
749	cap-mmc-highspeed;
750	cap-sd-highspeed;
751	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
752	clock-frequency = <150000000>;
753	disable-wp;
754	max-frequency = <150000000>;
755	pinctrl-names = "default";
756	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
757	vmmc-supply = <&vcc3v0_sd>;
758	vqmmc-supply = <&vcc_sdio>;
759	status = "okay";
760};
761
762&tcphy0 {
763	status = "okay";
764};
765
766&tcphy0_dp {
767	port {
768		tcphy0_typec_dp: endpoint {
769			remote-endpoint = <&typec_dp>;
770		};
771	};
772};
773
774&tcphy0_usb3 {
775	port {
776		tcphy0_typec_ss: endpoint {
777			remote-endpoint = <&typec_ss>;
778		};
779	};
780};
781
782&tcphy1 {
783	status = "okay";
784};
785
786&tsadc {
787	rockchip,hw-tshut-mode = <1>;
788	rockchip,hw-tshut-polarity = <1>;
789	status = "okay";
790};
791
792&u2phy0 {
793	status = "okay";
794
795	u2phy0_otg: otg-port {
796		phy-supply = <&vbus_typec>;
797		status = "okay";
798	};
799
800	u2phy0_host: host-port {
801		phy-supply = <&vcc5v0_host>;
802		status = "okay";
803	};
804
805	port {
806		u2phy0_typec_hs: endpoint {
807			remote-endpoint = <&typec_hs>;
808		};
809	};
810};
811
812&u2phy1 {
813	status = "okay";
814
815	u2phy1_otg: otg-port {
816		status = "okay";
817	};
818
819	u2phy1_host: host-port {
820		phy-supply = <&vcc5v0_host>;
821		status = "okay";
822	};
823};
824
825&uart0 {
826	pinctrl-names = "default";
827	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
828	status = "okay";
829
830	bluetooth {
831		compatible = "brcm,bcm43438-bt";
832		clocks = <&rk808 1>;
833		clock-names = "lpo";
834		device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
835		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
836		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
837		pinctrl-names = "default";
838		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_reg_on_h>;
839		vbat-supply = <&vcc3v3_sys>;
840		vddio-supply = <&vcc_1v8>;
841	};
842};
843
844&uart2 {
845	status = "okay";
846};
847
848&usb_host0_ehci {
849	status = "okay";
850};
851
852&usb_host0_ohci {
853	status = "okay";
854};
855
856&usb_host1_ehci {
857	status = "okay";
858};
859
860&usb_host1_ohci {
861	status = "okay";
862};
863
864&usbdrd3_0 {
865	status = "okay";
866};
867
868&usbdrd_dwc3_0 {
869	status = "okay";
870	dr_mode = "host";
871};
872
873&usbdrd3_1 {
874	status = "okay";
875};
876
877&usbdrd_dwc3_1 {
878	status = "okay";
879	dr_mode = "host";
880};
881
882&vopb {
883	status = "okay";
884};
885
886&vopb_mmu {
887	status = "okay";
888};
889
890&vopl {
891	status = "okay";
892};
893
894&vopl_mmu {
895	status = "okay";
896};
897