xref: /linux/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi (revision c37393b36c1d2a0f4fafe82d7e32bfb726f660db)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include <dt-bindings/gpio/gpio.h>
6#include <dt-bindings/leds/common.h>
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/pinctrl/rockchip.h>
9#include <dt-bindings/soc/rockchip,vop2.h>
10#include <dt-bindings/usb/pd.h>
11#include "rk3588s.dtsi"
12
13/ {
14	aliases {
15		ethernet0 = &gmac1;
16		mmc0 = &sdmmc;
17	};
18
19	chosen {
20		stdout-path = "serial2:1500000n8";
21	};
22
23	adc-keys {
24		compatible = "adc-keys";
25		io-channels = <&saradc 1>;
26		io-channel-names = "buttons";
27		keyup-threshold-microvolt = <1800000>;
28		poll-interval = <100>;
29
30		button-recovery {
31			label = "Recovery";
32			linux,code = <KEY_VENDOR>;
33			press-threshold-microvolt = <1800>;
34		};
35	};
36
37	analog-sound {
38		compatible = "simple-audio-card";
39		pinctrl-names = "default";
40		pinctrl-0 = <&hp_detect>;
41		simple-audio-card,name = "rockchip,es8388";
42		simple-audio-card,bitclock-master = <&masterdai>;
43		simple-audio-card,format = "i2s";
44		simple-audio-card,frame-master = <&masterdai>;
45		simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
46		simple-audio-card,mclk-fs = <256>;
47		simple-audio-card,pin-switches = "Headphones";
48		simple-audio-card,routing =
49			"Headphones", "LOUT1",
50			"Headphones", "ROUT1",
51			"LINPUT1", "Microphone Jack",
52			"RINPUT1", "Microphone Jack",
53			"LINPUT2", "Onboard Microphone",
54			"RINPUT2", "Onboard Microphone";
55		simple-audio-card,widgets =
56			"Microphone", "Microphone Jack",
57			"Microphone", "Onboard Microphone",
58			"Headphone", "Headphones";
59
60		simple-audio-card,cpu {
61			sound-dai = <&i2s1_8ch>;
62		};
63
64		masterdai: simple-audio-card,codec {
65			sound-dai = <&es8388>;
66			system-clock-frequency = <12288000>;
67		};
68	};
69
70	hdmi0-con {
71		compatible = "hdmi-connector";
72		type = "a";
73
74		port {
75			hdmi0_con_in: endpoint {
76				remote-endpoint = <&hdmi0_out_con>;
77			};
78		};
79	};
80
81	pwm-leds {
82		compatible = "pwm-leds";
83
84		led {
85			color = <LED_COLOR_ID_GREEN>;
86			function = LED_FUNCTION_STATUS;
87			linux,default-trigger = "heartbeat";
88			max-brightness = <255>;
89			pwms = <&pwm0 0 25000 0>;
90		};
91	};
92
93	vbus_typec: vbus-typec-regulator {
94		compatible = "regulator-fixed";
95		enable-active-high;
96		gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
97		pinctrl-names = "default";
98		pinctrl-0 = <&typec5v_pwren>;
99		regulator-name = "vbus_typec";
100		regulator-min-microvolt = <5000000>;
101		regulator-max-microvolt = <5000000>;
102		vin-supply = <&vcc5v0_sys>;
103	};
104
105	vcc5v0_sys: vcc5v0-sys-regulator {
106		compatible = "regulator-fixed";
107		regulator-name = "vcc5v0_sys";
108		regulator-always-on;
109		regulator-boot-on;
110		regulator-min-microvolt = <5000000>;
111		regulator-max-microvolt = <5000000>;
112	};
113
114	vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator {
115		compatible = "regulator-fixed";
116		gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>;
117		regulator-name = "vcc_3v3_sd_s0";
118		regulator-boot-on;
119		regulator-min-microvolt = <3300000>;
120		regulator-max-microvolt = <3300000>;
121		vin-supply = <&vcc_3v3_s3>;
122	};
123};
124
125&combphy0_ps {
126	status = "okay";
127};
128
129&combphy2_psu {
130	status = "okay";
131};
132
133&cpu_b0 {
134	cpu-supply = <&vdd_cpu_big0_s0>;
135};
136
137&cpu_b1 {
138	cpu-supply = <&vdd_cpu_big0_s0>;
139};
140
141&cpu_b2 {
142	cpu-supply = <&vdd_cpu_big1_s0>;
143};
144
145&cpu_b3 {
146	cpu-supply = <&vdd_cpu_big1_s0>;
147};
148
149&cpu_l0 {
150	cpu-supply = <&vdd_cpu_lit_s0>;
151};
152
153&cpu_l1 {
154	cpu-supply = <&vdd_cpu_lit_s0>;
155};
156
157&cpu_l2 {
158	cpu-supply = <&vdd_cpu_lit_s0>;
159};
160
161&cpu_l3 {
162	cpu-supply = <&vdd_cpu_lit_s0>;
163};
164
165&gmac1 {
166	clock_in_out = "output";
167	phy-handle = <&rgmii_phy1>;
168	phy-mode = "rgmii-rxid";
169	pinctrl-0 = <&gmac1_miim
170		     &gmac1_tx_bus2
171		     &gmac1_rx_bus2
172		     &gmac1_rgmii_clk
173		     &gmac1_rgmii_bus>;
174	pinctrl-names = "default";
175	tx_delay = <0x42>;
176	status = "okay";
177};
178
179&gpu {
180	mali-supply = <&vdd_gpu_s0>;
181	status = "okay";
182};
183
184&hdmi0 {
185	status = "okay";
186};
187
188&hdmi0_in {
189	hdmi0_in_vp0: endpoint {
190		remote-endpoint = <&vp0_out_hdmi0>;
191	};
192};
193
194&hdmi0_out {
195	hdmi0_out_con: endpoint {
196		remote-endpoint = <&hdmi0_con_in>;
197	};
198};
199
200&hdptxphy_hdmi0 {
201	status = "okay";
202};
203
204&i2c0 {
205	pinctrl-names = "default";
206	pinctrl-0 = <&i2c0m2_xfer>;
207	status = "okay";
208
209	vdd_cpu_big0_s0: regulator@42 {
210		compatible = "rockchip,rk8602";
211		reg = <0x42>;
212		fcs,suspend-voltage-selector = <1>;
213		regulator-name = "vdd_cpu_big0_s0";
214		regulator-always-on;
215		regulator-boot-on;
216		regulator-min-microvolt = <550000>;
217		regulator-max-microvolt = <1050000>;
218		regulator-ramp-delay = <2300>;
219		vin-supply = <&vcc5v0_sys>;
220
221		regulator-state-mem {
222			regulator-off-in-suspend;
223		};
224	};
225
226	vdd_cpu_big1_s0: regulator@43 {
227		compatible = "rockchip,rk8603", "rockchip,rk8602";
228		reg = <0x43>;
229		fcs,suspend-voltage-selector = <1>;
230		regulator-name = "vdd_cpu_big1_s0";
231		regulator-always-on;
232		regulator-boot-on;
233		regulator-min-microvolt = <550000>;
234		regulator-max-microvolt = <1050000>;
235		regulator-ramp-delay = <2300>;
236		vin-supply = <&vcc5v0_sys>;
237
238		regulator-state-mem {
239			regulator-off-in-suspend;
240		};
241	};
242};
243
244&i2c2 {
245	status = "okay";
246
247	vdd_npu_s0: regulator@42 {
248		compatible = "rockchip,rk8602";
249		reg = <0x42>;
250		fcs,suspend-voltage-selector = <1>;
251		regulator-name = "vdd_npu_s0";
252		regulator-always-on;
253		regulator-boot-on;
254		regulator-min-microvolt = <550000>;
255		regulator-max-microvolt = <950000>;
256		regulator-ramp-delay = <2300>;
257		vin-supply = <&vcc5v0_sys>;
258
259		regulator-state-mem {
260			regulator-off-in-suspend;
261		};
262	};
263};
264
265&i2c6 {
266	pinctrl-names = "default";
267	pinctrl-0 = <&i2c6m3_xfer>;
268	status = "okay";
269
270	es8388: audio-codec@10 {
271		compatible = "everest,es8388";
272		reg = <0x10>;
273		clocks = <&cru I2S1_8CH_MCLKOUT>;
274		AVDD-supply = <&vcc_3v3_s0>;
275		DVDD-supply = <&vcc_1v8_s0>;
276		HPVDD-supply = <&vcc_3v3_s0>;
277		PVDD-supply = <&vcc_3v3_s0>;
278		assigned-clocks = <&cru I2S1_8CH_MCLKOUT>;
279		assigned-clock-rates = <12288000>;
280		#sound-dai-cells = <0>;
281	};
282
283	usbc0: usb-typec@22 {
284		compatible = "fcs,fusb302";
285		reg = <0x22>;
286		interrupt-parent = <&gpio0>;
287		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
288		pinctrl-names = "default";
289		pinctrl-0 = <&usbc0_int>;
290		vbus-supply = <&vbus_typec>;
291		status = "okay";
292
293		usb_con: connector {
294			compatible = "usb-c-connector";
295			label = "USB-C";
296			data-role = "dual";
297			op-sink-microwatt = <1000000>;
298			power-role = "dual";
299			sink-pdos =
300				<PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
301			source-pdos =
302				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
303			try-power-role = "source";
304
305			ports {
306				#address-cells = <1>;
307				#size-cells = <0>;
308
309				port@0 {
310					reg = <0>;
311					usbc0_hs: endpoint {
312						remote-endpoint = <&usb_host0_xhci_drd_sw>;
313					};
314				};
315
316				port@1 {
317					reg = <1>;
318					usbc0_ss: endpoint {
319						remote-endpoint = <&usbdp_phy0_typec_ss>;
320					};
321				};
322
323				port@2 {
324					reg = <2>;
325					usbc0_sbu: endpoint {
326						remote-endpoint = <&usbdp_phy0_typec_sbu>;
327					};
328				};
329			};
330		};
331	};
332
333	hym8563: rtc@51 {
334		compatible = "haoyu,hym8563";
335		reg = <0x51>;
336		#clock-cells = <0>;
337		clock-output-names = "hym8563";
338		pinctrl-names = "default";
339		pinctrl-0 = <&hym8563_int>;
340		interrupt-parent = <&gpio0>;
341		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
342		wakeup-source;
343	};
344};
345
346&i2s1_8ch {
347	rockchip,i2s-tx-route = <3 2 1 0>;
348	rockchip,i2s-rx-route = <1 3 2 0>;
349	pinctrl-names = "default";
350	pinctrl-0 = <&i2s1m0_sclk
351	             &i2s1m0_mclk
352	             &i2s1m0_lrck
353	             &i2s1m0_sdi1
354	             &i2s1m0_sdo3>;
355	status = "okay";
356};
357
358&mdio1 {
359	rgmii_phy1: ethernet-phy@1 {
360		compatible = "ethernet-phy-ieee802.3-c22";
361		reg = <0x1>;
362		reset-assert-us = <20000>;
363		reset-deassert-us = <100000>;
364		reset-gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
365	};
366};
367
368&pinctrl {
369	hym8563 {
370		hym8563_int: hym8563-int {
371			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
372		};
373	};
374
375	sound {
376		hp_detect: hp-detect {
377			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
378		};
379	};
380
381	usb-typec {
382		usbc0_int: usbc0-int {
383			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
384		};
385
386		typec5v_pwren: typec5v-pwren {
387			rockchip,pins = <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
388		};
389	};
390};
391
392&pwm0 {
393	pinctrl-0 = <&pwm0m2_pins>;
394	pinctrl-names = "default";
395	status = "okay";
396};
397
398&saradc {
399	vref-supply = <&avcc_1v8_s0>;
400	status = "okay";
401};
402
403&sdmmc {
404	bus-width = <4>;
405	cap-sd-highspeed;
406	disable-wp;
407	max-frequency = <150000000>;
408	no-mmc;
409	no-sdio;
410	sd-uhs-sdr104;
411	vmmc-supply = <&vcc_3v3_sd_s0>;
412	vqmmc-supply = <&vccio_sd_s0>;
413	status = "okay";
414};
415
416&sfc {
417	pinctrl-names = "default";
418	pinctrl-0 = <&fspim0_pins>;
419	status = "disabled";
420
421	flash@0 {
422		compatible = "jedec,spi-nor";
423		reg = <0x0>;
424		spi-max-frequency = <100000000>;
425		spi-rx-bus-width = <4>;
426		spi-tx-bus-width = <1>;
427	};
428};
429
430&spi2 {
431	status = "okay";
432	assigned-clocks = <&cru CLK_SPI2>;
433	assigned-clock-rates = <200000000>;
434	num-cs = <1>;
435	pinctrl-names = "default";
436	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
437
438	pmic@0 {
439		compatible = "rockchip,rk806";
440		reg = <0x0>;
441		interrupt-parent = <&gpio0>;
442		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
443		pinctrl-names = "default";
444		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
445				<&rk806_dvs2_null>, <&rk806_dvs3_null>;
446		spi-max-frequency = <1000000>;
447		system-power-controller;
448
449		vcc1-supply = <&vcc5v0_sys>;
450		vcc2-supply = <&vcc5v0_sys>;
451		vcc3-supply = <&vcc5v0_sys>;
452		vcc4-supply = <&vcc5v0_sys>;
453		vcc5-supply = <&vcc5v0_sys>;
454		vcc6-supply = <&vcc5v0_sys>;
455		vcc7-supply = <&vcc5v0_sys>;
456		vcc8-supply = <&vcc5v0_sys>;
457		vcc9-supply = <&vcc5v0_sys>;
458		vcc10-supply = <&vcc5v0_sys>;
459		vcc11-supply = <&vcc_2v0_pldo_s3>;
460		vcc12-supply = <&vcc5v0_sys>;
461		vcc13-supply = <&vcc_1v1_nldo_s3>;
462		vcc14-supply = <&vcc_1v1_nldo_s3>;
463		vcca-supply = <&vcc5v0_sys>;
464
465		gpio-controller;
466		#gpio-cells = <2>;
467
468		rk806_dvs1_null: dvs1-null-pins {
469			pins = "gpio_pwrctrl1";
470			function = "pin_fun0";
471		};
472
473		rk806_dvs2_null: dvs2-null-pins {
474			pins = "gpio_pwrctrl2";
475			function = "pin_fun0";
476		};
477
478		rk806_dvs3_null: dvs3-null-pins {
479			pins = "gpio_pwrctrl3";
480			function = "pin_fun0";
481		};
482
483		regulators {
484			vdd_gpu_s0: dcdc-reg1 {
485				regulator-name = "vdd_gpu_s0";
486				regulator-boot-on;
487				regulator-min-microvolt = <550000>;
488				regulator-max-microvolt = <950000>;
489				regulator-ramp-delay = <12500>;
490				regulator-enable-ramp-delay = <400>;
491
492				regulator-state-mem {
493					regulator-off-in-suspend;
494				};
495			};
496
497			vdd_cpu_lit_s0: dcdc-reg2 {
498				regulator-name = "vdd_cpu_lit_s0";
499				regulator-always-on;
500				regulator-boot-on;
501				regulator-min-microvolt = <550000>;
502				regulator-max-microvolt = <950000>;
503				regulator-ramp-delay = <12500>;
504
505				regulator-state-mem {
506					regulator-off-in-suspend;
507				};
508			};
509
510			vdd_log_s0: dcdc-reg3 {
511				regulator-name = "vdd_log_s0";
512				regulator-always-on;
513				regulator-boot-on;
514				regulator-min-microvolt = <675000>;
515				regulator-max-microvolt = <750000>;
516				regulator-ramp-delay = <12500>;
517
518				regulator-state-mem {
519					regulator-off-in-suspend;
520					regulator-suspend-microvolt = <750000>;
521				};
522			};
523
524			vdd_vdenc_s0: dcdc-reg4 {
525				regulator-name = "vdd_vdenc_s0";
526				regulator-always-on;
527				regulator-boot-on;
528				regulator-min-microvolt = <550000>;
529				regulator-max-microvolt = <950000>;
530				regulator-ramp-delay = <12500>;
531
532				regulator-state-mem {
533					regulator-off-in-suspend;
534				};
535			};
536
537			vdd_ddr_s0: dcdc-reg5 {
538				regulator-name = "vdd_ddr_s0";
539				regulator-always-on;
540				regulator-boot-on;
541				regulator-min-microvolt = <675000>;
542				regulator-max-microvolt = <900000>;
543				regulator-ramp-delay = <12500>;
544
545				regulator-state-mem {
546					regulator-off-in-suspend;
547					regulator-suspend-microvolt = <850000>;
548				};
549			};
550
551			vcc_1v1_nldo_s3: vdd2_ddr_s3: dcdc-reg6 {
552				regulator-name = "vdd2_ddr_s3";
553				regulator-always-on;
554				regulator-boot-on;
555				regulator-max-microvolt = <1100000>;
556				regulator-min-microvolt = <1100000>;
557
558				regulator-state-mem {
559					regulator-on-in-suspend;
560				};
561			};
562
563			vcc_2v0_pldo_s3: dcdc-reg7 {
564				regulator-name = "vdd_2v0_pldo_s3";
565				regulator-always-on;
566				regulator-boot-on;
567				regulator-min-microvolt = <2000000>;
568				regulator-max-microvolt = <2000000>;
569				regulator-ramp-delay = <12500>;
570
571				regulator-state-mem {
572					regulator-on-in-suspend;
573					regulator-suspend-microvolt = <2000000>;
574				};
575			};
576
577			vcc_3v3_s3: dcdc-reg8 {
578				regulator-name = "vcc_3v3_s3";
579				regulator-always-on;
580				regulator-boot-on;
581				regulator-min-microvolt = <3300000>;
582				regulator-max-microvolt = <3300000>;
583
584				regulator-state-mem {
585					regulator-on-in-suspend;
586					regulator-suspend-microvolt = <3300000>;
587				};
588			};
589
590			vddq_ddr_s0: dcdc-reg9 {
591				regulator-name = "vddq_ddr_s0";
592				regulator-always-on;
593				regulator-boot-on;
594
595				regulator-state-mem {
596					regulator-off-in-suspend;
597				};
598			};
599
600			vcc_1v8_s3: dcdc-reg10 {
601				regulator-name = "vcc_1v8_s3";
602				regulator-always-on;
603				regulator-boot-on;
604				regulator-min-microvolt = <1800000>;
605				regulator-max-microvolt = <1800000>;
606
607				regulator-state-mem {
608					regulator-on-in-suspend;
609					regulator-suspend-microvolt = <1800000>;
610				};
611			};
612
613			avcc_1v8_s0: pldo-reg1 {
614				regulator-name = "avcc_1v8_s0";
615				regulator-always-on;
616				regulator-boot-on;
617				regulator-min-microvolt = <1800000>;
618				regulator-max-microvolt = <1800000>;
619
620				regulator-state-mem {
621					regulator-off-in-suspend;
622				};
623			};
624
625			vcc_1v8_s0: pldo-reg2 {
626				regulator-name = "vcc_1v8_s0";
627				regulator-always-on;
628				regulator-boot-on;
629				regulator-min-microvolt = <1800000>;
630				regulator-max-microvolt = <1800000>;
631
632				regulator-state-mem {
633					regulator-off-in-suspend;
634					regulator-suspend-microvolt = <1800000>;
635				};
636			};
637
638			avdd_1v2_s0: pldo-reg3 {
639				regulator-name = "avdd_1v2_s0";
640				regulator-always-on;
641				regulator-boot-on;
642				regulator-min-microvolt = <1200000>;
643				regulator-max-microvolt = <1200000>;
644
645				regulator-state-mem {
646					regulator-off-in-suspend;
647				};
648			};
649
650			vcc_3v3_s0: pldo-reg4 {
651				regulator-name = "vcc_3v3_s0";
652				regulator-always-on;
653				regulator-boot-on;
654				regulator-min-microvolt = <3300000>;
655				regulator-max-microvolt = <3300000>;
656				regulator-ramp-delay = <12500>;
657
658				regulator-state-mem {
659					regulator-off-in-suspend;
660				};
661			};
662
663			vccio_sd_s0: pldo-reg5 {
664				regulator-name = "vccio_sd_s0";
665				regulator-always-on;
666				regulator-boot-on;
667				regulator-min-microvolt = <1800000>;
668				regulator-max-microvolt = <3300000>;
669				regulator-ramp-delay = <12500>;
670
671				regulator-state-mem {
672					regulator-off-in-suspend;
673				};
674			};
675
676			pldo6_s3: pldo-reg6 {
677				regulator-name = "pldo6_s3";
678				regulator-always-on;
679				regulator-boot-on;
680				regulator-min-microvolt = <1800000>;
681				regulator-max-microvolt = <1800000>;
682
683				regulator-state-mem {
684					regulator-on-in-suspend;
685					regulator-suspend-microvolt = <1800000>;
686				};
687			};
688
689			vdd_0v75_s3: nldo-reg1 {
690				regulator-name = "vdd_0v75_s3";
691				regulator-always-on;
692				regulator-boot-on;
693				regulator-min-microvolt = <750000>;
694				regulator-max-microvolt = <750000>;
695
696				regulator-state-mem {
697					regulator-on-in-suspend;
698					regulator-suspend-microvolt = <750000>;
699				};
700			};
701
702			vdd_ddr_pll_s0: nldo-reg2 {
703				regulator-name = "vdd_ddr_pll_s0";
704				regulator-always-on;
705				regulator-boot-on;
706				regulator-min-microvolt = <850000>;
707				regulator-max-microvolt = <850000>;
708
709				regulator-state-mem {
710					regulator-off-in-suspend;
711					regulator-suspend-microvolt = <850000>;
712				};
713			};
714
715			avdd_0v75_s0: nldo-reg3 {
716				regulator-name = "avdd_0v75_s0";
717				regulator-always-on;
718				regulator-boot-on;
719				regulator-min-microvolt = <750000>;
720				regulator-max-microvolt = <750000>;
721
722				regulator-state-mem {
723					regulator-off-in-suspend;
724				};
725			};
726
727			vdd_0v85_s0: nldo-reg4 {
728				regulator-name = "vdd_0v85_s0";
729				regulator-always-on;
730				regulator-boot-on;
731				regulator-min-microvolt = <850000>;
732				regulator-max-microvolt = <850000>;
733
734				regulator-state-mem {
735					regulator-off-in-suspend;
736				};
737			};
738
739			vdd_0v75_s0: nldo-reg5 {
740				regulator-name = "vdd_0v75_s0";
741				regulator-always-on;
742				regulator-boot-on;
743				regulator-min-microvolt = <750000>;
744				regulator-max-microvolt = <750000>;
745
746				regulator-state-mem {
747					regulator-off-in-suspend;
748				};
749			};
750		};
751	};
752};
753
754&tsadc {
755	status = "okay";
756};
757
758&u2phy0 {
759	status = "okay";
760};
761
762&u2phy0_otg {
763	status = "okay";
764};
765
766&u2phy2 {
767	status = "okay";
768};
769
770&u2phy2_host {
771	status = "okay";
772};
773
774&u2phy3 {
775	status = "okay";
776};
777
778&u2phy3_host {
779	status = "okay";
780};
781
782&uart2 {
783	pinctrl-0 = <&uart2m0_xfer>;
784	status = "okay";
785};
786
787&usbdp_phy0 {
788	mode-switch;
789	orientation-switch;
790	sbu1-dc-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
791	sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
792	status = "okay";
793
794	port {
795		#address-cells = <1>;
796		#size-cells = <0>;
797
798		usbdp_phy0_typec_ss: endpoint@0 {
799			reg = <0>;
800			remote-endpoint = <&usbc0_ss>;
801		};
802
803		usbdp_phy0_typec_sbu: endpoint@1 {
804			reg = <1>;
805			remote-endpoint = <&usbc0_sbu>;
806		};
807	};
808};
809
810&usb_host0_ehci {
811	status = "okay";
812};
813
814&usb_host0_ohci {
815	status = "okay";
816};
817
818&usb_host0_xhci {
819	dr_mode = "otg";
820	usb-role-switch;
821	status = "okay";
822
823	port {
824		usb_host0_xhci_drd_sw: endpoint {
825			remote-endpoint = <&usbc0_hs>;
826		};
827	};
828};
829
830&usb_host1_ehci {
831	status = "okay";
832};
833
834&usb_host1_ohci {
835	status = "okay";
836};
837
838&usb_host2_xhci {
839	status = "okay";
840};
841
842&vop_mmu {
843	status = "okay";
844};
845
846&vop {
847	status = "okay";
848};
849
850&vp0 {
851	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
852		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
853		remote-endpoint = <&hdmi0_in_vp0>;
854	};
855};
856