xref: /linux/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2023 Ondřej Jirman <megi@xff.cz>
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/leds/common.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12#include <dt-bindings/soc/rockchip,vop2.h>
13#include <dt-bindings/usb/pd.h>
14#include "rk3588.dtsi"
15
16/ {
17	model = "Xunlong Orange Pi 5 Plus";
18	compatible = "xunlong,orangepi-5-plus", "rockchip,rk3588";
19
20	aliases {
21		mmc0 = &sdhci;
22		mmc1 = &sdmmc;
23	};
24
25	chosen {
26		stdout-path = "serial2:1500000n8";
27	};
28
29	adc-keys-0 {
30		compatible = "adc-keys";
31		io-channels = <&saradc 0>;
32		io-channel-names = "buttons";
33		keyup-threshold-microvolt = <1800000>;
34		poll-interval = <100>;
35
36		button-maskrom {
37			label = "Mask Rom";
38			linux,code = <KEY_SETUP>;
39			press-threshold-microvolt = <2000>;
40		};
41	};
42
43	adc-keys-1 {
44		compatible = "adc-keys";
45		io-channels = <&saradc 1>;
46		io-channel-names = "buttons";
47		keyup-threshold-microvolt = <1800000>;
48		poll-interval = <100>;
49
50		button-recovery {
51			label = "Recovery";
52			linux,code = <KEY_VENDOR>;
53			press-threshold-microvolt = <2000>;
54		};
55	};
56
57	speaker_amp: speaker-audio-amplifier {
58		compatible = "simple-audio-amplifier";
59		enable-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
60		sound-name-prefix = "Speaker Amp";
61	};
62
63	headphone_amp: headphones-audio-amplifier {
64		compatible = "simple-audio-amplifier";
65		enable-gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
66		sound-name-prefix = "Headphones Amp";
67	};
68
69	ir-receiver {
70		compatible = "gpio-ir-receiver";
71		gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
72		pinctrl-names = "default";
73		pinctrl-0 = <&ir_receiver_pin>;
74	};
75
76	gpio-leds {
77		compatible = "gpio-leds";
78		pinctrl-names = "default";
79		pinctrl-0 = <&blue_led_pin>;
80
81		led {
82			color = <LED_COLOR_ID_BLUE>;
83			function = LED_FUNCTION_INDICATOR;
84			function-enumerator = <1>;
85			gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
86		};
87	};
88
89	hdmi0-con {
90		compatible = "hdmi-connector";
91		type = "a";
92
93		port {
94			hdmi0_con_in: endpoint {
95				remote-endpoint = <&hdmi0_out_con>;
96			};
97		};
98	};
99
100	fan: pwm-fan {
101		compatible = "pwm-fan";
102		cooling-levels = <0 70 75 80 100>;
103		fan-supply = <&vcc5v0_sys>;
104		pwms = <&pwm3 0 50000 0>;
105		#cooling-cells = <2>;
106	};
107
108	pwm-leds {
109		compatible = "pwm-leds";
110
111		led {
112			color = <LED_COLOR_ID_GREEN>;
113			function = LED_FUNCTION_INDICATOR;
114			function-enumerator = <2>;
115			max-brightness = <255>;
116			pwms = <&pwm2 0 25000 0>;
117		};
118	};
119
120	rfkill {
121		compatible = "rfkill-gpio";
122		label = "rfkill-pcie-wlan";
123		radio-type = "wlan";
124		shutdown-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
125	};
126
127	sound {
128		compatible = "simple-audio-card";
129		pinctrl-names = "default";
130		pinctrl-0 = <&hp_detect>;
131		simple-audio-card,name = "Analog";
132		simple-audio-card,aux-devs = <&speaker_amp>, <&headphone_amp>;
133		simple-audio-card,format = "i2s";
134		simple-audio-card,mclk-fs = <256>;
135		simple-audio-card,hp-det-gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_LOW>;
136		simple-audio-card,bitclock-master = <&daicpu>;
137		simple-audio-card,frame-master = <&daicpu>;
138		/*TODO: SARADC_IN3 is used as MIC detection / key input */
139
140		simple-audio-card,widgets =
141			"Microphone", "Onboard Microphone",
142			"Microphone", "Microphone Jack",
143			"Speaker", "Speaker",
144			"Headphone", "Headphones";
145
146		simple-audio-card,routing =
147			"Headphones", "LOUT1",
148			"Headphones", "ROUT1",
149			"Speaker", "LOUT2",
150			"Speaker", "ROUT2",
151
152			"Headphones", "Headphones Amp OUTL",
153			"Headphones", "Headphones Amp OUTR",
154			"Headphones Amp INL", "LOUT1",
155			"Headphones Amp INR", "ROUT1",
156
157			"Speaker", "Speaker Amp OUTL",
158			"Speaker", "Speaker Amp OUTR",
159			"Speaker Amp INL", "LOUT2",
160			"Speaker Amp INR", "ROUT2",
161
162			/* single ended signal to LINPUT1 */
163			"LINPUT1", "Microphone Jack",
164			"RINPUT1", "Microphone Jack",
165			/* differential signal */
166			"LINPUT2", "Onboard Microphone",
167			"RINPUT2", "Onboard Microphone";
168
169		daicpu: simple-audio-card,cpu {
170			sound-dai = <&i2s0_8ch>;
171			system-clock-frequency = <12288000>;
172		};
173
174		daicodec: simple-audio-card,codec {
175			sound-dai = <&es8388>;
176			system-clock-frequency = <12288000>;
177		};
178	};
179
180	vcc3v3_pcie30: regulator-vcc3v3-pcie30 {
181		compatible = "regulator-fixed";
182		enable-active-high;
183		gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
184		regulator-name = "vcc3v3_pcie30";
185		regulator-min-microvolt = <3300000>;
186		regulator-max-microvolt = <3300000>;
187		startup-delay-us = <5000>;
188		vin-supply = <&vcc5v0_sys>;
189	};
190
191	vcc3v3_pcie_eth: regulator-vcc3v3-pcie-eth {
192		compatible = "regulator-fixed";
193		gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
194		regulator-name = "vcc3v3_pcie_eth";
195		regulator-min-microvolt = <3300000>;
196		regulator-max-microvolt = <3300000>;
197		startup-delay-us = <50000>;
198		vin-supply = <&vcc5v0_sys>;
199	};
200
201	vcc3v3_wf: regulator-vcc3v3-wf {
202		compatible = "regulator-fixed";
203		enable-active-high;
204		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
205		regulator-name = "vcc3v3_wf";
206		regulator-min-microvolt = <3300000>;
207		regulator-max-microvolt = <3300000>;
208		startup-delay-us = <50000>;
209		vin-supply = <&vcc5v0_sys>;
210	};
211
212	vcc5v0_sys: regulator-vcc5v0-sys {
213		compatible = "regulator-fixed";
214		regulator-name = "vcc5v0_sys";
215		regulator-always-on;
216		regulator-boot-on;
217		regulator-min-microvolt = <5000000>;
218		regulator-max-microvolt = <5000000>;
219	};
220
221	vcc5v0_usb20: regulator-vcc5v0-usb20 {
222		compatible = "regulator-fixed";
223		enable-active-high;
224		gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
225		pinctrl-names = "default";
226		pinctrl-0 = <&vcc5v0_usb20_en>;
227		regulator-name = "vcc5v0_usb20";
228		regulator-min-microvolt = <5000000>;
229		regulator-max-microvolt = <5000000>;
230		vin-supply = <&vcc5v0_sys>;
231	};
232};
233
234&combphy0_ps {
235	status = "okay";
236};
237
238&combphy1_ps {
239	status = "okay";
240};
241
242&combphy2_psu {
243	status = "okay";
244};
245
246&cpu_b0 {
247	cpu-supply = <&vdd_cpu_big0_s0>;
248};
249
250&cpu_b1 {
251	cpu-supply = <&vdd_cpu_big0_s0>;
252};
253
254&cpu_b2 {
255	cpu-supply = <&vdd_cpu_big1_s0>;
256};
257
258&cpu_b3 {
259	cpu-supply = <&vdd_cpu_big1_s0>;
260};
261
262&cpu_l0 {
263	cpu-supply = <&vdd_cpu_lit_s0>;
264};
265
266&cpu_l1 {
267	cpu-supply = <&vdd_cpu_lit_s0>;
268};
269
270&cpu_l2 {
271	cpu-supply = <&vdd_cpu_lit_s0>;
272};
273
274&cpu_l3 {
275	cpu-supply = <&vdd_cpu_lit_s0>;
276};
277
278&gpu {
279	mali-supply = <&vdd_gpu_s0>;
280	status = "okay";
281};
282
283&hdmi0 {
284	status = "okay";
285};
286
287&hdmi0_in {
288	hdmi0_in_vp0: endpoint {
289		remote-endpoint = <&vp0_out_hdmi0>;
290	};
291};
292
293&hdmi0_out {
294	hdmi0_out_con: endpoint {
295		remote-endpoint = <&hdmi0_con_in>;
296	};
297};
298
299&hdptxphy_hdmi0 {
300	status = "okay";
301};
302
303&i2c0 {
304	pinctrl-names = "default";
305	pinctrl-0 = <&i2c0m2_xfer>;
306	status = "okay";
307
308	vdd_cpu_big0_s0: regulator@42 {
309		compatible = "rockchip,rk8602";
310		reg = <0x42>;
311		fcs,suspend-voltage-selector = <1>;
312		regulator-name = "vdd_cpu_big0_s0";
313		regulator-always-on;
314		regulator-boot-on;
315		regulator-min-microvolt = <550000>;
316		regulator-max-microvolt = <1050000>;
317		regulator-ramp-delay = <2300>;
318		vin-supply = <&vcc5v0_sys>;
319
320		regulator-state-mem {
321			regulator-off-in-suspend;
322		};
323	};
324
325	vdd_cpu_big1_s0: regulator@43 {
326		compatible = "rockchip,rk8603", "rockchip,rk8602";
327		reg = <0x43>;
328		fcs,suspend-voltage-selector = <1>;
329		regulator-name = "vdd_cpu_big1_s0";
330		regulator-always-on;
331		regulator-boot-on;
332		regulator-min-microvolt = <550000>;
333		regulator-max-microvolt = <1050000>;
334		regulator-ramp-delay = <2300>;
335		vin-supply = <&vcc5v0_sys>;
336
337		regulator-state-mem {
338			regulator-off-in-suspend;
339		};
340	};
341};
342
343&i2c6 {
344	clock-frequency = <400000>;
345	status = "okay";
346
347	hym8563: rtc@51 {
348		compatible = "haoyu,hym8563";
349		reg = <0x51>;
350		interrupt-parent = <&gpio0>;
351		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
352		#clock-cells = <0>;
353		clock-output-names = "hym8563";
354		pinctrl-names = "default";
355		pinctrl-0 = <&hym8563_int>;
356		wakeup-source;
357	};
358};
359
360&i2c7 {
361	status = "okay";
362
363	/* PLDO2 vcca 1.8V, BUCK8 gated by PLDO2 being enabled */
364	es8388: audio-codec@11 {
365		compatible = "everest,es8388";
366		reg = <0x11>;
367		clocks = <&cru I2S0_8CH_MCLKOUT>;
368		AVDD-supply = <&vcc_1v8_s0>;
369		DVDD-supply = <&vcc_1v8_s0>;
370		HPVDD-supply = <&vcc_3v3_s0>;
371		PVDD-supply = <&vcc_3v3_s0>;
372		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
373		assigned-clock-rates = <12288000>;
374		#sound-dai-cells = <0>;
375	};
376};
377
378&i2s0_8ch {
379	pinctrl-names = "default";
380	pinctrl-0 = <&i2s0_lrck
381		     &i2s0_mclk
382		     &i2s0_sclk
383		     &i2s0_sdi0
384		     &i2s0_sdo0>;
385	status = "okay";
386};
387
388&i2s2_2ch {
389	pinctrl-names = "default";
390	pinctrl-0 = <&i2s2m0_lrck
391		     &i2s2m0_sclk
392		     &i2s2m0_sdi
393		     &i2s2m0_sdo>;
394	status = "okay";
395};
396
397&package_thermal {
398	polling-delay = <1000>;
399
400	cooling-maps {
401		map0 {
402			trip = <&package_fan0>;
403			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
404		};
405
406		map1 {
407			trip = <&package_fan1>;
408			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
409		};
410	};
411
412	trips {
413		package_fan0: package-fan0 {
414			temperature = <55000>;
415			hysteresis = <2000>;
416			type = "active";
417		};
418
419		package_fan1: package-fan1 {
420			temperature = <65000>;
421			hysteresis = <2000>;
422			type = "active";
423		};
424	};
425};
426
427/* phy1 - M.KEY socket */
428&pcie2x1l0 {
429	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
430	vpcie3v3-supply = <&vcc3v3_wf>;
431	status = "okay";
432};
433
434/* phy2 - right ethernet port */
435&pcie2x1l1 {
436	reset-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
437	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
438	status = "okay";
439};
440
441/* phy0 - left ethernet port */
442&pcie2x1l2 {
443	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
444	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
445	status = "okay";
446};
447
448&pcie30phy {
449	status = "okay";
450};
451
452&pcie3x4 {
453	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
454	vpcie3v3-supply = <&vcc3v3_pcie30>;
455	status = "okay";
456};
457
458&pinctrl {
459	hym8563 {
460		hym8563_int: hym8563-int {
461			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
462		};
463	};
464
465	leds {
466		blue_led_pin: blue-led {
467			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
468		};
469	};
470
471	ir-receiver {
472		ir_receiver_pin: ir-receiver-pin {
473			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
474		};
475	};
476
477	sound {
478		hp_detect: hp-detect {
479			rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
480		};
481	};
482
483	usb {
484		vcc5v0_usb20_en: vcc5v0-usb20-en {
485			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
486		};
487	};
488};
489
490&pwm2 {
491	pinctrl-0 = <&pwm2m1_pins>;
492	pinctrl-names = "default";
493	status = "okay";
494};
495
496&pwm3 {
497	pinctrl-0 = <&pwm3m1_pins>;
498	status = "okay";
499};
500
501&saradc {
502	vref-supply = <&vcc_1v8_s0>;
503	status = "okay";
504};
505
506&sdhci {
507	bus-width = <8>;
508	no-sdio;
509	no-sd;
510	non-removable;
511	max-frequency = <200000000>;
512	mmc-hs400-1_8v;
513	mmc-hs400-enhanced-strobe;
514	status = "okay";
515};
516
517&sdmmc {
518	bus-width = <4>;
519	cap-sd-highspeed;
520	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
521	disable-wp;
522	max-frequency = <150000000>;
523	no-sdio;
524	no-mmc;
525	sd-uhs-sdr104;
526	vmmc-supply = <&vcc_3v3_s3>;
527	vqmmc-supply = <&vccio_sd_s0>;
528	status = "okay";
529};
530
531&sfc {
532	pinctrl-names = "default";
533	pinctrl-0 = <&fspim1_pins>;
534	status = "okay";
535
536	spi_flash: flash@0 {
537		compatible = "jedec,spi-nor";
538		reg = <0x0>;
539		spi-max-frequency = <100000000>;
540		spi-rx-bus-width = <4>;
541		spi-tx-bus-width = <1>;
542	};
543};
544
545&spi2 {
546	assigned-clocks = <&cru CLK_SPI2>;
547	assigned-clock-rates = <200000000>;
548	num-cs = <1>;
549	pinctrl-names = "default";
550	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
551	status = "okay";
552
553	pmic@0 {
554		compatible = "rockchip,rk806";
555		reg = <0x0>;
556		interrupt-parent = <&gpio0>;
557		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
558		pinctrl-names = "default";
559		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
560			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
561		spi-max-frequency = <1000000>;
562		system-power-controller;
563
564		vcc1-supply = <&vcc5v0_sys>;
565		vcc2-supply = <&vcc5v0_sys>;
566		vcc3-supply = <&vcc5v0_sys>;
567		vcc4-supply = <&vcc5v0_sys>;
568		vcc5-supply = <&vcc5v0_sys>;
569		vcc6-supply = <&vcc5v0_sys>;
570		vcc7-supply = <&vcc5v0_sys>;
571		vcc8-supply = <&vcc5v0_sys>;
572		vcc9-supply = <&vcc5v0_sys>;
573		vcc10-supply = <&vcc5v0_sys>;
574		vcc11-supply = <&vcc_2v0_pldo_s3>;
575		vcc12-supply = <&vcc5v0_sys>;
576		vcc13-supply = <&vdd2_ddr_s3>;
577		vcc14-supply = <&vdd2_ddr_s3>;
578		vcca-supply = <&vcc5v0_sys>;
579
580		gpio-controller;
581		#gpio-cells = <2>;
582
583		rk806_dvs1_null: dvs1-null-pins {
584			pins = "gpio_pwrctrl1";
585			function = "pin_fun0";
586		};
587
588		rk806_dvs2_null: dvs2-null-pins {
589			pins = "gpio_pwrctrl2";
590			function = "pin_fun0";
591		};
592
593		rk806_dvs3_null: dvs3-null-pins {
594			pins = "gpio_pwrctrl3";
595			function = "pin_fun0";
596		};
597
598		regulators {
599			vdd_gpu_s0: dcdc-reg1 {
600				regulator-name = "vdd_gpu_s0";
601				regulator-boot-on;
602				regulator-enable-ramp-delay = <400>;
603				regulator-min-microvolt = <550000>;
604				regulator-max-microvolt = <950000>;
605				regulator-ramp-delay = <12500>;
606
607				regulator-state-mem {
608					regulator-off-in-suspend;
609				};
610			};
611
612			vdd_cpu_lit_s0: dcdc-reg2 {
613				regulator-name = "vdd_cpu_lit_s0";
614				regulator-always-on;
615				regulator-boot-on;
616				regulator-min-microvolt = <550000>;
617				regulator-max-microvolt = <950000>;
618				regulator-ramp-delay = <12500>;
619
620				regulator-state-mem {
621					regulator-off-in-suspend;
622				};
623			};
624
625			vdd_log_s0: dcdc-reg3 {
626				regulator-name = "vdd_log_s0";
627				regulator-always-on;
628				regulator-boot-on;
629				regulator-min-microvolt = <675000>;
630				regulator-max-microvolt = <825000>;
631				regulator-ramp-delay = <12500>;
632
633				regulator-state-mem {
634					regulator-off-in-suspend;
635					regulator-suspend-microvolt = <750000>;
636				};
637			};
638
639			vdd_vdenc_s0: dcdc-reg4 {
640				regulator-name = "vdd_vdenc_s0";
641				regulator-always-on;
642				regulator-boot-on;
643				regulator-min-microvolt = <550000>;
644				regulator-max-microvolt = <825000>;
645				regulator-ramp-delay = <12500>;
646
647				regulator-state-mem {
648					regulator-off-in-suspend;
649				};
650			};
651
652			vdd_ddr_s0: dcdc-reg5 {
653				regulator-name = "vdd_ddr_s0";
654				regulator-always-on;
655				regulator-boot-on;
656				regulator-min-microvolt = <675000>;
657				regulator-max-microvolt = <900000>;
658				regulator-ramp-delay = <12500>;
659
660				regulator-state-mem {
661					regulator-off-in-suspend;
662					regulator-suspend-microvolt = <850000>;
663				};
664			};
665
666			vdd2_ddr_s3: dcdc-reg6 {
667				regulator-name = "vdd2_ddr_s3";
668				regulator-always-on;
669				regulator-boot-on;
670
671				regulator-state-mem {
672					regulator-on-in-suspend;
673				};
674			};
675
676			vcc_2v0_pldo_s3: dcdc-reg7 {
677				regulator-name = "vdd_2v0_pldo_s3";
678				regulator-always-on;
679				regulator-boot-on;
680				regulator-min-microvolt = <2000000>;
681				regulator-max-microvolt = <2000000>;
682				regulator-ramp-delay = <12500>;
683
684				regulator-state-mem {
685					regulator-on-in-suspend;
686					regulator-suspend-microvolt = <2000000>;
687				};
688			};
689
690			vcc_3v3_s3: dcdc-reg8 {
691				regulator-name = "vcc_3v3_s3";
692				regulator-always-on;
693				regulator-boot-on;
694				regulator-min-microvolt = <3300000>;
695				regulator-max-microvolt = <3300000>;
696
697				regulator-state-mem {
698					regulator-on-in-suspend;
699					regulator-suspend-microvolt = <3300000>;
700				};
701			};
702
703			vddq_ddr_s0: dcdc-reg9 {
704				regulator-name = "vddq_ddr_s0";
705				regulator-always-on;
706				regulator-boot-on;
707
708				regulator-state-mem {
709					regulator-off-in-suspend;
710				};
711			};
712
713			vcc_1v8_s3: dcdc-reg10 {
714				regulator-name = "vcc_1v8_s3";
715				regulator-always-on;
716				regulator-boot-on;
717				regulator-min-microvolt = <1800000>;
718				regulator-max-microvolt = <1800000>;
719
720				regulator-state-mem {
721					regulator-on-in-suspend;
722					regulator-suspend-microvolt = <1800000>;
723				};
724			};
725
726			avcc_1v8_s0: pldo-reg1 {
727				regulator-name = "avcc_1v8_s0";
728				regulator-always-on;
729				regulator-boot-on;
730				regulator-min-microvolt = <1800000>;
731				regulator-max-microvolt = <1800000>;
732
733				regulator-state-mem {
734					regulator-off-in-suspend;
735					regulator-suspend-microvolt = <1800000>;
736				};
737			};
738
739			/* shorted to avcc_1v8_s0 on the board */
740			vcc_1v8_s0: pldo-reg2 {
741				regulator-name = "vcc_1v8_s0";
742				regulator-always-on;
743				regulator-boot-on;
744				regulator-min-microvolt = <1800000>;
745				regulator-max-microvolt = <1800000>;
746
747				regulator-state-mem {
748					regulator-off-in-suspend;
749					regulator-suspend-microvolt = <1800000>;
750				};
751			};
752
753			avdd_1v2_s0: pldo-reg3 {
754				regulator-name = "avdd_1v2_s0";
755				regulator-always-on;
756				regulator-boot-on;
757				regulator-min-microvolt = <1200000>;
758				regulator-max-microvolt = <1200000>;
759
760				regulator-state-mem {
761					regulator-off-in-suspend;
762				};
763			};
764
765			vcc_3v3_s0: pldo-reg4 {
766				regulator-name = "vcc_3v3_s0";
767				regulator-always-on;
768				regulator-boot-on;
769				regulator-min-microvolt = <3300000>;
770				regulator-max-microvolt = <3300000>;
771				regulator-ramp-delay = <12500>;
772
773				regulator-state-mem {
774					regulator-off-in-suspend;
775				};
776			};
777
778			vccio_sd_s0: pldo-reg5 {
779				regulator-name = "vccio_sd_s0";
780				regulator-always-on;
781				regulator-boot-on;
782				regulator-min-microvolt = <1800000>;
783				regulator-max-microvolt = <3300000>;
784				regulator-ramp-delay = <12500>;
785
786				regulator-state-mem {
787					regulator-off-in-suspend;
788				};
789			};
790
791			pldo6_s3: pldo-reg6 {
792				regulator-name = "pldo6_s3";
793				regulator-always-on;
794				regulator-boot-on;
795				regulator-min-microvolt = <1800000>;
796				regulator-max-microvolt = <1800000>;
797
798				regulator-state-mem {
799					regulator-on-in-suspend;
800					regulator-suspend-microvolt = <1800000>;
801				};
802			};
803
804			vdd_0v75_s3: nldo-reg1 {
805				regulator-name = "vdd_0v75_s3";
806				regulator-always-on;
807				regulator-boot-on;
808				regulator-min-microvolt = <750000>;
809				regulator-max-microvolt = <750000>;
810
811				regulator-state-mem {
812					regulator-on-in-suspend;
813					regulator-suspend-microvolt = <750000>;
814				};
815			};
816
817			vdd_ddr_pll_s0: nldo-reg2 {
818				regulator-name = "vdd_ddr_pll_s0";
819				regulator-always-on;
820				regulator-boot-on;
821				regulator-min-microvolt = <850000>;
822				regulator-max-microvolt = <850000>;
823
824				regulator-state-mem {
825					regulator-off-in-suspend;
826					regulator-suspend-microvolt = <850000>;
827				};
828			};
829
830			avdd_0v75_s0: nldo-reg3 {
831				regulator-name = "avdd_0v75_s0";
832				regulator-always-on;
833				regulator-boot-on;
834				/*
835				 * The schematic mentions that actual setting
836				 * should be 0.8375V. RK3588 datasheet specifies
837				 * maximum as 0.825V. So we set datasheet max
838				 * here.
839				 */
840				regulator-min-microvolt = <825000>;
841				regulator-max-microvolt = <825000>;
842
843				regulator-state-mem {
844					regulator-off-in-suspend;
845				};
846			};
847
848			vdd_0v85_s0: nldo-reg4 {
849				regulator-name = "vdd_0v85_s0";
850				regulator-always-on;
851				regulator-boot-on;
852				regulator-min-microvolt = <850000>;
853				regulator-max-microvolt = <850000>;
854
855				regulator-state-mem {
856					regulator-off-in-suspend;
857				};
858			};
859
860			vdd_0v75_s0: nldo-reg5 {
861				regulator-name = "vdd_0v75_s0";
862				regulator-always-on;
863				regulator-boot-on;
864				regulator-min-microvolt = <750000>;
865				regulator-max-microvolt = <750000>;
866
867				regulator-state-mem {
868					regulator-off-in-suspend;
869				};
870			};
871		};
872	};
873};
874
875&tsadc {
876	status = "okay";
877};
878
879&u2phy2 {
880	status = "okay";
881};
882
883&u2phy3 {
884	status = "okay";
885};
886
887&u2phy2_host {
888	phy-supply = <&vcc5v0_usb20>;
889	status = "okay";
890};
891
892&u2phy3_host {
893	phy-supply = <&vcc5v0_usb20>;
894	status = "okay";
895};
896
897&uart2 {
898	pinctrl-0 = <&uart2m0_xfer>;
899	status = "okay";
900};
901
902&uart9 {
903	pinctrl-0 = <&uart9m0_xfer>;
904	status = "okay";
905};
906
907&usb_host0_ehci {
908	status = "okay";
909};
910
911&usb_host0_ohci {
912	status = "okay";
913};
914
915&usb_host1_ehci {
916	status = "okay";
917};
918
919&usb_host1_ohci {
920	status = "okay";
921};
922
923&vop_mmu {
924	status = "okay";
925};
926
927&vop {
928	status = "okay";
929};
930
931&vp0 {
932	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
933		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
934		remote-endpoint = <&hdmi0_in_vp0>;
935	};
936};
937