1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
4 *
5 * https://cool-pi.com/topic/130/coolpi-4b-product-spec-introduction
6 *
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/leds/common.h>
13#include <dt-bindings/pinctrl/rockchip.h>
14#include <dt-bindings/soc/rockchip,vop2.h>
15#include "rk3588s.dtsi"
16
17/ {
18	model = "RK3588S CoolPi 4 Model B";
19	compatible = "coolpi,pi-4b", "rockchip,rk3588s";
20
21	aliases {
22		mmc0 = &sdhci;
23		mmc1 = &sdmmc;
24		mmc2 = &sdio;
25	};
26
27	analog-sound {
28		compatible = "audio-graph-card";
29		dais = <&i2s0_8ch_p0>;
30		label = "rk3588-es8316";
31		routing = "MIC2", "Mic Jack",
32			  "Headphones", "HPOL",
33			  "Headphones", "HPOR";
34		widgets = "Microphone", "Mic Jack",
35			  "Headphone", "Headphones";
36	};
37
38	chosen {
39		stdout-path = "serial2:1500000n8";
40	};
41
42	hdmi-con {
43		compatible = "hdmi-connector";
44		type = "d";
45
46		port {
47			hdmi_con_in: endpoint {
48				remote-endpoint = <&hdmi0_out_con>;
49			};
50		};
51	};
52
53	leds: leds {
54		compatible = "gpio-leds";
55		pinctrl-names = "default";
56		pinctrl-0 = <&gpio_leds>;
57
58		led0: led-green {
59			color = <LED_COLOR_ID_GREEN>;
60			function = LED_FUNCTION_STATUS;
61			gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>;
62			linux,default-trigger = "heartbeat";
63		};
64
65		led1: led-red {
66			color = <LED_COLOR_ID_RED>;
67			default-state = "off";
68			function = LED_FUNCTION_WLAN;
69			gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
70			linux,default-trigger = "phy0tx";
71		};
72	};
73
74	sdio_pwrseq: sdio-pwrseq {
75		compatible = "mmc-pwrseq-simple";
76		clocks = <&hym8563>;
77		clock-names = "ext_clock";
78		pinctrl-names = "default";
79		pinctrl-0 = <&wifi_enable_h>;
80		/*
81		 * On the module itself this is one of these (depending
82		 * on the actual card populated):
83		 * - SDIO_RESET_L_WL_REG_ON
84		 * - PDN (power down when low)
85		 */
86		post-power-on-delay-ms = <200>;
87		reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>;
88	};
89
90	vcc12v_dcin: regulator-vcc12v-dcin {
91		compatible = "regulator-fixed";
92		regulator-name = "vcc12v_dcin";
93		regulator-always-on;
94		regulator-boot-on;
95		regulator-min-microvolt = <12000000>;
96		regulator-max-microvolt = <12000000>;
97	};
98
99	vcc5v0_sys: regulator-vcc5v0-sys {
100		compatible = "regulator-fixed";
101		regulator-name = "vcc5v0_sys";
102		regulator-always-on;
103		regulator-boot-on;
104		regulator-min-microvolt = <5000000>;
105		regulator-max-microvolt = <5000000>;
106		vin-supply = <&vcc12v_dcin>;
107	};
108
109	vcc5v0_usbdcin: regulator-vcc5v0-usbdcin {
110		compatible = "regulator-fixed";
111		regulator-name = "vcc5v0_usbdcin";
112		regulator-always-on;
113		regulator-boot-on;
114		regulator-min-microvolt = <5000000>;
115		regulator-max-microvolt = <5000000>;
116		vin-supply = <&vcc12v_dcin>;
117	};
118
119	vcc5v0_usb: regulator-vcc5v0-usb {
120		compatible = "regulator-fixed";
121		regulator-name = "vcc5v0_usb";
122		regulator-always-on;
123		regulator-boot-on;
124		regulator-min-microvolt = <5000000>;
125		regulator-max-microvolt = <5000000>;
126		vin-supply = <&vcc5v0_usbdcin>;
127	};
128
129	avdd0v85_pcie20: regulator-avdd0v85-pcie20 {
130		compatible = "regulator-fixed";
131		regulator-name = "avdd0v85_pcie20";
132		regulator-boot-on;
133		regulator-always-on;
134		regulator-min-microvolt = <850000>;
135		regulator-max-microvolt = <850000>;
136		vin-supply = <&vdd_0v85_s0>;
137	};
138
139	avdd1v8_pcie20: regulator-avdd1v8-pcie20 {
140		compatible = "regulator-fixed";
141		regulator-name = "avdd1v8_pcie20";
142		regulator-boot-on;
143		regulator-always-on;
144		regulator-min-microvolt = <1800000>;
145		regulator-max-microvolt = <1800000>;
146		vin-supply = <&avcc_1v8_s0>;
147	};
148
149	vcc3v3_mipi: regulator-vcc3v3-mipi {
150		compatible = "regulator-fixed";
151		enable-active-high;
152		gpio = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
153		regulator-name = "vcc3v3_mipi";
154		regulator-boot-on;
155		regulator-always-on;
156		vin-supply = <&vcc_3v3_s3>;
157	};
158
159	vcc5v0_host: regulator-vcc5v0-host {
160		compatible = "regulator-fixed";
161		enable-active-high;
162		gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
163		pinctrl-names = "default";
164		pinctrl-0 = <&vcc5v0_host_en>;
165		regulator-name = "vcc5v0_host";
166		regulator-boot-on;
167		regulator-always-on;
168		regulator-min-microvolt = <5000000>;
169		regulator-max-microvolt = <5000000>;
170		vin-supply = <&vcc5v0_sys>;
171	};
172
173	vcc5v0_otg: regulator-vcc5v0-otg {
174		compatible = "regulator-fixed";
175		enable-active-high;
176		gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
177		pinctrl-names = "default";
178		pinctrl-0 = <&vcc5v0_u3host_en>;
179		regulator-name = "vcc5v0_otg";
180		regulator-boot-on;
181		regulator-always-on;
182		regulator-min-microvolt = <5000000>;
183		regulator-max-microvolt = <5000000>;
184		vin-supply = <&vcc5v0_sys>;
185	};
186
187	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
188		compatible = "regulator-fixed";
189		regulator-name = "vcc_1v1_nldo_s3";
190		regulator-always-on;
191		regulator-boot-on;
192		regulator-min-microvolt = <1100000>;
193		regulator-max-microvolt = <1100000>;
194		vin-supply = <&vcc5v0_sys>;
195	};
196};
197
198&combphy0_ps {
199	status = "okay";
200};
201
202&combphy2_psu {
203	status = "okay";
204};
205
206&cpu_l0 {
207	cpu-supply = <&vdd_cpu_lit_s0>;
208};
209
210&cpu_b0 {
211	cpu-supply = <&vdd_cpu_big0_s0>;
212};
213
214&cpu_b2 {
215	cpu-supply = <&vdd_cpu_big1_s0>;
216};
217
218&gpu {
219	mali-supply = <&vdd_gpu_s0>;
220	status = "okay";
221};
222
223&hdmi0 {
224	status = "okay";
225};
226
227&hdmi0_in {
228	hdmi0_in_vp0: endpoint {
229		remote-endpoint = <&vp0_out_hdmi0>;
230	};
231};
232
233&hdmi0_out {
234	hdmi0_out_con: endpoint {
235		remote-endpoint = <&hdmi_con_in>;
236	};
237};
238
239&hdptxphy0 {
240	status = "okay";
241};
242
243&i2c0 {
244	pinctrl-0 = <&i2c0m2_xfer>;
245	status = "okay";
246
247	vdd_cpu_big0_s0: regulator@42 {
248		compatible = "rockchip,rk8602";
249		reg = <0x42>;
250		fcs,suspend-voltage-selector = <1>;
251		regulator-name = "vdd_cpu_big0_s0";
252		regulator-always-on;
253		regulator-boot-on;
254		regulator-min-microvolt = <550000>;
255		regulator-max-microvolt = <1050000>;
256		regulator-ramp-delay = <2300>;
257		vin-supply = <&vcc5v0_sys>;
258
259		regulator-state-mem {
260			regulator-off-in-suspend;
261		};
262	};
263
264	vdd_cpu_big1_s0: regulator@43 {
265		compatible = "rockchip,rk8603", "rockchip,rk8602";
266		reg = <0x43>;
267		fcs,suspend-voltage-selector = <1>;
268		regulator-name = "vdd_cpu_big1_s0";
269		regulator-always-on;
270		regulator-boot-on;
271		regulator-min-microvolt = <550000>;
272		regulator-max-microvolt = <1050000>;
273		regulator-ramp-delay = <2300>;
274		vin-supply = <&vcc5v0_sys>;
275
276		regulator-state-mem {
277			regulator-off-in-suspend;
278		};
279	};
280};
281
282&i2c2 {
283	status = "okay";
284
285	vdd_npu_s0: regulator@42 {
286		compatible = "rockchip,rk8602";
287		reg = <0x42>;
288		fcs,suspend-voltage-selector = <1>;
289		regulator-name = "vdd_npu_s0";
290		regulator-always-on;
291		regulator-boot-on;
292		regulator-min-microvolt = <550000>;
293		regulator-max-microvolt = <950000>;
294		regulator-ramp-delay = <2300>;
295		vin-supply = <&vcc5v0_sys>;
296
297		regulator-state-mem {
298			regulator-off-in-suspend;
299		};
300	};
301};
302
303&i2c6 {
304	pinctrl-0 = <&i2c6m3_xfer>;
305	status = "okay";
306
307	hym8563: rtc@51 {
308		compatible = "haoyu,hym8563";
309		reg = <0x51>;
310		interrupt-parent = <&gpio0>;
311		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
312		#clock-cells = <0>;
313		clock-output-names = "hym8563";
314		pinctrl-names = "default";
315		pinctrl-0 = <&hym8563_int>;
316	};
317};
318
319&i2c7 {
320	pinctrl-0 = <&i2c7m0_xfer>;
321	status = "okay";
322
323	es8316: audio-codec@10 {
324		compatible = "everest,es8316";
325		reg = <0x10>;
326		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
327		assigned-clock-rates = <12288000>;
328		clocks = <&cru I2S0_8CH_MCLKOUT>;
329		clock-names = "mclk";
330		#sound-dai-cells = <0>;
331
332		port {
333			es8316_p0_0: endpoint {
334				remote-endpoint = <&i2s0_8ch_p0_0>;
335			};
336		};
337	};
338};
339
340&i2s0_8ch {
341	pinctrl-0 = <&i2s0_lrck
342		     &i2s0_mclk
343		     &i2s0_sclk
344		     &i2s0_sdi0
345		     &i2s0_sdo0>;
346	status = "okay";
347
348	i2s0_8ch_p0: port {
349		i2s0_8ch_p0_0: endpoint {
350			dai-format = "i2s";
351			mclk-fs = <256>;
352			remote-endpoint = <&es8316_p0_0>;
353		};
354	};
355};
356
357&pcie2x1l2 {
358	pinctrl-names = "default";
359	pinctrl-0 = <&rtl8111_isolate>;
360	reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
361	status = "okay";
362};
363
364&pd_gpu {
365	domain-supply = <&vdd_gpu_s0>;
366};
367
368&pinctrl {
369	hym8563 {
370		hym8563_int: hym8563-int {
371			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
372		};
373	};
374
375	led {
376		gpio_leds: gpio-leds {
377			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>,
378					<0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>;
379		};
380	};
381
382	rtl8111 {
383		rtl8111_isolate: rtl8111-isolate {
384			rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
385		};
386	};
387
388	sdio-pwrseq {
389		wifi_enable_h: wifi-enable-h {
390			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
391		};
392	};
393
394	usb {
395		vcc5v0_host_en: vcc5v0-host-en {
396			rockchip,pins = <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>,
397					<4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
398		};
399
400		vcc5v0_u3host_en: vcc5v0-u3host-en {
401			rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
402		};
403	};
404
405	wireless-bluetooth {
406		bt_reset_gpio: bt-reset-pin {
407			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
408		};
409
410		bt_wake_gpio: bt-wake-pin {
411			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
412		};
413
414		bt_wake_host_irq: bt-wake-host-irq {
415			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
416		};
417	};
418
419	wireless-wlan {
420		wifi_host_wake_irq: wifi-host-wake-irq {
421			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
422		};
423
424		wifi_poweren_pin: wifi-poweren-pin {
425			rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
426		};
427	};
428};
429
430&pwm2 {
431	pinctrl-0 = <&pwm2m1_pins>;
432	status = "okay";
433};
434
435&pwm13 {
436	pinctrl-names = "default";
437	pinctrl-0 = <&pwm13m2_pins>;
438	status = "okay";
439};
440
441&saradc {
442	vref-supply = <&vcc_1v8_s0>;
443	status = "okay";
444};
445
446&sdhci {
447	bus-width = <8>;
448	max-frequency = <200000000>;
449	mmc-hs400-1_8v;
450	mmc-hs400-enhanced-strobe;
451	no-sdio;
452	no-sd;
453	non-removable;
454	status = "okay";
455};
456
457&sdio {
458	bus-width = <4>;
459	cap-sd-highspeed;
460	cap-sdio-irq;
461	disable-wp;
462	keep-power-in-suspend;
463	max-frequency = <150000000>;
464	mmc-pwrseq = <&sdio_pwrseq>;
465	no-sd;
466	no-mmc;
467	non-removable;
468	pinctrl-names = "default";
469	pinctrl-0 = <&sdiom1_pins>,<&wifi_poweren_pin>;
470	status = "okay";
471};
472
473&sdmmc {
474	bus-width = <4>;
475	cap-mmc-highspeed;
476	cap-sd-highspeed;
477	disable-wp;
478	max-frequency = <150000000>;
479	no-sdio;
480	no-mmc;
481	sd-uhs-sdr104;
482	vmmc-supply = <&vcc_3v3_s3>;
483	vqmmc-supply = <&vccio_sd_s0>;
484	status = "okay";
485};
486
487&spi2 {
488	assigned-clocks = <&cru CLK_SPI2>;
489	assigned-clock-rates = <200000000>;
490	num-cs = <1>;
491	pinctrl-names = "default";
492	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
493	status = "okay";
494
495	pmic@0 {
496		compatible = "rockchip,rk806";
497		reg = <0x0>;
498		interrupt-parent = <&gpio0>;
499		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
500		gpio-controller;
501		#gpio-cells = <2>;
502		pinctrl-names = "default";
503		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
504			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
505		spi-max-frequency = <1000000>;
506		vcc1-supply = <&vcc5v0_sys>;
507		vcc2-supply = <&vcc5v0_sys>;
508		vcc3-supply = <&vcc5v0_sys>;
509		vcc4-supply = <&vcc5v0_sys>;
510		vcc5-supply = <&vcc5v0_sys>;
511		vcc6-supply = <&vcc5v0_sys>;
512		vcc7-supply = <&vcc5v0_sys>;
513		vcc8-supply = <&vcc5v0_sys>;
514		vcc9-supply = <&vcc5v0_sys>;
515		vcc10-supply = <&vcc5v0_sys>;
516		vcc11-supply = <&vcc_2v0_pldo_s3>;
517		vcc12-supply = <&vcc5v0_sys>;
518		vcc13-supply = <&vcc_1v1_nldo_s3>;
519		vcc14-supply = <&vcc_1v1_nldo_s3>;
520		vcca-supply = <&vcc5v0_sys>;
521
522		rk806_dvs1_null: dvs1-null-pins {
523			pins = "gpio_pwrctrl1";
524			function = "pin_fun0";
525		};
526
527		rk806_dvs2_null: dvs2-null-pins {
528			pins = "gpio_pwrctrl2";
529			function = "pin_fun0";
530		};
531
532		rk806_dvs3_null: dvs3-null-pins {
533			pins = "gpio_pwrctrl3";
534			function = "pin_fun0";
535		};
536
537		regulators {
538			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
539				regulator-name = "vdd_gpu_s0";
540				regulator-boot-on;
541				regulator-min-microvolt = <550000>;
542				regulator-max-microvolt = <950000>;
543				regulator-ramp-delay = <12500>;
544				regulator-enable-ramp-delay = <400>;
545
546				regulator-state-mem {
547					regulator-off-in-suspend;
548				};
549			};
550
551			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
552				regulator-name = "vdd_cpu_lit_s0";
553				regulator-always-on;
554				regulator-boot-on;
555				regulator-min-microvolt = <550000>;
556				regulator-max-microvolt = <950000>;
557				regulator-ramp-delay = <12500>;
558
559				regulator-state-mem {
560					regulator-off-in-suspend;
561				};
562			};
563
564			vdd_log_s0: dcdc-reg3 {
565				regulator-name = "vdd_log_s0";
566				regulator-always-on;
567				regulator-boot-on;
568				regulator-min-microvolt = <675000>;
569				regulator-max-microvolt = <750000>;
570				regulator-ramp-delay = <12500>;
571
572				regulator-state-mem {
573					regulator-off-in-suspend;
574					regulator-suspend-microvolt = <750000>;
575				};
576			};
577
578			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
579				regulator-name = "vdd_vdenc_s0";
580				regulator-always-on;
581				regulator-boot-on;
582				regulator-min-microvolt = <550000>;
583				regulator-max-microvolt = <950000>;
584				regulator-ramp-delay = <12500>;
585
586				regulator-state-mem {
587					regulator-off-in-suspend;
588				};
589			};
590
591			vdd_ddr_s0: dcdc-reg5 {
592				regulator-name = "vdd_ddr_s0";
593				regulator-always-on;
594				regulator-boot-on;
595				regulator-min-microvolt = <675000>;
596				regulator-max-microvolt = <900000>;
597				regulator-ramp-delay = <12500>;
598
599				regulator-state-mem {
600					regulator-off-in-suspend;
601					regulator-suspend-microvolt = <850000>;
602				};
603			};
604
605			vdd2_ddr_s3: dcdc-reg6 {
606				regulator-name = "vdd2_ddr_s3";
607				regulator-always-on;
608				regulator-boot-on;
609
610				regulator-state-mem {
611					regulator-on-in-suspend;
612				};
613			};
614
615			vcc_2v0_pldo_s3: dcdc-reg7 {
616				regulator-name = "vdd_2v0_pldo_s3";
617				regulator-always-on;
618				regulator-boot-on;
619				regulator-min-microvolt = <2000000>;
620				regulator-max-microvolt = <2000000>;
621				regulator-ramp-delay = <12500>;
622
623				regulator-state-mem {
624					regulator-on-in-suspend;
625					regulator-suspend-microvolt = <2000000>;
626				};
627			};
628
629			vcc_3v3_s3: dcdc-reg8 {
630				regulator-name = "vcc_3v3_s3";
631				regulator-always-on;
632				regulator-boot-on;
633				regulator-min-microvolt = <3300000>;
634				regulator-max-microvolt = <3300000>;
635
636				regulator-state-mem {
637					regulator-on-in-suspend;
638					regulator-suspend-microvolt = <3300000>;
639				};
640			};
641
642			vddq_ddr_s0: dcdc-reg9 {
643				regulator-name = "vddq_ddr_s0";
644				regulator-always-on;
645				regulator-boot-on;
646
647				regulator-state-mem {
648					regulator-off-in-suspend;
649				};
650			};
651
652			vcc_1v8_s3: dcdc-reg10 {
653				regulator-name = "vcc_1v8_s3";
654				regulator-always-on;
655				regulator-boot-on;
656				regulator-min-microvolt = <1800000>;
657				regulator-max-microvolt = <1800000>;
658
659				regulator-state-mem {
660					regulator-on-in-suspend;
661					regulator-suspend-microvolt = <1800000>;
662				};
663			};
664
665			avcc_1v8_s0: pldo-reg1 {
666				regulator-name = "avcc_1v8_s0";
667				regulator-always-on;
668				regulator-boot-on;
669				regulator-min-microvolt = <1800000>;
670				regulator-max-microvolt = <1800000>;
671
672				regulator-state-mem {
673					regulator-off-in-suspend;
674				};
675			};
676
677			vcc_1v8_s0: pldo-reg2 {
678				regulator-name = "vcc_1v8_s0";
679				regulator-always-on;
680				regulator-boot-on;
681				regulator-min-microvolt = <1800000>;
682				regulator-max-microvolt = <1800000>;
683
684				regulator-state-mem {
685					regulator-off-in-suspend;
686					regulator-suspend-microvolt = <1800000>;
687				};
688			};
689
690			avdd_1v2_s0: pldo-reg3 {
691				regulator-name = "avdd_1v2_s0";
692				regulator-always-on;
693				regulator-boot-on;
694				regulator-min-microvolt = <1200000>;
695				regulator-max-microvolt = <1200000>;
696
697				regulator-state-mem {
698					regulator-off-in-suspend;
699				};
700			};
701
702			vcc_3v3_s0: pldo-reg4 {
703				regulator-name = "vcc_3v3_s0";
704				regulator-always-on;
705				regulator-boot-on;
706				regulator-min-microvolt = <3300000>;
707				regulator-max-microvolt = <3300000>;
708				regulator-ramp-delay = <12500>;
709
710				regulator-state-mem {
711					regulator-off-in-suspend;
712				};
713			};
714
715			vccio_sd_s0: pldo-reg5 {
716				regulator-name = "vccio_sd_s0";
717				regulator-always-on;
718				regulator-boot-on;
719				regulator-min-microvolt = <1800000>;
720				regulator-max-microvolt = <3300000>;
721				regulator-ramp-delay = <12500>;
722
723				regulator-state-mem {
724					regulator-off-in-suspend;
725				};
726			};
727
728			pldo6_s3: pldo-reg6 {
729				regulator-name = "pldo6_s3";
730				regulator-always-on;
731				regulator-boot-on;
732				regulator-min-microvolt = <1800000>;
733				regulator-max-microvolt = <1800000>;
734
735				regulator-state-mem {
736					regulator-on-in-suspend;
737					regulator-suspend-microvolt = <1800000>;
738				};
739			};
740
741			vdd_0v75_s3: nldo-reg1 {
742				regulator-name = "vdd_0v75_s3";
743				regulator-always-on;
744				regulator-boot-on;
745				regulator-min-microvolt = <750000>;
746				regulator-max-microvolt = <750000>;
747
748				regulator-state-mem {
749					regulator-on-in-suspend;
750					regulator-suspend-microvolt = <750000>;
751				};
752			};
753
754			vdd_ddr_pll_s0: nldo-reg2 {
755				regulator-name = "vdd_ddr_pll_s0";
756				regulator-always-on;
757				regulator-boot-on;
758				regulator-min-microvolt = <850000>;
759				regulator-max-microvolt = <850000>;
760
761				regulator-state-mem {
762					regulator-off-in-suspend;
763					regulator-suspend-microvolt = <850000>;
764				};
765			};
766
767			avdd_0v75_s0: nldo-reg3 {
768				regulator-name = "avdd_0v75_s0";
769				regulator-always-on;
770				regulator-boot-on;
771				regulator-min-microvolt = <750000>;
772				regulator-max-microvolt = <750000>;
773
774				regulator-state-mem {
775					regulator-off-in-suspend;
776				};
777			};
778
779			vdd_0v85_s0: nldo-reg4 {
780				regulator-name = "vdd_0v85_s0";
781				regulator-always-on;
782				regulator-boot-on;
783				regulator-min-microvolt = <850000>;
784				regulator-max-microvolt = <850000>;
785
786				regulator-state-mem {
787					regulator-off-in-suspend;
788				};
789			};
790
791			vdd_0v75_s0: nldo-reg5 {
792				regulator-name = "vdd_0v75_s0";
793				regulator-always-on;
794				regulator-boot-on;
795				regulator-min-microvolt = <750000>;
796				regulator-max-microvolt = <750000>;
797
798				regulator-state-mem {
799					regulator-off-in-suspend;
800				};
801			};
802		};
803	};
804};
805
806&tsadc {
807	status = "okay";
808};
809
810&u2phy0 {
811	status = "okay";
812};
813
814&u2phy0_otg {
815	status = "okay";
816};
817
818&u2phy2 {
819	status = "okay";
820};
821
822&u2phy3 {
823	status = "okay";
824};
825
826&u2phy2_host {
827	phy-supply = <&vcc5v0_host>;
828	status = "okay";
829};
830
831&u2phy3_host {
832	status = "okay";
833};
834
835&uart2 {
836	pinctrl-0 = <&uart2m0_xfer>;
837	status = "okay";
838};
839
840/* bt */
841&uart9 {
842	status = "okay";
843	pinctrl-names = "default";
844	pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn>;
845};
846
847&usbdp_phy0 {
848	/*
849	 * USBDP PHY0 is wired to a USB3 Type-A OTG connector. Additionally
850	 * the differential pairs 0+1 and the aux channel are wired to a
851	 * mini DP connector.
852	 */
853	rockchip,dp-lane-mux = <0 1>;
854	status = "okay";
855};
856
857&usb_host0_ehci {
858	status = "okay";
859};
860
861&usb_host0_ohci {
862	status = "okay";
863};
864
865&usb_host0_xhci {
866	extcon = <&u2phy0>;
867	status = "okay";
868};
869
870&usb_host1_ehci {
871	status = "okay";
872};
873
874&usb_host1_ohci {
875	status = "okay";
876};
877
878&vop {
879	status = "okay";
880};
881
882&vop_mmu {
883	status = "okay";
884};
885
886&vp0 {
887	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
888		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
889		remote-endpoint = <&hdmi0_in_vp0>;
890	};
891};
892