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