xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588s-evb1-v10.dts (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2024 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.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 "rk3588s.dtsi"
15
16/ {
17	model = "Rockchip RK3588S EVB1 V10 Board";
18	compatible = "rockchip,rk3588s-evb1-v10", "rockchip,rk3588s";
19
20	aliases {
21		mmc0 = &sdhci;
22		mmc1 = &sdmmc;
23	};
24
25	chosen {
26		stdout-path = "serial2:1500000n8";
27	};
28
29	adc-keys {
30		compatible = "adc-keys";
31		io-channels = <&saradc 1>;
32		io-channel-names = "buttons";
33		keyup-threshold-microvolt = <1800000>;
34		poll-interval = <100>;
35
36		button-escape {
37			label = "Escape";
38			linux,code = <KEY_ESC>;
39			press-threshold-microvolt = <1235000>;
40		};
41
42		button-menu {
43			label = "Menu";
44			linux,code = <KEY_MENU>;
45			press-threshold-microvolt = <890000>;
46		};
47
48		button-vol-up {
49			label = "Volume Up";
50			linux,code = <KEY_VOLUMEUP>;
51			press-threshold-microvolt = <17000>;
52		};
53
54		button-vol-down {
55			label = "Volume Down";
56			linux,code = <KEY_VOLUMEDOWN>;
57			press-threshold-microvolt = <417000>;
58		};
59	};
60
61	amp_headphone: amplifier-headphone {
62		compatible = "simple-audio-amplifier";
63		enable-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
64		pinctrl-names = "default";
65		pinctrl-0 = <&headphone_amplifier_en>;
66		sound-name-prefix = "Headphones Amplifier";
67	};
68
69	amp_speaker: amplifier-speaker {
70		compatible = "simple-audio-amplifier";
71		enable-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
72		pinctrl-names = "default";
73		pinctrl-0 = <&speaker_amplifier_en>;
74		sound-name-prefix = "Speaker Amplifier";
75	};
76
77	analog-sound {
78		compatible = "simple-audio-card";
79		pinctrl-names = "default";
80		pinctrl-0 = <&hp_detect>;
81		simple-audio-card,name = "RK3588 EVB1 Audio";
82		simple-audio-card,aux-devs = <&amp_headphone>, <&amp_speaker>;
83		simple-audio-card,bitclock-master = <&masterdai>;
84		simple-audio-card,format = "i2s";
85		simple-audio-card,frame-master = <&masterdai>;
86		simple-audio-card,hp-det-gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>;
87		simple-audio-card,mclk-fs = <256>;
88		simple-audio-card,pin-switches = "Headphones", "Speaker";
89		simple-audio-card,routing =
90			"Speaker Amplifier INL", "LOUT2",
91			"Speaker Amplifier INR", "ROUT2",
92			"Speaker", "Speaker Amplifier OUTL",
93			"Speaker", "Speaker Amplifier OUTR",
94			"Headphones Amplifier INL", "LOUT1",
95			"Headphones Amplifier INR", "ROUT1",
96			"Headphones", "Headphones Amplifier OUTL",
97			"Headphones", "Headphones Amplifier OUTR",
98			"LINPUT1", "Onboard Microphone",
99			"RINPUT1", "Onboard Microphone",
100			"LINPUT2", "Microphone Jack",
101			"RINPUT2", "Microphone Jack";
102		simple-audio-card,widgets =
103			"Microphone", "Microphone Jack",
104			"Microphone", "Onboard Microphone",
105			"Headphone", "Headphones",
106			"Speaker", "Speaker";
107
108		simple-audio-card,cpu {
109			sound-dai = <&i2s0_8ch>;
110		};
111
112		masterdai: simple-audio-card,codec {
113			sound-dai = <&es8388>;
114			system-clock-frequency = <12288000>;
115		};
116	};
117
118	backlight: backlight {
119		compatible = "pwm-backlight";
120		power-supply = <&vcc3v3_lcd_edp>;
121		pwms = <&pwm12 0 25000 0>;
122	};
123
124	combophy_avdd0v85: regulator-combophy-avdd0v85 {
125		compatible = "regulator-fixed";
126		regulator-name = "combophy_avdd0v85";
127		regulator-always-on;
128		regulator-boot-on;
129		regulator-min-microvolt = <850000>;
130		regulator-max-microvolt = <850000>;
131		vin-supply = <&vdd_0v85_s0>;
132	};
133
134	combophy_avdd1v8: regulator-combophy-avdd1v8 {
135		compatible = "regulator-fixed";
136		regulator-name = "combophy_avdd1v8";
137		regulator-always-on;
138		regulator-boot-on;
139		regulator-min-microvolt = <1800000>;
140		regulator-max-microvolt = <1800000>;
141		vin-supply = <&avcc_1v8_s0>;
142	};
143
144	vbus5v0_typec: regulator-vbus5v0-typec {
145		compatible = "regulator-fixed";
146		enable-active-high;
147		gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
148		pinctrl-names = "default";
149		pinctrl-0 = <&typec5v_pwren>;
150		regulator-name = "vbus5v0_typec";
151		regulator-min-microvolt = <5000000>;
152		regulator-max-microvolt = <5000000>;
153		vin-supply = <&vcc5v0_usb>;
154	};
155
156	vcc12v_dcin: regulator-vcc12v-dcin {
157		compatible = "regulator-fixed";
158		regulator-name = "vcc12v_dcin";
159		regulator-always-on;
160		regulator-boot-on;
161		regulator-min-microvolt = <12000000>;
162		regulator-max-microvolt = <12000000>;
163	};
164
165	vcc3v3_lcd_edp: regulator-vcc3v3-lcd-edp {
166		compatible = "regulator-fixed";
167		enable-active-high;
168		gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_HIGH>;
169		pinctrl-names = "default";
170		pinctrl-0 = <&vcc3v3_lcd_edp_en>;
171		regulator-name = "vcc3v3_lcd_edp";
172		regulator-boot-on;
173		vin-supply = <&vcc_3v3_s3>;
174	};
175
176	vcc3v3_pcie20: regulator-vcc3v3-pcie20 {
177		compatible = "regulator-fixed";
178		enable-active-high;
179		gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
180		pinctrl-names = "default";
181		pinctrl-0 = <&vcc3v3_pcie20_en>;
182		regulator-name = "vcc3v3_pcie20";
183		regulator-min-microvolt = <3300000>;
184		regulator-max-microvolt = <3300000>;
185		startup-delay-us = <5000>;
186		vin-supply = <&vcc12v_dcin>;
187	};
188
189	vcc5v0_host: regulator-vcc5v0-host {
190		compatible = "regulator-fixed";
191		enable-active-high;
192		gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
193		pinctrl-names = "default";
194		pinctrl-0 = <&vcc5v0_host_en>;
195		regulator-name = "vcc5v0_host";
196		regulator-always-on;
197		regulator-boot-on;
198		regulator-min-microvolt = <5000000>;
199		regulator-max-microvolt = <5000000>;
200		vin-supply = <&vcc5v0_usb>;
201	};
202
203	vcc5v0_sys: regulator-vcc5v0-sys {
204		compatible = "regulator-fixed";
205		regulator-name = "vcc5v0_sys";
206		regulator-always-on;
207		regulator-boot-on;
208		regulator-min-microvolt = <5000000>;
209		regulator-max-microvolt = <5000000>;
210		vin-supply = <&vcc12v_dcin>;
211	};
212
213	vcc5v0_usb: regulator-vcc5v0-usb {
214		compatible = "regulator-fixed";
215		regulator-name = "vcc5v0_usb";
216		regulator-always-on;
217		regulator-boot-on;
218		regulator-min-microvolt = <5000000>;
219		regulator-max-microvolt = <5000000>;
220		vin-supply = <&vcc5v0_usbdcin>;
221	};
222
223	vcc5v0_usbdcin: regulator-vcc5v0-usbdcin {
224		compatible = "regulator-fixed";
225		regulator-name = "vcc5v0_usbdcin";
226		regulator-always-on;
227		regulator-boot-on;
228		regulator-min-microvolt = <5000000>;
229		regulator-max-microvolt = <5000000>;
230		vin-supply = <&vcc12v_dcin>;
231	};
232};
233
234&combphy0_ps {
235	status = "okay";
236};
237
238&combphy2_psu {
239	status = "okay";
240};
241
242&edp0 {
243	force-hpd;
244	status = "okay";
245
246	aux-bus {
247		panel {
248			compatible = "edp-panel";
249			backlight = <&backlight>;
250			power-supply = <&vcc3v3_lcd_edp>;
251			no-hpd;
252
253			port {
254				panel_in_edp: endpoint {
255					remote-endpoint = <&edp_out_panel>;
256				};
257			};
258		};
259	};
260};
261
262&edp0_in {
263	edp0_in_vp2: endpoint {
264		remote-endpoint = <&vp2_out_edp0>;
265	};
266};
267
268&edp0_out {
269	edp_out_panel: endpoint {
270		remote-endpoint = <&panel_in_edp>;
271	};
272};
273
274&hdptxphy0 {
275	status = "okay";
276};
277
278&i2c3 {
279	status = "okay";
280
281	es8388: audio-codec@11 {
282		compatible = "everest,es8388", "everest,es8328";
283		reg = <0x11>;
284		clocks = <&cru I2S0_8CH_MCLKOUT>;
285		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
286		assigned-clock-rates = <12288000>;
287		AVDD-supply = <&avcc_1v8_s0>;
288		DVDD-supply = <&avcc_1v8_s0>;
289		HPVDD-supply = <&vcc_3v3_s0>;
290		PVDD-supply = <&vcc_3v3_s0>;
291		#sound-dai-cells = <0>;
292	};
293};
294
295&i2c8 {
296	pinctrl-names = "default";
297	pinctrl-0 = <&i2c8m2_xfer>;
298	status = "okay";
299
300	usbc0: usb-typec@22 {
301		compatible = "fcs,fusb302";
302		reg = <0x22>;
303		interrupt-parent = <&gpio0>;
304		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
305		pinctrl-names = "default";
306		pinctrl-0 = <&usbc0_int>;
307		vbus-supply = <&vbus5v0_typec>;
308
309		usb_con: connector {
310			compatible = "usb-c-connector";
311			label = "USB-C";
312			data-role = "dual";
313			op-sink-microwatt = <1000000>;
314			power-role = "dual";
315			sink-pdos =
316				<PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
317			source-pdos =
318				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
319			try-power-role = "source";
320
321			ports {
322				#address-cells = <1>;
323				#size-cells = <0>;
324
325				port@0 {
326					reg = <0>;
327
328					usbc0_orien_sw: endpoint {
329						remote-endpoint = <&usbdp_phy0_orientation_switch>;
330					};
331				};
332
333				port@1 {
334					reg = <1>;
335
336					usbc0_role_sw: endpoint {
337						remote-endpoint = <&dwc3_0_role_switch>;
338					};
339				};
340
341				port@2 {
342					reg = <2>;
343
344					dp_altmode_mux: endpoint {
345						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
346					};
347				};
348			};
349		};
350	};
351
352	hym8563: rtc@51 {
353		compatible = "haoyu,hym8563";
354		reg = <0x51>;
355		#clock-cells = <0>;
356		clock-output-names = "hym8563";
357		pinctrl-names = "default";
358		pinctrl-0 = <&hym8563_int>;
359		interrupt-parent = <&gpio0>;
360		interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>;
361		wakeup-source;
362	};
363};
364
365&pcie2x1l1 {
366	pinctrl-names = "default";
367	pinctrl-0 = <&pcie2_1_rst>;
368	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
369	vpcie3v3-supply = <&vcc3v3_pcie20>;
370	status = "okay";
371};
372
373&pcie2x1l2 {
374	pinctrl-names = "default";
375	pinctrl-0 = <&pcie2_2_rst>;
376	reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;
377	status = "okay";
378};
379
380&pd_gpu {
381	domain-supply = <&vdd_gpu_s0>;
382};
383
384&pinctrl {
385	audio {
386		hp_detect: headphone-detect {
387			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
388		};
389
390		headphone_amplifier_en: headphone-amplifier-en {
391			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
392		};
393
394		speaker_amplifier_en: speaker-amplifier-en {
395			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
396		};
397	};
398
399	hym8563 {
400		hym8563_int: hym8563-int {
401			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
402		};
403	};
404
405	lcd-edp {
406		vcc3v3_lcd_edp_en: vcc3v3-lcd-edp-en {
407			rockchip,pins = <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
408		};
409	};
410
411	pcie2 {
412		pcie2_1_rst: pcie2-1-rst {
413			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
414		};
415
416		pcie2_2_rst: pcie2-2-rst {
417			rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
418		};
419
420		vcc3v3_pcie20_en: vcc3v3-pcie20-en {
421			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
422		};
423	};
424
425	usb {
426		vcc5v0_host_en: vcc5v0-host-en {
427			rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
428		};
429	};
430
431	usb-typec {
432		typec5v_pwren: typec5v-pwren {
433			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
434		};
435
436		usbc0_int: usbc0-int {
437			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
438		};
439	};
440};
441
442&pwm12 {
443	pinctrl-0 = <&pwm12m1_pins>;
444	status = "okay";
445};
446
447&saradc {
448	vref-supply = <&vcc_1v8_s0>;
449	status = "okay";
450};
451
452&sdhci {
453	bus-width = <8>;
454	mmc-hs400-1_8v;
455	mmc-hs400-enhanced-strobe;
456	no-sdio;
457	no-sd;
458	non-removable;
459	status = "okay";
460};
461
462&sdmmc {
463	bus-width = <4>;
464	cap-mmc-highspeed;
465	cap-sd-highspeed;
466	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
467	disable-wp;
468	max-frequency = <150000000>;
469	no-mmc;
470	no-sdio;
471	sd-uhs-sdr104;
472	vmmc-supply = <&vcc_3v3_sd_s0>;
473	vqmmc-supply = <&vccio_sd_s0>;
474	status = "okay";
475};
476
477&spi2 {
478	assigned-clocks = <&cru CLK_SPI2>;
479	assigned-clock-rates = <200000000>;
480	num-cs = <2>;
481	status = "okay";
482
483	pmic@0 {
484		compatible = "rockchip,rk806";
485		reg = <0x0>;
486		#gpio-cells = <2>;
487		gpio-controller;
488		interrupt-parent = <&gpio0>;
489		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
490		pinctrl-names = "default";
491		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
492			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
493		spi-max-frequency = <1000000>;
494		system-power-controller;
495
496		vcc1-supply = <&vcc5v0_sys>;
497		vcc2-supply = <&vcc5v0_sys>;
498		vcc3-supply = <&vcc5v0_sys>;
499		vcc4-supply = <&vcc5v0_sys>;
500		vcc5-supply = <&vcc5v0_sys>;
501		vcc6-supply = <&vcc5v0_sys>;
502		vcc7-supply = <&vcc5v0_sys>;
503		vcc8-supply = <&vcc5v0_sys>;
504		vcc9-supply = <&vcc5v0_sys>;
505		vcc10-supply = <&vcc5v0_sys>;
506		vcc11-supply = <&vcc_2v0_pldo_s3>;
507		vcc12-supply = <&vcc5v0_sys>;
508		vcc13-supply = <&vcc5v0_sys>;
509		vcc14-supply = <&vcc_1v1_nldo_s3>;
510		vcca-supply = <&vcc5v0_sys>;
511
512		rk806_dvs1_null: dvs1-null-pins {
513			pins = "gpio_pwrctrl1";
514			function = "pin_fun0";
515		};
516
517		rk806_dvs2_null: dvs2-null-pins {
518			pins = "gpio_pwrctrl2";
519			function = "pin_fun0";
520		};
521
522		rk806_dvs3_null: dvs3-null-pins {
523			pins = "gpio_pwrctrl3";
524			function = "pin_fun0";
525		};
526
527		regulators {
528			vdd_gpu_s0: dcdc-reg1 {
529				regulator-name = "vdd_gpu_s0";
530				regulator-boot-on;
531				regulator-min-microvolt = <550000>;
532				regulator-max-microvolt = <950000>;
533				regulator-ramp-delay = <12500>;
534				regulator-enable-ramp-delay = <400>;
535
536				regulator-state-mem {
537					regulator-off-in-suspend;
538				};
539			};
540
541			vdd_npu_s0: dcdc-reg2 {
542				regulator-name = "vdd_npu_s0";
543				regulator-always-on;
544				regulator-boot-on;
545				regulator-min-microvolt = <550000>;
546				regulator-max-microvolt = <950000>;
547				regulator-ramp-delay = <12500>;
548
549				regulator-state-mem {
550					regulator-off-in-suspend;
551				};
552			};
553
554			vdd_log_s0: dcdc-reg3 {
555				regulator-name = "vdd_log_s0";
556				regulator-always-on;
557				regulator-boot-on;
558				regulator-min-microvolt = <675000>;
559				regulator-max-microvolt = <800000>;
560				regulator-ramp-delay = <12500>;
561
562				regulator-state-mem {
563					regulator-off-in-suspend;
564					regulator-suspend-microvolt = <750000>;
565				};
566			};
567
568			vdd_vdenc_s0: dcdc-reg4 {
569				regulator-name = "vdd_vdenc_s0";
570				regulator-always-on;
571				regulator-boot-on;
572				regulator-min-microvolt = <550000>;
573				regulator-max-microvolt = <950000>;
574				regulator-ramp-delay = <12500>;
575
576				regulator-state-mem {
577					regulator-off-in-suspend;
578				};
579			};
580
581			vdd_gpu_mem_s0: dcdc-reg5 {
582				regulator-name = "vdd_gpu_mem_s0";
583				regulator-boot-on;
584				regulator-min-microvolt = <675000>;
585				regulator-max-microvolt = <950000>;
586				regulator-ramp-delay = <12500>;
587				regulator-enable-ramp-delay = <400>;
588
589				regulator-state-mem {
590					regulator-off-in-suspend;
591				};
592			};
593
594			vdd_npu_mem_s0: dcdc-reg6 {
595				regulator-name = "vdd_npu_mem_s0";
596				regulator-always-on;
597				regulator-boot-on;
598				regulator-min-microvolt = <675000>;
599				regulator-max-microvolt = <950000>;
600				regulator-ramp-delay = <12500>;
601
602				regulator-state-mem {
603					regulator-off-in-suspend;
604				};
605			};
606
607			vcc_2v0_pldo_s3: dcdc-reg7 {
608				regulator-name = "vdd_2v0_pldo_s3";
609				regulator-always-on;
610				regulator-boot-on;
611				regulator-min-microvolt = <2000000>;
612				regulator-max-microvolt = <2000000>;
613				regulator-ramp-delay = <12500>;
614
615				regulator-state-mem {
616					regulator-on-in-suspend;
617					regulator-suspend-microvolt = <2000000>;
618				};
619			};
620
621			vdd_vdenc_mem_s0: dcdc-reg8 {
622				regulator-name = "vdd_vdenc_mem_s0";
623				regulator-always-on;
624				regulator-boot-on;
625				regulator-min-microvolt = <675000>;
626				regulator-max-microvolt = <950000>;
627				regulator-ramp-delay = <12500>;
628
629				regulator-state-mem {
630					regulator-off-in-suspend;
631				};
632			};
633
634			vdd2_ddr_s3: dcdc-reg9 {
635				regulator-name = "vdd2_ddr_s3";
636				regulator-always-on;
637				regulator-boot-on;
638
639				regulator-state-mem {
640					regulator-on-in-suspend;
641				};
642			};
643
644			vcc_1v1_nldo_s3: dcdc-reg10 {
645				regulator-name = "vcc_1v1_nldo_s3";
646				regulator-always-on;
647				regulator-boot-on;
648				regulator-min-microvolt = <1100000>;
649				regulator-max-microvolt = <1100000>;
650				regulator-ramp-delay = <12500>;
651
652				regulator-state-mem {
653					regulator-on-in-suspend;
654					regulator-suspend-microvolt = <1100000>;
655				};
656			};
657
658			avcc_1v8_s0: pldo-reg1 {
659				regulator-name = "avcc_1v8_s0";
660				regulator-always-on;
661				regulator-boot-on;
662				regulator-min-microvolt = <1800000>;
663				regulator-max-microvolt = <1800000>;
664				regulator-ramp-delay = <12500>;
665
666				regulator-state-mem {
667					regulator-off-in-suspend;
668				};
669			};
670
671			vdd1_1v8_ddr_s3: pldo-reg2 {
672				regulator-name = "vdd1_1v8_ddr_s3";
673				regulator-always-on;
674				regulator-boot-on;
675				regulator-min-microvolt = <1800000>;
676				regulator-max-microvolt = <1800000>;
677				regulator-ramp-delay = <12500>;
678
679				regulator-state-mem {
680					regulator-on-in-suspend;
681					regulator-suspend-microvolt = <1800000>;
682				};
683			};
684
685			vcc_1v8_s3: pldo-reg3 {
686				regulator-name = "vcc_1v8_s3";
687				regulator-always-on;
688				regulator-boot-on;
689				regulator-min-microvolt = <1800000>;
690				regulator-max-microvolt = <1800000>;
691				regulator-ramp-delay = <12500>;
692
693				regulator-state-mem {
694					regulator-on-in-suspend;
695					regulator-suspend-microvolt = <1800000>;
696				};
697			};
698
699			vcc_3v3_s0: pldo-reg4 {
700				regulator-name = "vcc_3v3_s0";
701				regulator-always-on;
702				regulator-boot-on;
703				regulator-min-microvolt = <3300000>;
704				regulator-max-microvolt = <3300000>;
705				regulator-ramp-delay = <12500>;
706
707				regulator-state-mem {
708					regulator-off-in-suspend;
709				};
710			};
711
712			vccio_sd_s0: pldo-reg5 {
713				regulator-name = "vccio_sd_s0";
714				regulator-always-on;
715				regulator-boot-on;
716				regulator-min-microvolt = <1800000>;
717				regulator-max-microvolt = <3300000>;
718				regulator-ramp-delay = <12500>;
719
720				regulator-state-mem {
721					regulator-off-in-suspend;
722				};
723			};
724
725			master_pldo6_s3: pldo-reg6 {
726				regulator-name = "master_pldo6_s3";
727				regulator-always-on;
728				regulator-boot-on;
729				regulator-min-microvolt = <1800000>;
730				regulator-max-microvolt = <1800000>;
731
732				regulator-state-mem {
733					regulator-on-in-suspend;
734					regulator-suspend-microvolt = <1800000>;
735				};
736			};
737
738			vdd_0v75_s3: nldo-reg1 {
739				regulator-name = "vdd_0v75_s3";
740				regulator-always-on;
741				regulator-boot-on;
742				regulator-min-microvolt = <750000>;
743				regulator-max-microvolt = <750000>;
744				regulator-ramp-delay = <12500>;
745
746				regulator-state-mem {
747					regulator-on-in-suspend;
748					regulator-suspend-microvolt = <750000>;
749				};
750			};
751
752			vdd2l_0v9_ddr_s3: nldo-reg2 {
753				regulator-name = "vdd2l_0v9_ddr_s3";
754				regulator-always-on;
755				regulator-boot-on;
756				regulator-min-microvolt = <900000>;
757				regulator-max-microvolt = <900000>;
758
759				regulator-state-mem {
760					regulator-on-in-suspend;
761					regulator-suspend-microvolt = <900000>;
762				};
763			};
764
765			master_nldo3: nldo-reg3 {
766				regulator-name = "master_nldo3";
767
768				regulator-state-mem {
769					regulator-off-in-suspend;
770				};
771			};
772
773			avdd_0v75_s0: nldo-reg4 {
774				regulator-name = "avdd_0v75_s0";
775				regulator-always-on;
776				regulator-boot-on;
777				regulator-min-microvolt = <750000>;
778				regulator-max-microvolt = <750000>;
779
780				regulator-state-mem {
781					regulator-off-in-suspend;
782				};
783			};
784
785			vdd_0v85_s0: nldo-reg5 {
786				regulator-name = "vdd_0v85_s0";
787				regulator-always-on;
788				regulator-boot-on;
789				regulator-min-microvolt = <850000>;
790				regulator-max-microvolt = <850000>;
791
792				regulator-state-mem {
793					regulator-off-in-suspend;
794				};
795			};
796		};
797	};
798
799	pmic@1 {
800		compatible = "rockchip,rk806";
801		reg = <0x01>;
802		#gpio-cells = <2>;
803		gpio-controller;
804		interrupt-parent = <&gpio0>;
805		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
806		pinctrl-names = "default";
807		pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>,
808			    <&rk806_slave_dvs3_null>;
809		spi-max-frequency = <1000000>;
810
811		vcc1-supply = <&vcc5v0_sys>;
812		vcc2-supply = <&vcc5v0_sys>;
813		vcc3-supply = <&vcc5v0_sys>;
814		vcc4-supply = <&vcc5v0_sys>;
815		vcc5-supply = <&vcc5v0_sys>;
816		vcc6-supply = <&vcc5v0_sys>;
817		vcc7-supply = <&vcc5v0_sys>;
818		vcc8-supply = <&vcc5v0_sys>;
819		vcc9-supply = <&vcc5v0_sys>;
820		vcc10-supply = <&vcc5v0_sys>;
821		vcc11-supply = <&vcc_2v0_pldo_s3>;
822		vcc12-supply = <&vcc5v0_sys>;
823		vcc13-supply = <&vcc_1v1_nldo_s3>;
824		vcc14-supply = <&vcc_2v0_pldo_s3>;
825		vcca-supply = <&vcc5v0_sys>;
826
827		rk806_slave_dvs1_null: dvs1-null-pins {
828			pins = "gpio_pwrctrl1";
829			function = "pin_fun0";
830		};
831
832		rk806_slave_dvs2_null: dvs2-null-pins {
833			pins = "gpio_pwrctrl2";
834			function = "pin_fun0";
835		};
836
837		rk806_slave_dvs3_null: dvs3-null-pins {
838			pins = "gpio_pwrctrl3";
839			function = "pin_fun0";
840		};
841
842		regulators {
843			vdd_cpu_big1_s0: dcdc-reg1 {
844				regulator-name = "vdd_cpu_big1_s0";
845				regulator-always-on;
846				regulator-boot-on;
847				regulator-coupled-with = <&vdd_cpu_big1_mem_s0>;
848				regulator-coupled-max-spread = <10000>;
849				regulator-min-microvolt = <550000>;
850				regulator-max-microvolt = <1050000>;
851				regulator-ramp-delay = <12500>;
852
853				regulator-state-mem {
854					regulator-off-in-suspend;
855				};
856			};
857
858			vdd_cpu_big0_s0: dcdc-reg2 {
859				regulator-name = "vdd_cpu_big0_s0";
860				regulator-always-on;
861				regulator-boot-on;
862				regulator-coupled-with = <&vdd_cpu_big0_mem_s0>;
863				regulator-coupled-max-spread = <10000>;
864				regulator-min-microvolt = <550000>;
865				regulator-max-microvolt = <1050000>;
866				regulator-ramp-delay = <12500>;
867
868				regulator-state-mem {
869					regulator-off-in-suspend;
870				};
871			};
872
873			vdd_cpu_lit_s0: dcdc-reg3 {
874				regulator-name = "vdd_cpu_lit_s0";
875				regulator-always-on;
876				regulator-boot-on;
877				regulator-coupled-with = <&vdd_cpu_lit_mem_s0>;
878				regulator-coupled-max-spread = <10000>;
879				regulator-min-microvolt = <550000>;
880				regulator-max-microvolt = <950000>;
881				regulator-ramp-delay = <12500>;
882
883				regulator-state-mem {
884					regulator-off-in-suspend;
885				};
886			};
887
888			vcc_3v3_s3: dcdc-reg4 {
889				regulator-name = "vcc_3v3_s3";
890				regulator-always-on;
891				regulator-boot-on;
892				regulator-min-microvolt = <3300000>;
893				regulator-max-microvolt = <3300000>;
894				regulator-ramp-delay = <12500>;
895
896				regulator-state-mem {
897					regulator-on-in-suspend;
898					regulator-suspend-microvolt = <3300000>;
899				};
900			};
901
902			vdd_cpu_big1_mem_s0: dcdc-reg5 {
903				regulator-name = "vdd_cpu_big1_mem_s0";
904				regulator-always-on;
905				regulator-boot-on;
906				regulator-coupled-with = <&vdd_cpu_big1_s0>;
907				regulator-coupled-max-spread = <10000>;
908				regulator-min-microvolt = <675000>;
909				regulator-max-microvolt = <1050000>;
910				regulator-ramp-delay = <12500>;
911
912				regulator-state-mem {
913					regulator-off-in-suspend;
914				};
915			};
916
917
918			vdd_cpu_big0_mem_s0: dcdc-reg6 {
919				regulator-name = "vdd_cpu_big0_mem_s0";
920				regulator-always-on;
921				regulator-boot-on;
922				regulator-coupled-with = <&vdd_cpu_big0_s0>;
923				regulator-coupled-max-spread = <10000>;
924				regulator-min-microvolt = <675000>;
925				regulator-max-microvolt = <1050000>;
926				regulator-ramp-delay = <12500>;
927
928				regulator-state-mem {
929					regulator-off-in-suspend;
930				};
931			};
932
933			vcc_1v8_s0: dcdc-reg7 {
934				regulator-name = "vcc_1v8_s0";
935				regulator-always-on;
936				regulator-boot-on;
937				regulator-min-microvolt = <1800000>;
938				regulator-max-microvolt = <1800000>;
939				regulator-ramp-delay = <12500>;
940
941				regulator-state-mem {
942					regulator-off-in-suspend;
943				};
944			};
945
946			vdd_cpu_lit_mem_s0: dcdc-reg8 {
947				regulator-name = "vdd_cpu_lit_mem_s0";
948				regulator-always-on;
949				regulator-boot-on;
950				regulator-coupled-with = <&vdd_cpu_lit_s0>;
951				regulator-coupled-max-spread = <10000>;
952				regulator-min-microvolt = <675000>;
953				regulator-max-microvolt = <950000>;
954				regulator-ramp-delay = <12500>;
955
956				regulator-state-mem {
957					regulator-off-in-suspend;
958				};
959			};
960
961			vddq_ddr_s0: dcdc-reg9 {
962				regulator-name = "vddq_ddr_s0";
963				regulator-always-on;
964				regulator-boot-on;
965
966				regulator-state-mem {
967					regulator-off-in-suspend;
968				};
969			};
970
971			vdd_ddr_s0: dcdc-reg10 {
972				regulator-name = "vdd_ddr_s0";
973				regulator-always-on;
974				regulator-boot-on;
975				regulator-min-microvolt = <675000>;
976				regulator-max-microvolt = <900000>;
977				regulator-ramp-delay = <12500>;
978
979				regulator-state-mem {
980					regulator-off-in-suspend;
981				};
982			};
983
984			vcc_1v8_cam_s0: pldo-reg1 {
985				regulator-name = "vcc_1v8_cam_s0";
986				regulator-always-on;
987				regulator-boot-on;
988				regulator-min-microvolt = <1800000>;
989				regulator-max-microvolt = <1800000>;
990				regulator-ramp-delay = <12500>;
991
992				regulator-state-mem {
993					regulator-off-in-suspend;
994				};
995			};
996
997			avdd1v8_ddr_pll_s0: pldo-reg2 {
998				regulator-name = "avdd1v8_ddr_pll_s0";
999				regulator-always-on;
1000				regulator-boot-on;
1001				regulator-min-microvolt = <1800000>;
1002				regulator-max-microvolt = <1800000>;
1003				regulator-ramp-delay = <12500>;
1004
1005				regulator-state-mem {
1006					regulator-off-in-suspend;
1007				};
1008			};
1009
1010			vdd_1v8_pll_s0: pldo-reg3 {
1011				regulator-name = "vdd_1v8_pll_s0";
1012				regulator-always-on;
1013				regulator-boot-on;
1014				regulator-min-microvolt = <1800000>;
1015				regulator-max-microvolt = <1800000>;
1016				regulator-ramp-delay = <12500>;
1017
1018				regulator-state-mem {
1019					regulator-off-in-suspend;
1020				};
1021			};
1022
1023			vcc_3v3_sd_s0: pldo-reg4 {
1024				regulator-name = "vcc_3v3_sd_s0";
1025				regulator-always-on;
1026				regulator-boot-on;
1027				regulator-min-microvolt = <3300000>;
1028				regulator-max-microvolt = <3300000>;
1029				regulator-ramp-delay = <12500>;
1030
1031				regulator-state-mem {
1032					regulator-off-in-suspend;
1033				};
1034			};
1035
1036			vcc_2v8_cam_s0: pldo-reg5 {
1037				regulator-name = "vcc_2v8_cam_s0";
1038				regulator-always-on;
1039				regulator-boot-on;
1040				regulator-min-microvolt = <2800000>;
1041				regulator-max-microvolt = <2800000>;
1042				regulator-ramp-delay = <12500>;
1043
1044				regulator-state-mem {
1045					regulator-off-in-suspend;
1046				};
1047			};
1048
1049			pldo6_s3: pldo-reg6 {
1050				regulator-name = "pldo6_s3";
1051				regulator-always-on;
1052				regulator-boot-on;
1053				regulator-min-microvolt = <1800000>;
1054				regulator-max-microvolt = <1800000>;
1055
1056				regulator-state-mem {
1057					regulator-on-in-suspend;
1058					regulator-suspend-microvolt = <1800000>;
1059				};
1060			};
1061
1062			vdd_0v75_pll_s0: nldo-reg1 {
1063				regulator-name = "vdd_0v75_pll_s0";
1064				regulator-always-on;
1065				regulator-boot-on;
1066				regulator-min-microvolt = <750000>;
1067				regulator-max-microvolt = <750000>;
1068				regulator-ramp-delay = <12500>;
1069
1070				regulator-state-mem {
1071					regulator-off-in-suspend;
1072				};
1073			};
1074
1075			vdd_ddr_pll_s0: nldo-reg2 {
1076				regulator-name = "vdd_ddr_pll_s0";
1077				regulator-always-on;
1078				regulator-boot-on;
1079				regulator-min-microvolt = <850000>;
1080				regulator-max-microvolt = <850000>;
1081
1082				regulator-state-mem {
1083					regulator-off-in-suspend;
1084				};
1085			};
1086
1087			slave_nldo3: nldo-reg3 {
1088				regulator-name = "slave_nldo3";
1089
1090				regulator-state-mem {
1091					regulator-off-in-suspend;
1092				};
1093			};
1094
1095			avdd_1v2_cam_s0: nldo-reg4 {
1096				regulator-always-on;
1097				regulator-boot-on;
1098				regulator-min-microvolt = <1200000>;
1099				regulator-max-microvolt = <1200000>;
1100				regulator-ramp-delay = <12500>;
1101				regulator-name = "avdd_1v2_cam_s0";
1102
1103				regulator-state-mem {
1104					regulator-off-in-suspend;
1105				};
1106			};
1107
1108			avdd_1v2_s0: nldo-reg5 {
1109				regulator-always-on;
1110				regulator-boot-on;
1111				regulator-min-microvolt = <1200000>;
1112				regulator-max-microvolt = <1200000>;
1113				regulator-ramp-delay = <12500>;
1114				regulator-name = "avdd_1v2_s0";
1115
1116				regulator-state-mem {
1117					regulator-off-in-suspend;
1118				};
1119			};
1120		};
1121	};
1122};
1123
1124&tsadc {
1125	status = "okay";
1126};
1127
1128&u2phy0 {
1129	status = "okay";
1130};
1131
1132&u2phy2 {
1133	status = "okay";
1134};
1135
1136&u2phy3 {
1137	status = "okay";
1138};
1139
1140&u2phy0_otg {
1141	status = "okay";
1142};
1143
1144&u2phy2_host {
1145	phy-supply = <&vcc5v0_host>;
1146	status = "okay";
1147};
1148
1149&u2phy3_host {
1150	phy-supply = <&vcc5v0_host>;
1151	status = "okay";
1152};
1153
1154&uart2 {
1155	pinctrl-names = "default";
1156	pinctrl-0 = <&uart2m0_xfer>;
1157	status = "okay";
1158};
1159
1160&usb_host0_ehci {
1161	status = "okay";
1162};
1163
1164&usb_host0_ohci {
1165	status = "okay";
1166};
1167
1168&usb_host0_xhci {
1169	usb-role-switch;
1170	status = "okay";
1171
1172	port {
1173		#address-cells = <1>;
1174		#size-cells = <0>;
1175
1176		dwc3_0_role_switch: endpoint@0 {
1177			reg = <0>;
1178			remote-endpoint = <&usbc0_role_sw>;
1179		};
1180	};
1181};
1182
1183&usb_host1_ehci {
1184	status = "okay";
1185};
1186
1187&usb_host1_ohci {
1188	status = "okay";
1189};
1190
1191&usbdp_phy0 {
1192	mode-switch;
1193	orientation-switch;
1194	sbu1-dc-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
1195	sbu2-dc-gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_HIGH>;
1196	status = "okay";
1197
1198	port {
1199		#address-cells = <1>;
1200		#size-cells = <0>;
1201
1202		usbdp_phy0_orientation_switch: endpoint@0 {
1203			reg = <0>;
1204			remote-endpoint = <&usbc0_orien_sw>;
1205		};
1206
1207		usbdp_phy0_dp_altmode_mux: endpoint@1 {
1208			reg = <1>;
1209			remote-endpoint = <&dp_altmode_mux>;
1210		};
1211	};
1212};
1213
1214&vop_mmu {
1215	status = "okay";
1216};
1217
1218&vop {
1219	assigned-clocks = <&cru DCLK_VOP2_SRC>;
1220	assigned-clock-parents = <&cru PLL_V0PLL>;
1221	status = "okay";
1222};
1223
1224&vp2 {
1225	vp2_out_edp0: endpoint@ROCKCHIP_VOP2_EP_EDP0 {
1226		reg = <ROCKCHIP_VOP2_EP_EDP0>;
1227		remote-endpoint = <&edp0_in_vp2>;
1228	};
1229};
1230