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