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