xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3588-youyeetoo-yy3588.dts (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2024 Youyeetoo
4 * Copyright (c) 2026 Daniele Briguglio <hello@superkali.me>
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/leds/common.h>
12#include <dt-bindings/pinctrl/rockchip.h>
13#include <dt-bindings/soc/rockchip,vop2.h>
14#include <dt-bindings/usb/pd.h>
15#include "rk3588.dtsi"
16
17/ {
18	model = "Youyeetoo YY3588";
19	compatible = "youyeetoo,yy3588", "rockchip,rk3588";
20
21	aliases {
22		ethernet0 = &gmac1;
23		ethernet1 = &r8125;
24		mmc0 = &sdhci;
25		mmc1 = &sdmmc;
26	};
27
28	adc-keys {
29		compatible = "adc-keys";
30		io-channels = <&saradc 1>;
31		io-channel-names = "buttons";
32		keyup-threshold-microvolt = <1800000>;
33		poll-interval = <100>;
34
35		button-recovery {
36			label = "Recovery";
37			linux,code = <KEY_VENDOR>;
38			press-threshold-microvolt = <17000>;
39		};
40	};
41
42	analog-sound {
43		compatible = "simple-audio-card";
44		pinctrl-names = "default";
45		pinctrl-0 = <&hp_det>;
46		simple-audio-card,name = "rockchip-es8388";
47		simple-audio-card,aux-devs = <&speaker_amp>;
48		simple-audio-card,format = "i2s";
49		simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
50		simple-audio-card,mclk-fs = <256>;
51		simple-audio-card,pin-switches = "Headphones", "Speaker";
52		simple-audio-card,routing =
53			"Headphones", "LOUT2",
54			"Headphones", "ROUT2",
55			"Speaker Amp INL", "LOUT1",
56			"Speaker Amp INR", "ROUT1",
57			"Speaker", "Speaker Amp OUTL",
58			"Speaker", "Speaker Amp OUTR",
59			"LINPUT1", "Microphone Jack",
60			"RINPUT1", "Microphone Jack",
61			"LINPUT2", "Onboard Microphone",
62			"RINPUT2", "Onboard Microphone";
63		simple-audio-card,widgets =
64			"Microphone", "Microphone Jack",
65			"Microphone", "Onboard Microphone",
66			"Headphone", "Headphones",
67			"Speaker", "Speaker";
68
69		simple-audio-card,codec {
70			sound-dai = <&es8388>;
71			system-clock-frequency = <12288000>;
72		};
73
74		simple-audio-card,cpu {
75			sound-dai = <&i2s0_8ch>;
76		};
77	};
78
79	chosen {
80		stdout-path = "serial2:1500000n8";
81	};
82
83	hdmi0-con {
84		compatible = "hdmi-connector";
85		type = "a";
86
87		port {
88			hdmi0_con_in: endpoint {
89				remote-endpoint = <&hdmi0_out_con>;
90			};
91		};
92	};
93
94	leds {
95		compatible = "gpio-leds";
96		pinctrl-names = "default";
97		pinctrl-0 = <&led_pins>;
98
99		led-0 {
100			color = <LED_COLOR_ID_BLUE>;
101			function = LED_FUNCTION_STATUS;
102			gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_HIGH>;
103		};
104
105		led-1 {
106			function = LED_FUNCTION_HEARTBEAT;
107			gpios = <&gpio1 RK_PD7 GPIO_ACTIVE_HIGH>;
108			linux,default-trigger = "heartbeat";
109		};
110	};
111
112	/* PI6C557-05BLE PCIe 3.0 reference clock generator */
113	pcie30_port0_refclk: pcie-oscillator {
114		compatible = "gated-fixed-clock";
115		#clock-cells = <0>;
116		clock-frequency = <100000000>;
117		clock-output-names = "pcie30_refclk";
118		vdd-supply = <&vcc3v3_pi6c_05>;
119	};
120
121	fan: pwm-fan {
122		compatible = "pwm-fan";
123		#cooling-cells = <2>;
124		cooling-levels = <0 50 100 150 200 255>;
125		fan-supply = <&vcc12v_dcin>;
126		pwms = <&pwm2 0 50000 0>;
127	};
128
129	pcie20_avdd0v85: regulator-pcie20-avdd0v85 {
130		compatible = "regulator-fixed";
131		regulator-name = "pcie20_avdd0v85";
132		regulator-always-on;
133		regulator-boot-on;
134		regulator-min-microvolt = <850000>;
135		regulator-max-microvolt = <850000>;
136		vin-supply = <&vdd_0v85_s0>;
137	};
138
139	pcie20_avdd1v8: regulator-pcie20-avdd1v8 {
140		compatible = "regulator-fixed";
141		regulator-name = "pcie20_avdd1v8";
142		regulator-always-on;
143		regulator-boot-on;
144		regulator-min-microvolt = <1800000>;
145		regulator-max-microvolt = <1800000>;
146		vin-supply = <&avcc_1v8_s0>;
147	};
148
149	pcie30_avdd0v75: regulator-pcie30-avdd0v75 {
150		compatible = "regulator-fixed";
151		regulator-name = "pcie30_avdd0v75";
152		regulator-always-on;
153		regulator-boot-on;
154		regulator-min-microvolt = <750000>;
155		regulator-max-microvolt = <750000>;
156		vin-supply = <&avdd_0v75_s0>;
157	};
158
159	pcie30_avdd1v8: regulator-pcie30-avdd1v8 {
160		compatible = "regulator-fixed";
161		regulator-name = "pcie30_avdd1v8";
162		regulator-always-on;
163		regulator-boot-on;
164		regulator-min-microvolt = <1800000>;
165		regulator-max-microvolt = <1800000>;
166		vin-supply = <&avcc_1v8_s0>;
167	};
168
169	vbus5v0_typec: regulator-vbus5v0-typec {
170		compatible = "regulator-fixed";
171		enable-active-high;
172		gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
173		pinctrl-names = "default";
174		pinctrl-0 = <&typec5v_pwren>;
175		regulator-name = "vbus5v0_typec";
176		regulator-min-microvolt = <5000000>;
177		regulator-max-microvolt = <5000000>;
178		vin-supply = <&vcc5v0_sys>;
179	};
180
181	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
182		compatible = "regulator-fixed";
183		regulator-name = "vcc_1v1_nldo_s3";
184		regulator-always-on;
185		regulator-boot-on;
186		regulator-min-microvolt = <1100000>;
187		regulator-max-microvolt = <1100000>;
188		vin-supply = <&vcc5v0_sys>;
189	};
190
191	vcc12v_dcin: regulator-vcc12v-dcin {
192		compatible = "regulator-fixed";
193		regulator-name = "vcc12v_dcin";
194		regulator-always-on;
195		regulator-boot-on;
196		regulator-min-microvolt = <12000000>;
197		regulator-max-microvolt = <12000000>;
198	};
199
200	vcc3v3_pi6c_05: regulator-vcc3v3-pi6c-05 {
201		compatible = "regulator-fixed";
202		enable-active-high;
203		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
204		pinctrl-names = "default";
205		pinctrl-0 = <&pi6c_05_pwren>;
206		regulator-name = "vcc3v3_pi6c_05";
207		regulator-min-microvolt = <3300000>;
208		regulator-max-microvolt = <3300000>;
209		startup-delay-us = <5000>;
210		vin-supply = <&vcc5v0_sys>;
211	};
212
213	vcc3v3_sd_s0: regulator-vcc3v3-sd-s0 {
214		compatible = "regulator-fixed";
215		regulator-name = "vcc3v3_sd_s0";
216		regulator-always-on;
217		regulator-boot-on;
218		regulator-min-microvolt = <3300000>;
219		regulator-max-microvolt = <3300000>;
220		vin-supply = <&vcc3v3_sys>;
221	};
222
223	vcc3v3_sys: regulator-vcc3v3-sys {
224		compatible = "regulator-fixed";
225		regulator-name = "vcc3v3_sys";
226		regulator-always-on;
227		regulator-boot-on;
228		regulator-min-microvolt = <3300000>;
229		regulator-max-microvolt = <3300000>;
230		vin-supply = <&vcc12v_dcin>;
231	};
232
233	vcc5v0_sys: regulator-vcc5v0-sys {
234		compatible = "regulator-fixed";
235		regulator-name = "vcc5v0_sys";
236		regulator-always-on;
237		regulator-boot-on;
238		regulator-min-microvolt = <5000000>;
239		regulator-max-microvolt = <5000000>;
240		vin-supply = <&vcc12v_dcin>;
241	};
242
243	speaker_amp: speaker-amplifier {
244		compatible = "simple-audio-amplifier";
245		enable-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
246		pinctrl-names = "default";
247		pinctrl-0 = <&spk_en>;
248		sound-name-prefix = "Speaker Amp";
249		VCC-supply = <&vcc5v0_sys>;
250	};
251};
252
253&combphy0_ps {
254	status = "okay";
255};
256
257&combphy1_ps {
258	status = "okay";
259};
260
261&combphy2_psu {
262	status = "okay";
263};
264
265&cpu_b0 {
266	cpu-supply = <&vdd_cpu_big0_s0>;
267};
268
269&cpu_b1 {
270	cpu-supply = <&vdd_cpu_big0_s0>;
271};
272
273&cpu_b2 {
274	cpu-supply = <&vdd_cpu_big1_s0>;
275};
276
277&cpu_b3 {
278	cpu-supply = <&vdd_cpu_big1_s0>;
279};
280
281&cpu_l0 {
282	cpu-supply = <&vdd_cpu_lit_s0>;
283};
284
285&cpu_l1 {
286	cpu-supply = <&vdd_cpu_lit_s0>;
287};
288
289&cpu_l2 {
290	cpu-supply = <&vdd_cpu_lit_s0>;
291};
292
293&cpu_l3 {
294	cpu-supply = <&vdd_cpu_lit_s0>;
295};
296
297&gmac1 {
298	clock_in_out = "input";
299	phy-handle = <&rgmii_phy>;
300	/* RX delay is added by the PHY, TX delay by the GMAC */
301	phy-mode = "rgmii-rxid";
302	pinctrl-names = "default";
303	pinctrl-0 = <&gmac1_miim
304		     &gmac1_tx_bus2
305		     &gmac1_rx_bus2
306		     &gmac1_rgmii_clk
307		     &gmac1_rgmii_bus
308		     &gmac1_clkinout>;
309	tx_delay = <0x43>;
310	status = "okay";
311};
312
313&gpu {
314	mali-supply = <&vdd_gpu_s0>;
315	status = "okay";
316};
317
318&hdmi0 {
319	frl-enable-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_LOW>;
320	status = "okay";
321};
322
323&hdmi0_in {
324	hdmi0_in_vp0: endpoint {
325		remote-endpoint = <&vp0_out_hdmi0>;
326	};
327};
328
329&hdmi0_out {
330	hdmi0_out_con: endpoint {
331		remote-endpoint = <&hdmi0_con_in>;
332	};
333};
334
335&hdmi0_sound {
336	status = "okay";
337};
338
339&hdmi_receiver_cma {
340	status = "okay";
341};
342
343&hdmi_receiver {
344	hpd-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
345	pinctrl-names = "default";
346	pinctrl-0 = <&hdmim1_rx_cec &hdmim1_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda &hdmirx_5v_det>;
347	status = "okay";
348};
349
350&hdptxphy0 {
351	status = "okay";
352};
353
354&i2c0 {
355	pinctrl-names = "default";
356	pinctrl-0 = <&i2c0m2_xfer>;
357	status = "okay";
358
359	vdd_cpu_big0_s0: regulator@42 {
360		compatible = "rockchip,rk8602";
361		reg = <0x42>;
362		fcs,suspend-voltage-selector = <1>;
363		regulator-name = "vdd_cpu_big0_s0";
364		regulator-always-on;
365		regulator-boot-on;
366		regulator-min-microvolt = <550000>;
367		regulator-max-microvolt = <1050000>;
368		regulator-ramp-delay = <2300>;
369		vin-supply = <&vcc5v0_sys>;
370
371		regulator-state-mem {
372			regulator-off-in-suspend;
373		};
374	};
375
376	vdd_cpu_big1_s0: regulator@43 {
377		compatible = "rockchip,rk8603", "rockchip,rk8602";
378		reg = <0x43>;
379		fcs,suspend-voltage-selector = <1>;
380		regulator-name = "vdd_cpu_big1_s0";
381		regulator-always-on;
382		regulator-boot-on;
383		regulator-min-microvolt = <550000>;
384		regulator-max-microvolt = <1050000>;
385		regulator-ramp-delay = <2300>;
386		vin-supply = <&vcc5v0_sys>;
387
388		regulator-state-mem {
389			regulator-off-in-suspend;
390		};
391	};
392};
393
394&i2c1 {
395	pinctrl-names = "default";
396	pinctrl-0 = <&i2c1m2_xfer>;
397	status = "okay";
398
399	vdd_npu_s0: regulator@42 {
400		compatible = "rockchip,rk8602";
401		reg = <0x42>;
402		fcs,suspend-voltage-selector = <1>;
403		regulator-name = "vdd_npu_s0";
404		regulator-boot-on;
405		regulator-min-microvolt = <550000>;
406		regulator-max-microvolt = <950000>;
407		regulator-ramp-delay = <2300>;
408		vin-supply = <&vcc5v0_sys>;
409
410		regulator-state-mem {
411			regulator-off-in-suspend;
412		};
413	};
414};
415
416&i2c6 {
417	clock-frequency = <400000>;
418	pinctrl-names = "default";
419	pinctrl-0 = <&i2c6m0_xfer>;
420	status = "okay";
421
422	usbc0: usb-typec@22 {
423		compatible = "fcs,fusb302";
424		reg = <0x22>;
425		interrupt-parent = <&gpio0>;
426		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
427		pinctrl-names = "default";
428		pinctrl-0 = <&usbc0_int>;
429		vbus-supply = <&vbus5v0_typec>;
430
431		usb_con: connector {
432			compatible = "usb-c-connector";
433			data-role = "dual";
434			label = "USB-C";
435			power-role = "source";
436			source-pdos = <PDO_FIXED(5000, 1500, PDO_FIXED_USB_COMM)>;
437
438			ports {
439				#address-cells = <1>;
440				#size-cells = <0>;
441
442				port@0 {
443					reg = <0>;
444
445					usbc0_hs: endpoint {
446						remote-endpoint = <&usb_host0_xhci_drd_sw>;
447					};
448				};
449
450				port@1 {
451					reg = <1>;
452
453					usbc0_ss: endpoint {
454						remote-endpoint = <&usbdp_phy0_typec_ss>;
455					};
456				};
457
458				port@2 {
459					reg = <2>;
460
461					usbc0_sbu: endpoint {
462						remote-endpoint = <&usbdp_phy0_typec_sbu>;
463					};
464				};
465			};
466		};
467	};
468
469	hym8563: rtc@51 {
470		compatible = "haoyu,hym8563";
471		reg = <0x51>;
472		#clock-cells = <0>;
473		clock-output-names = "hym8563";
474	};
475};
476
477&i2c7 {
478	pinctrl-names = "default";
479	pinctrl-0 = <&i2c7m0_xfer>;
480	status = "okay";
481
482	es8388: audio-codec@11 {
483		compatible = "everest,es8388", "everest,es8328";
484		reg = <0x11>;
485		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
486		assigned-clock-rates = <12288000>;
487		clocks = <&cru I2S0_8CH_MCLKOUT>;
488		AVDD-supply = <&vcc3v3_sys>;
489		DVDD-supply = <&vcc_1v8_s3>;
490		HPVDD-supply = <&vcc3v3_sys>;
491		PVDD-supply = <&vcc_1v8_s3>;
492		#sound-dai-cells = <0>;
493	};
494};
495
496&i2s0_8ch {
497	pinctrl-0 = <&i2s0_lrck
498		     &i2s0_mclk
499		     &i2s0_sclk
500		     &i2s0_sdi0
501		     &i2s0_sdo0>;
502	status = "okay";
503};
504
505&i2s5_8ch {
506	status = "okay";
507};
508
509&i2s7_8ch {
510	status = "okay";
511};
512
513&mdio1 {
514	rgmii_phy: ethernet-phy@1 {
515		/* RTL8211F */
516		compatible = "ethernet-phy-id001c.c916";
517		reg = <0x1>;
518		pinctrl-names = "default";
519		pinctrl-0 = <&rtl8211f_rst>;
520		reset-assert-us = <20000>;
521		reset-deassert-us = <100000>;
522		reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
523	};
524};
525
526&package_thermal {
527	polling-delay = <1000>;
528
529	trips {
530		package_fan0: package-fan0 {
531			temperature = <55000>;
532			hysteresis = <2000>;
533			type = "active";
534		};
535
536		package_fan1: package-fan1 {
537			temperature = <65000>;
538			hysteresis = <2000>;
539			type = "active";
540		};
541	};
542
543	cooling-maps {
544		map0 {
545			trip = <&package_fan0>;
546			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
547		};
548
549		map1 {
550			trip = <&package_fan1>;
551			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
552		};
553	};
554};
555
556&pcie2x1l0 {
557	pinctrl-names = "default";
558	pinctrl-0 = <&pcie2_0_rst>;
559	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
560	vpcie3v3-supply = <&vcc3v3_sys>;
561	status = "okay";
562};
563
564&pcie2x1l1 {
565	pinctrl-names = "default";
566	pinctrl-0 = <&pcie2_1_rst>;
567	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
568	vpcie3v3-supply = <&vcc3v3_sys>;
569	status = "okay";
570
571	pcie@0,0 {
572		reg = <0x300000 0 0 0 0>;
573		#address-cells = <3>;
574		#size-cells = <2>;
575		ranges;
576		device_type = "pci";
577		bus-range = <0x30 0x3f>;
578
579		r8125: ethernet@0,0 {
580			reg = <0x310000 0 0 0 0>;
581		};
582	};
583};
584
585&pcie30phy {
586	status = "okay";
587};
588
589&pcie3x4 {
590	clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,
591		 <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,
592		 <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>,
593		 <&pcie30_port0_refclk>;
594	clock-names = "aclk_mst", "aclk_slv",
595		      "aclk_dbi", "pclk",
596		      "aux", "pipe",
597		      "ref";
598	pinctrl-names = "default";
599	pinctrl-0 = <&pcie3x4_perstn>;
600	reset-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
601	vpcie3v3-supply = <&vcc3v3_sys>;
602	status = "okay";
603};
604
605&pinctrl {
606	hdmirx {
607		hdmirx_5v_det: hdmirx-5v-det {
608			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
609		};
610	};
611
612	leds {
613		led_pins: led-pins {
614			rockchip,pins = <1 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>,
615					<1 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>;
616		};
617	};
618
619	pcie {
620		pcie2_0_rst: pcie2-0-rst {
621			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
622		};
623
624		pcie2_1_rst: pcie2-1-rst {
625			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
626		};
627
628		pi6c_05_pwren: pi6c-05-pwren {
629			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
630		};
631
632		pcie3x4_perstn: pcie3x4-perstn {
633			rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
634		};
635	};
636
637	rtl8211f {
638		rtl8211f_rst: rtl8211f-rst {
639			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
640		};
641	};
642
643	sound {
644		hp_det: hp-det {
645			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>;
646		};
647
648		spk_en: spk-en {
649			rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
650		};
651	};
652
653	usb {
654		typec5v_pwren: typec5v-pwren {
655			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
656		};
657
658		usbc0_int: usbc0-int {
659			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
660		};
661	};
662};
663
664&pwm2 {
665	pinctrl-0 = <&pwm2m2_pins>;
666	status = "okay";
667};
668
669&rknn_core_0 {
670	npu-supply = <&vdd_npu_s0>;
671	sram-supply = <&vdd_npu_s0>;
672	status = "okay";
673};
674
675&rknn_core_1 {
676	npu-supply = <&vdd_npu_s0>;
677	sram-supply = <&vdd_npu_s0>;
678	status = "okay";
679};
680
681&rknn_core_2 {
682	npu-supply = <&vdd_npu_s0>;
683	sram-supply = <&vdd_npu_s0>;
684	status = "okay";
685};
686
687&rknn_mmu_0 {
688	status = "okay";
689};
690
691&rknn_mmu_1 {
692	status = "okay";
693};
694
695&rknn_mmu_2 {
696	status = "okay";
697};
698
699&saradc {
700	vref-supply = <&avcc_1v8_s0>;
701	status = "okay";
702};
703
704&sata0 {
705	status = "okay";
706};
707
708&sdhci {
709	bus-width = <8>;
710	mmc-hs400-1_8v;
711	mmc-hs400-enhanced-strobe;
712	no-sd;
713	no-sdio;
714	non-removable;
715	status = "okay";
716};
717
718&sdmmc {
719	bus-width = <4>;
720	cap-mmc-highspeed;
721	cap-sd-highspeed;
722	disable-wp;
723	max-frequency = <150000000>;
724	no-mmc;
725	no-sdio;
726	sd-uhs-sdr104;
727	vmmc-supply = <&vcc3v3_sd_s0>;
728	vqmmc-supply = <&vccio_sd_s0>;
729	status = "okay";
730};
731
732&spi2 {
733	assigned-clocks = <&cru CLK_SPI2>;
734	assigned-clock-rates = <200000000>;
735	num-cs = <1>;
736	pinctrl-names = "default";
737	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
738	status = "okay";
739
740	pmic@0 {
741		compatible = "rockchip,rk806";
742		reg = <0x0>;
743		interrupt-parent = <&gpio0>;
744		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
745		pinctrl-names = "default";
746		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
747			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
748		spi-max-frequency = <1000000>;
749		system-power-controller;
750
751		vcc1-supply = <&vcc5v0_sys>;
752		vcc2-supply = <&vcc5v0_sys>;
753		vcc3-supply = <&vcc5v0_sys>;
754		vcc4-supply = <&vcc5v0_sys>;
755		vcc5-supply = <&vcc5v0_sys>;
756		vcc6-supply = <&vcc5v0_sys>;
757		vcc7-supply = <&vcc5v0_sys>;
758		vcc8-supply = <&vcc5v0_sys>;
759		vcc9-supply = <&vcc5v0_sys>;
760		vcc10-supply = <&vcc5v0_sys>;
761		vcc11-supply = <&vcc_2v0_pldo_s3>;
762		vcc12-supply = <&vcc5v0_sys>;
763		vcc13-supply = <&vcc_1v1_nldo_s3>;
764		vcc14-supply = <&vcc_1v1_nldo_s3>;
765		vcca-supply = <&vcc5v0_sys>;
766
767		gpio-controller;
768		#gpio-cells = <2>;
769
770		rk806_dvs1_null: dvs1-null-pins {
771			pins = "gpio_pwrctrl1";
772			function = "pin_fun0";
773		};
774
775		rk806_dvs2_null: dvs2-null-pins {
776			pins = "gpio_pwrctrl2";
777			function = "pin_fun0";
778		};
779
780		rk806_dvs3_null: dvs3-null-pins {
781			pins = "gpio_pwrctrl3";
782			function = "pin_fun0";
783		};
784
785		regulators {
786			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
787				regulator-boot-on;
788				regulator-min-microvolt = <550000>;
789				regulator-max-microvolt = <950000>;
790				regulator-ramp-delay = <12500>;
791				regulator-name = "vdd_gpu_s0";
792				regulator-enable-ramp-delay = <400>;
793
794				regulator-state-mem {
795					regulator-off-in-suspend;
796				};
797			};
798
799			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
800				regulator-always-on;
801				regulator-boot-on;
802				regulator-min-microvolt = <550000>;
803				regulator-max-microvolt = <950000>;
804				regulator-ramp-delay = <12500>;
805				regulator-name = "vdd_cpu_lit_s0";
806
807				regulator-state-mem {
808					regulator-off-in-suspend;
809				};
810			};
811
812			vdd_log_s0: dcdc-reg3 {
813				regulator-always-on;
814				regulator-boot-on;
815				regulator-min-microvolt = <675000>;
816				regulator-max-microvolt = <750000>;
817				regulator-ramp-delay = <12500>;
818				regulator-name = "vdd_log_s0";
819
820				regulator-state-mem {
821					regulator-off-in-suspend;
822				};
823			};
824
825			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
826				regulator-always-on;
827				regulator-boot-on;
828				regulator-min-microvolt = <550000>;
829				regulator-max-microvolt = <950000>;
830				regulator-ramp-delay = <12500>;
831				regulator-name = "vdd_vdenc_s0";
832
833				regulator-state-mem {
834					regulator-off-in-suspend;
835				};
836			};
837
838			vdd_ddr_s0: dcdc-reg5 {
839				regulator-always-on;
840				regulator-boot-on;
841				regulator-min-microvolt = <675000>;
842				regulator-max-microvolt = <900000>;
843				regulator-ramp-delay = <12500>;
844				regulator-name = "vdd_ddr_s0";
845
846				regulator-state-mem {
847					regulator-off-in-suspend;
848				};
849			};
850
851			vdd2_ddr_s3: dcdc-reg6 {
852				regulator-always-on;
853				regulator-boot-on;
854				regulator-name = "vdd2_ddr_s3";
855
856				regulator-state-mem {
857					regulator-on-in-suspend;
858				};
859			};
860
861			vcc_2v0_pldo_s3: dcdc-reg7 {
862				regulator-always-on;
863				regulator-boot-on;
864				regulator-min-microvolt = <2000000>;
865				regulator-max-microvolt = <2000000>;
866				regulator-ramp-delay = <12500>;
867				regulator-name = "vdd_2v0_pldo_s3";
868
869				regulator-state-mem {
870					regulator-on-in-suspend;
871				};
872			};
873
874			vcc_3v3_s3: dcdc-reg8 {
875				regulator-always-on;
876				regulator-boot-on;
877				regulator-min-microvolt = <3300000>;
878				regulator-max-microvolt = <3300000>;
879				regulator-name = "vcc_3v3_s3";
880
881				regulator-state-mem {
882					regulator-on-in-suspend;
883				};
884			};
885
886			vddq_ddr_s0: dcdc-reg9 {
887				regulator-always-on;
888				regulator-boot-on;
889				regulator-name = "vddq_ddr_s0";
890
891				regulator-state-mem {
892					regulator-off-in-suspend;
893				};
894			};
895
896			vcc_1v8_s3: dcdc-reg10 {
897				regulator-always-on;
898				regulator-boot-on;
899				regulator-min-microvolt = <1800000>;
900				regulator-max-microvolt = <1800000>;
901				regulator-name = "vcc_1v8_s3";
902
903				regulator-state-mem {
904					regulator-on-in-suspend;
905				};
906			};
907
908			avcc_1v8_s0: pldo-reg1 {
909				regulator-always-on;
910				regulator-boot-on;
911				regulator-min-microvolt = <1800000>;
912				regulator-max-microvolt = <1800000>;
913				regulator-name = "avcc_1v8_s0";
914
915				regulator-state-mem {
916					regulator-off-in-suspend;
917				};
918			};
919
920			vcc_1v8_s0: pldo-reg2 {
921				regulator-always-on;
922				regulator-boot-on;
923				regulator-min-microvolt = <1800000>;
924				regulator-max-microvolt = <1800000>;
925				regulator-name = "vcc_1v8_s0";
926
927				regulator-state-mem {
928					regulator-off-in-suspend;
929				};
930			};
931
932			avdd_1v2_s0: pldo-reg3 {
933				regulator-always-on;
934				regulator-boot-on;
935				regulator-min-microvolt = <1200000>;
936				regulator-max-microvolt = <1200000>;
937				regulator-name = "avdd_1v2_s0";
938
939				regulator-state-mem {
940					regulator-off-in-suspend;
941				};
942			};
943
944			vcc_3v3_s0: pldo-reg4 {
945				regulator-always-on;
946				regulator-boot-on;
947				regulator-min-microvolt = <3300000>;
948				regulator-max-microvolt = <3300000>;
949				regulator-ramp-delay = <12500>;
950				regulator-name = "vcc_3v3_s0";
951
952				regulator-state-mem {
953					regulator-off-in-suspend;
954				};
955			};
956
957			vccio_sd_s0: pldo-reg5 {
958				regulator-always-on;
959				regulator-boot-on;
960				regulator-min-microvolt = <1800000>;
961				regulator-max-microvolt = <3300000>;
962				regulator-ramp-delay = <12500>;
963				regulator-name = "vccio_sd_s0";
964
965				regulator-state-mem {
966					regulator-off-in-suspend;
967				};
968			};
969
970			pldo6_s3: pldo-reg6 {
971				regulator-always-on;
972				regulator-boot-on;
973				regulator-min-microvolt = <1800000>;
974				regulator-max-microvolt = <1800000>;
975				regulator-name = "pldo6_s3";
976
977				regulator-state-mem {
978					regulator-on-in-suspend;
979				};
980			};
981
982			vdd_0v75_s3: nldo-reg1 {
983				regulator-always-on;
984				regulator-boot-on;
985				regulator-min-microvolt = <750000>;
986				regulator-max-microvolt = <750000>;
987				regulator-name = "vdd_0v75_s3";
988
989				regulator-state-mem {
990					regulator-on-in-suspend;
991				};
992			};
993
994			vdd_ddr_pll_s0: nldo-reg2 {
995				regulator-always-on;
996				regulator-boot-on;
997				regulator-min-microvolt = <850000>;
998				regulator-max-microvolt = <850000>;
999				regulator-name = "vdd_ddr_pll_s0";
1000
1001				regulator-state-mem {
1002					regulator-off-in-suspend;
1003				};
1004			};
1005
1006			avdd_0v75_s0: nldo-reg3 {
1007				regulator-always-on;
1008				regulator-boot-on;
1009				regulator-min-microvolt = <750000>;
1010				regulator-max-microvolt = <750000>;
1011				regulator-name = "avdd_0v75_s0";
1012
1013				regulator-state-mem {
1014					regulator-off-in-suspend;
1015				};
1016			};
1017
1018			vdd_0v85_s0: nldo-reg4 {
1019				regulator-always-on;
1020				regulator-boot-on;
1021				regulator-min-microvolt = <850000>;
1022				regulator-max-microvolt = <850000>;
1023				regulator-name = "vdd_0v85_s0";
1024
1025				regulator-state-mem {
1026					regulator-off-in-suspend;
1027				};
1028			};
1029
1030			vdd_0v75_s0: nldo-reg5 {
1031				regulator-always-on;
1032				regulator-boot-on;
1033				regulator-min-microvolt = <750000>;
1034				regulator-max-microvolt = <750000>;
1035				regulator-name = "vdd_0v75_s0";
1036
1037				regulator-state-mem {
1038					regulator-off-in-suspend;
1039				};
1040			};
1041		};
1042	};
1043};
1044
1045&tsadc {
1046	status = "okay";
1047};
1048
1049&u2phy0 {
1050	status = "okay";
1051};
1052
1053&u2phy0_otg {
1054	status = "okay";
1055};
1056
1057&u2phy1 {
1058	status = "okay";
1059};
1060
1061&u2phy1_otg {
1062	status = "okay";
1063};
1064
1065&u2phy2 {
1066	status = "okay";
1067};
1068
1069&u2phy2_host {
1070	phy-supply = <&vcc5v0_sys>;
1071	status = "okay";
1072};
1073
1074&u2phy3 {
1075	status = "okay";
1076};
1077
1078&u2phy3_host {
1079	phy-supply = <&vcc5v0_sys>;
1080	status = "okay";
1081};
1082
1083&uart1 {
1084	pinctrl-0 = <&uart1m0_xfer>;
1085	status = "okay";
1086};
1087
1088&uart2 {
1089	pinctrl-0 = <&uart2m0_xfer>;
1090	status = "okay";
1091};
1092
1093&uart6 {
1094	pinctrl-0 = <&uart6m0_xfer>;
1095	status = "okay";
1096};
1097
1098&uart7 {
1099	pinctrl-0 = <&uart7m0_xfer>;
1100	status = "okay";
1101};
1102
1103&uart9 {
1104	pinctrl-0 = <&uart9m0_xfer>;
1105	status = "okay";
1106};
1107
1108&usb_host0_ehci {
1109	status = "okay";
1110};
1111
1112&usb_host0_ohci {
1113	status = "okay";
1114};
1115
1116&usb_host0_xhci {
1117	usb-role-switch;
1118	status = "okay";
1119
1120	port {
1121		usb_host0_xhci_drd_sw: endpoint {
1122			remote-endpoint = <&usbc0_hs>;
1123		};
1124	};
1125};
1126
1127&usb_host1_ehci {
1128	status = "okay";
1129};
1130
1131&usb_host1_ohci {
1132	status = "okay";
1133};
1134
1135&usb_host1_xhci {
1136	dr_mode = "host";
1137	status = "okay";
1138};
1139
1140&usbdp_phy0 {
1141	mode-switch;
1142	orientation-switch;
1143	sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
1144	sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
1145	status = "okay";
1146
1147	port {
1148		#address-cells = <1>;
1149		#size-cells = <0>;
1150
1151		usbdp_phy0_typec_ss: endpoint@0 {
1152			reg = <0>;
1153			remote-endpoint = <&usbc0_ss>;
1154		};
1155
1156		usbdp_phy0_typec_sbu: endpoint@1 {
1157			reg = <1>;
1158			remote-endpoint = <&usbc0_sbu>;
1159		};
1160	};
1161};
1162
1163&usbdp_phy1 {
1164	status = "okay";
1165};
1166
1167&vop {
1168	status = "okay";
1169};
1170
1171&vop_mmu {
1172	status = "okay";
1173};
1174
1175&vp0 {
1176	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
1177		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
1178		remote-endpoint = <&hdmi0_in_vp0>;
1179	};
1180};
1181