xref: /linux/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts (revision 26bda0dff9ca74ae071643e0176f248d72f43580)
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		clock-names = "mclk";
369		AVDD-supply = <&vcc_1v8_s0>;
370		DVDD-supply = <&vcc_1v8_s0>;
371		HPVDD-supply = <&vcc_3v3_s0>;
372		PVDD-supply = <&vcc_3v3_s0>;
373		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
374		assigned-clock-rates = <12288000>;
375		#sound-dai-cells = <0>;
376	};
377};
378
379&i2s0_8ch {
380	pinctrl-names = "default";
381	pinctrl-0 = <&i2s0_lrck
382		     &i2s0_mclk
383		     &i2s0_sclk
384		     &i2s0_sdi0
385		     &i2s0_sdo0>;
386	status = "okay";
387};
388
389&i2s2_2ch {
390	pinctrl-names = "default";
391	pinctrl-0 = <&i2s2m0_lrck
392		     &i2s2m0_sclk
393		     &i2s2m0_sdi
394		     &i2s2m0_sdo>;
395	status = "okay";
396};
397
398&package_thermal {
399	polling-delay = <1000>;
400
401	cooling-maps {
402		map0 {
403			trip = <&package_fan0>;
404			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
405		};
406
407		map1 {
408			trip = <&package_fan1>;
409			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
410		};
411	};
412
413	trips {
414		package_fan0: package-fan0 {
415			temperature = <55000>;
416			hysteresis = <2000>;
417			type = "active";
418		};
419
420		package_fan1: package-fan1 {
421			temperature = <65000>;
422			hysteresis = <2000>;
423			type = "active";
424		};
425	};
426};
427
428/* phy1 - M.KEY socket */
429&pcie2x1l0 {
430	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
431	vpcie3v3-supply = <&vcc3v3_wf>;
432	status = "okay";
433};
434
435/* phy2 - right ethernet port */
436&pcie2x1l1 {
437	reset-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
438	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
439	status = "okay";
440};
441
442/* phy0 - left ethernet port */
443&pcie2x1l2 {
444	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
445	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
446	status = "okay";
447};
448
449&pcie30phy {
450	status = "okay";
451};
452
453&pcie3x4 {
454	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
455	vpcie3v3-supply = <&vcc3v3_pcie30>;
456	status = "okay";
457};
458
459&pinctrl {
460	hym8563 {
461		hym8563_int: hym8563-int {
462			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
463		};
464	};
465
466	leds {
467		blue_led_pin: blue-led {
468			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
469		};
470	};
471
472	ir-receiver {
473		ir_receiver_pin: ir-receiver-pin {
474			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
475		};
476	};
477
478	sound {
479		hp_detect: hp-detect {
480			rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
481		};
482	};
483
484	usb {
485		vcc5v0_usb20_en: vcc5v0-usb20-en {
486			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
487		};
488	};
489};
490
491&pwm2 {
492	pinctrl-0 = <&pwm2m1_pins>;
493	pinctrl-names = "default";
494	status = "okay";
495};
496
497&pwm3 {
498	pinctrl-0 = <&pwm3m1_pins>;
499	status = "okay";
500};
501
502&saradc {
503	vref-supply = <&vcc_1v8_s0>;
504	status = "okay";
505};
506
507&sdhci {
508	bus-width = <8>;
509	no-sdio;
510	no-sd;
511	non-removable;
512	max-frequency = <200000000>;
513	mmc-hs400-1_8v;
514	mmc-hs400-enhanced-strobe;
515	status = "okay";
516};
517
518&sdmmc {
519	bus-width = <4>;
520	cap-sd-highspeed;
521	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
522	disable-wp;
523	max-frequency = <150000000>;
524	no-sdio;
525	no-mmc;
526	sd-uhs-sdr104;
527	vmmc-supply = <&vcc_3v3_s3>;
528	vqmmc-supply = <&vccio_sd_s0>;
529	status = "okay";
530};
531
532&sfc {
533	pinctrl-names = "default";
534	pinctrl-0 = <&fspim1_pins>;
535	status = "okay";
536
537	spi_flash: flash@0 {
538		compatible = "jedec,spi-nor";
539		reg = <0x0>;
540		spi-max-frequency = <100000000>;
541		spi-rx-bus-width = <4>;
542		spi-tx-bus-width = <1>;
543	};
544};
545
546&spi2 {
547	assigned-clocks = <&cru CLK_SPI2>;
548	assigned-clock-rates = <200000000>;
549	num-cs = <1>;
550	pinctrl-names = "default";
551	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
552	status = "okay";
553
554	pmic@0 {
555		compatible = "rockchip,rk806";
556		reg = <0x0>;
557		interrupt-parent = <&gpio0>;
558		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
559		pinctrl-names = "default";
560		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
561			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
562		spi-max-frequency = <1000000>;
563		system-power-controller;
564
565		vcc1-supply = <&vcc5v0_sys>;
566		vcc2-supply = <&vcc5v0_sys>;
567		vcc3-supply = <&vcc5v0_sys>;
568		vcc4-supply = <&vcc5v0_sys>;
569		vcc5-supply = <&vcc5v0_sys>;
570		vcc6-supply = <&vcc5v0_sys>;
571		vcc7-supply = <&vcc5v0_sys>;
572		vcc8-supply = <&vcc5v0_sys>;
573		vcc9-supply = <&vcc5v0_sys>;
574		vcc10-supply = <&vcc5v0_sys>;
575		vcc11-supply = <&vcc_2v0_pldo_s3>;
576		vcc12-supply = <&vcc5v0_sys>;
577		vcc13-supply = <&vdd2_ddr_s3>;
578		vcc14-supply = <&vdd2_ddr_s3>;
579		vcca-supply = <&vcc5v0_sys>;
580
581		gpio-controller;
582		#gpio-cells = <2>;
583
584		rk806_dvs1_null: dvs1-null-pins {
585			pins = "gpio_pwrctrl1";
586			function = "pin_fun0";
587		};
588
589		rk806_dvs2_null: dvs2-null-pins {
590			pins = "gpio_pwrctrl2";
591			function = "pin_fun0";
592		};
593
594		rk806_dvs3_null: dvs3-null-pins {
595			pins = "gpio_pwrctrl3";
596			function = "pin_fun0";
597		};
598
599		regulators {
600			vdd_gpu_s0: dcdc-reg1 {
601				regulator-name = "vdd_gpu_s0";
602				regulator-boot-on;
603				regulator-enable-ramp-delay = <400>;
604				regulator-min-microvolt = <550000>;
605				regulator-max-microvolt = <950000>;
606				regulator-ramp-delay = <12500>;
607
608				regulator-state-mem {
609					regulator-off-in-suspend;
610				};
611			};
612
613			vdd_cpu_lit_s0: dcdc-reg2 {
614				regulator-name = "vdd_cpu_lit_s0";
615				regulator-always-on;
616				regulator-boot-on;
617				regulator-min-microvolt = <550000>;
618				regulator-max-microvolt = <950000>;
619				regulator-ramp-delay = <12500>;
620
621				regulator-state-mem {
622					regulator-off-in-suspend;
623				};
624			};
625
626			vdd_log_s0: dcdc-reg3 {
627				regulator-name = "vdd_log_s0";
628				regulator-always-on;
629				regulator-boot-on;
630				regulator-min-microvolt = <675000>;
631				regulator-max-microvolt = <825000>;
632				regulator-ramp-delay = <12500>;
633
634				regulator-state-mem {
635					regulator-off-in-suspend;
636					regulator-suspend-microvolt = <750000>;
637				};
638			};
639
640			vdd_vdenc_s0: dcdc-reg4 {
641				regulator-name = "vdd_vdenc_s0";
642				regulator-always-on;
643				regulator-boot-on;
644				regulator-min-microvolt = <550000>;
645				regulator-max-microvolt = <825000>;
646				regulator-ramp-delay = <12500>;
647
648				regulator-state-mem {
649					regulator-off-in-suspend;
650				};
651			};
652
653			vdd_ddr_s0: dcdc-reg5 {
654				regulator-name = "vdd_ddr_s0";
655				regulator-always-on;
656				regulator-boot-on;
657				regulator-min-microvolt = <675000>;
658				regulator-max-microvolt = <900000>;
659				regulator-ramp-delay = <12500>;
660
661				regulator-state-mem {
662					regulator-off-in-suspend;
663					regulator-suspend-microvolt = <850000>;
664				};
665			};
666
667			vdd2_ddr_s3: dcdc-reg6 {
668				regulator-name = "vdd2_ddr_s3";
669				regulator-always-on;
670				regulator-boot-on;
671
672				regulator-state-mem {
673					regulator-on-in-suspend;
674				};
675			};
676
677			vcc_2v0_pldo_s3: dcdc-reg7 {
678				regulator-name = "vdd_2v0_pldo_s3";
679				regulator-always-on;
680				regulator-boot-on;
681				regulator-min-microvolt = <2000000>;
682				regulator-max-microvolt = <2000000>;
683				regulator-ramp-delay = <12500>;
684
685				regulator-state-mem {
686					regulator-on-in-suspend;
687					regulator-suspend-microvolt = <2000000>;
688				};
689			};
690
691			vcc_3v3_s3: dcdc-reg8 {
692				regulator-name = "vcc_3v3_s3";
693				regulator-always-on;
694				regulator-boot-on;
695				regulator-min-microvolt = <3300000>;
696				regulator-max-microvolt = <3300000>;
697
698				regulator-state-mem {
699					regulator-on-in-suspend;
700					regulator-suspend-microvolt = <3300000>;
701				};
702			};
703
704			vddq_ddr_s0: dcdc-reg9 {
705				regulator-name = "vddq_ddr_s0";
706				regulator-always-on;
707				regulator-boot-on;
708
709				regulator-state-mem {
710					regulator-off-in-suspend;
711				};
712			};
713
714			vcc_1v8_s3: dcdc-reg10 {
715				regulator-name = "vcc_1v8_s3";
716				regulator-always-on;
717				regulator-boot-on;
718				regulator-min-microvolt = <1800000>;
719				regulator-max-microvolt = <1800000>;
720
721				regulator-state-mem {
722					regulator-on-in-suspend;
723					regulator-suspend-microvolt = <1800000>;
724				};
725			};
726
727			avcc_1v8_s0: pldo-reg1 {
728				regulator-name = "avcc_1v8_s0";
729				regulator-always-on;
730				regulator-boot-on;
731				regulator-min-microvolt = <1800000>;
732				regulator-max-microvolt = <1800000>;
733
734				regulator-state-mem {
735					regulator-off-in-suspend;
736					regulator-suspend-microvolt = <1800000>;
737				};
738			};
739
740			/* shorted to avcc_1v8_s0 on the board */
741			vcc_1v8_s0: pldo-reg2 {
742				regulator-name = "vcc_1v8_s0";
743				regulator-always-on;
744				regulator-boot-on;
745				regulator-min-microvolt = <1800000>;
746				regulator-max-microvolt = <1800000>;
747
748				regulator-state-mem {
749					regulator-off-in-suspend;
750					regulator-suspend-microvolt = <1800000>;
751				};
752			};
753
754			avdd_1v2_s0: pldo-reg3 {
755				regulator-name = "avdd_1v2_s0";
756				regulator-always-on;
757				regulator-boot-on;
758				regulator-min-microvolt = <1200000>;
759				regulator-max-microvolt = <1200000>;
760
761				regulator-state-mem {
762					regulator-off-in-suspend;
763				};
764			};
765
766			vcc_3v3_s0: pldo-reg4 {
767				regulator-name = "vcc_3v3_s0";
768				regulator-always-on;
769				regulator-boot-on;
770				regulator-min-microvolt = <3300000>;
771				regulator-max-microvolt = <3300000>;
772				regulator-ramp-delay = <12500>;
773
774				regulator-state-mem {
775					regulator-off-in-suspend;
776				};
777			};
778
779			vccio_sd_s0: pldo-reg5 {
780				regulator-name = "vccio_sd_s0";
781				regulator-always-on;
782				regulator-boot-on;
783				regulator-min-microvolt = <1800000>;
784				regulator-max-microvolt = <3300000>;
785				regulator-ramp-delay = <12500>;
786
787				regulator-state-mem {
788					regulator-off-in-suspend;
789				};
790			};
791
792			pldo6_s3: pldo-reg6 {
793				regulator-name = "pldo6_s3";
794				regulator-always-on;
795				regulator-boot-on;
796				regulator-min-microvolt = <1800000>;
797				regulator-max-microvolt = <1800000>;
798
799				regulator-state-mem {
800					regulator-on-in-suspend;
801					regulator-suspend-microvolt = <1800000>;
802				};
803			};
804
805			vdd_0v75_s3: nldo-reg1 {
806				regulator-name = "vdd_0v75_s3";
807				regulator-always-on;
808				regulator-boot-on;
809				regulator-min-microvolt = <750000>;
810				regulator-max-microvolt = <750000>;
811
812				regulator-state-mem {
813					regulator-on-in-suspend;
814					regulator-suspend-microvolt = <750000>;
815				};
816			};
817
818			vdd_ddr_pll_s0: nldo-reg2 {
819				regulator-name = "vdd_ddr_pll_s0";
820				regulator-always-on;
821				regulator-boot-on;
822				regulator-min-microvolt = <850000>;
823				regulator-max-microvolt = <850000>;
824
825				regulator-state-mem {
826					regulator-off-in-suspend;
827					regulator-suspend-microvolt = <850000>;
828				};
829			};
830
831			avdd_0v75_s0: nldo-reg3 {
832				regulator-name = "avdd_0v75_s0";
833				regulator-always-on;
834				regulator-boot-on;
835				/*
836				 * The schematic mentions that actual setting
837				 * should be 0.8375V. RK3588 datasheet specifies
838				 * maximum as 0.825V. So we set datasheet max
839				 * here.
840				 */
841				regulator-min-microvolt = <825000>;
842				regulator-max-microvolt = <825000>;
843
844				regulator-state-mem {
845					regulator-off-in-suspend;
846				};
847			};
848
849			vdd_0v85_s0: nldo-reg4 {
850				regulator-name = "vdd_0v85_s0";
851				regulator-always-on;
852				regulator-boot-on;
853				regulator-min-microvolt = <850000>;
854				regulator-max-microvolt = <850000>;
855
856				regulator-state-mem {
857					regulator-off-in-suspend;
858				};
859			};
860
861			vdd_0v75_s0: nldo-reg5 {
862				regulator-name = "vdd_0v75_s0";
863				regulator-always-on;
864				regulator-boot-on;
865				regulator-min-microvolt = <750000>;
866				regulator-max-microvolt = <750000>;
867
868				regulator-state-mem {
869					regulator-off-in-suspend;
870				};
871			};
872		};
873	};
874};
875
876&tsadc {
877	status = "okay";
878};
879
880&u2phy2 {
881	status = "okay";
882};
883
884&u2phy3 {
885	status = "okay";
886};
887
888&u2phy2_host {
889	phy-supply = <&vcc5v0_usb20>;
890	status = "okay";
891};
892
893&u2phy3_host {
894	phy-supply = <&vcc5v0_usb20>;
895	status = "okay";
896};
897
898&uart2 {
899	pinctrl-0 = <&uart2m0_xfer>;
900	status = "okay";
901};
902
903&uart9 {
904	pinctrl-0 = <&uart9m0_xfer>;
905	status = "okay";
906};
907
908&usb_host0_ehci {
909	status = "okay";
910};
911
912&usb_host0_ohci {
913	status = "okay";
914};
915
916&usb_host1_ehci {
917	status = "okay";
918};
919
920&usb_host1_ohci {
921	status = "okay";
922};
923
924&vop_mmu {
925	status = "okay";
926};
927
928&vop {
929	status = "okay";
930};
931
932&vp0 {
933	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
934		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
935		remote-endpoint = <&hdmi0_in_vp0>;
936	};
937};
938