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