xref: /linux/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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-gpio = <&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: vcc12v-dcin-regulator {
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: vcc3v3-bt-regulator {
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: vcc3v3-pcie30-regulator {
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: vcc3v3-wf-regulator {
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: vcc4v0-sys-regulator {
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: vcc5v0-host-regulator {
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: vcc5v0-usb-regulator {
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";
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&pinctrl {
351	hym8563 {
352		hym8563_int: hym8563-int {
353			rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
354		};
355	};
356
357	leds {
358		led_pins: led-pins {
359			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
360		};
361	};
362
363	rtl8111 {
364		rtl8111_isolate: rtl8111-isolate {
365			rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
366		};
367	};
368
369	rtl8211f {
370		rtl8211f_rst: rtl8211f-rst {
371			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
372		};
373
374	};
375
376	sound {
377		hp_detect: hp-detect {
378			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
379		};
380	};
381
382	usb {
383		vcc5v0_host_en: vcc5v0-host-en {
384			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
385		};
386	};
387};
388
389/* WIFI */
390&pcie2x1l0 {
391	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
392	vpcie3v3-supply = <&vcc3v3_wf>;
393	status = "okay";
394};
395
396/* GMAC1 */
397&pcie2x1l1 {
398	pinctrl-names = "default";
399	pinctrl-0 = <&rtl8111_isolate>;
400	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
401	status = "okay";
402};
403
404&pcie30phy {
405	status = "okay";
406};
407
408&pcie3x4 {
409	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
410	vpcie3v3-supply = <&vcc3v3_pcie30>;
411	status = "okay";
412};
413
414&saradc {
415	vref-supply = <&vcc_1v8_s0>;
416	status = "okay";
417};
418
419&sata0 {
420	status = "okay";
421};
422
423&sdhci {
424	bus-width = <8>;
425	no-sdio;
426	no-sd;
427	non-removable;
428	max-frequency = <150000000>;
429	mmc-hs400-1_8v;
430	mmc-hs400-enhanced-strobe;
431	status = "okay";
432};
433
434&sdmmc {
435	bus-width = <4>;
436	cap-sd-highspeed;
437	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
438	disable-wp;
439	max-frequency = <150000000>;
440	no-sdio;
441	no-mmc;
442	sd-uhs-sdr104;
443	vmmc-supply = <&vcc_3v3_s3>;
444	vqmmc-supply = <&vccio_sd_s0>;
445	status = "okay";
446};
447
448&spi2 {
449	assigned-clocks = <&cru CLK_SPI2>;
450	assigned-clock-rates = <200000000>;
451	num-cs = <2>;
452	status = "okay";
453
454	pmic@0 {
455		compatible = "rockchip,rk806";
456		reg = <0x0>;
457		#gpio-cells = <2>;
458		gpio-controller;
459		interrupt-parent = <&gpio0>;
460		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
461		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
462			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
463		pinctrl-names = "default";
464		spi-max-frequency = <1000000>;
465		system-power-controller;
466
467		vcc1-supply = <&vcc4v0_sys>;
468		vcc2-supply = <&vcc4v0_sys>;
469		vcc3-supply = <&vcc4v0_sys>;
470		vcc4-supply = <&vcc4v0_sys>;
471		vcc5-supply = <&vcc4v0_sys>;
472		vcc6-supply = <&vcc4v0_sys>;
473		vcc7-supply = <&vcc4v0_sys>;
474		vcc8-supply = <&vcc4v0_sys>;
475		vcc9-supply = <&vcc4v0_sys>;
476		vcc10-supply = <&vcc4v0_sys>;
477		vcc11-supply = <&vcc_2v0_pldo_s3>;
478		vcc12-supply = <&vcc4v0_sys>;
479		vcc13-supply = <&vcc_1v1_nldo_s3>;
480		vcc14-supply = <&vcc_1v1_nldo_s3>;
481		vcca-supply = <&vcc4v0_sys>;
482
483		rk806_dvs1_null: dvs1-null-pins {
484			pins = "gpio_pwrctrl1";
485			function = "pin_fun0";
486		};
487
488		rk806_dvs2_null: dvs2-null-pins {
489			pins = "gpio_pwrctrl2";
490			function = "pin_fun0";
491		};
492
493		rk806_dvs3_null: dvs3-null-pins {
494			pins = "gpio_pwrctrl3";
495			function = "pin_fun0";
496		};
497
498		regulators {
499			vdd_gpu_s0: dcdc-reg1 {
500				regulator-name = "vdd_gpu_s0";
501				/* regulator coupling requires always-on */
502				regulator-always-on;
503				regulator-boot-on;
504				regulator-enable-ramp-delay = <400>;
505				regulator-min-microvolt = <550000>;
506				regulator-max-microvolt = <950000>;
507				regulator-ramp-delay = <12500>;
508				regulator-coupled-with = <&vdd_gpu_mem_s0>;
509				regulator-coupled-max-spread = <10000>;
510
511				regulator-state-mem {
512					regulator-off-in-suspend;
513				};
514			};
515
516			vdd_npu_s0: dcdc-reg2 {
517				regulator-name = "vdd_npu_s0";
518				regulator-always-on;
519				regulator-boot-on;
520				regulator-min-microvolt = <550000>;
521				regulator-max-microvolt = <950000>;
522				regulator-ramp-delay = <12500>;
523
524				regulator-state-mem {
525					regulator-off-in-suspend;
526				};
527			};
528
529			vdd_log_s0: dcdc-reg3 {
530				regulator-name = "vdd_log_s0";
531				regulator-always-on;
532				regulator-boot-on;
533				regulator-min-microvolt = <675000>;
534				regulator-max-microvolt = <750000>;
535				regulator-ramp-delay = <12500>;
536
537				regulator-state-mem {
538					regulator-off-in-suspend;
539					regulator-suspend-microvolt = <750000>;
540				};
541			};
542
543			vdd_vdenc_s0: dcdc-reg4 {
544				regulator-name = "vdd_vdenc_s0";
545				regulator-always-on;
546				regulator-boot-on;
547				regulator-min-microvolt = <550000>;
548				regulator-max-microvolt = <950000>;
549				regulator-ramp-delay = <12500>;
550
551				regulator-state-mem {
552					regulator-off-in-suspend;
553				};
554
555			};
556
557			vdd_gpu_mem_s0: dcdc-reg5 {
558				regulator-name = "vdd_gpu_mem_s0";
559				/* regulator coupling requires always-on */
560				regulator-always-on;
561				regulator-boot-on;
562				regulator-enable-ramp-delay = <400>;
563				regulator-min-microvolt = <675000>;
564				regulator-max-microvolt = <950000>;
565				regulator-ramp-delay = <12500>;
566				regulator-coupled-with = <&vdd_gpu_s0>;
567				regulator-coupled-max-spread = <10000>;
568
569				regulator-state-mem {
570					regulator-off-in-suspend;
571				};
572
573			};
574
575			vdd_npu_mem_s0: dcdc-reg6 {
576				regulator-name = "vdd_npu_mem_s0";
577				regulator-always-on;
578				regulator-boot-on;
579				regulator-min-microvolt = <675000>;
580				regulator-max-microvolt = <950000>;
581				regulator-ramp-delay = <12500>;
582
583				regulator-state-mem {
584					regulator-off-in-suspend;
585				};
586
587			};
588
589			vcc_2v0_pldo_s3: dcdc-reg7 {
590				regulator-name = "vdd_2v0_pldo_s3";
591				regulator-always-on;
592				regulator-boot-on;
593				regulator-min-microvolt = <2000000>;
594				regulator-max-microvolt = <2000000>;
595				regulator-ramp-delay = <12500>;
596
597				regulator-state-mem {
598					regulator-on-in-suspend;
599					regulator-suspend-microvolt = <2000000>;
600				};
601			};
602
603			vdd_vdenc_mem_s0: dcdc-reg8 {
604				regulator-name = "vdd_vdenc_mem_s0";
605				regulator-always-on;
606				regulator-boot-on;
607				regulator-min-microvolt = <675000>;
608				regulator-max-microvolt = <950000>;
609				regulator-ramp-delay = <12500>;
610
611				regulator-state-mem {
612					regulator-off-in-suspend;
613				};
614			};
615
616			vdd2_ddr_s3: dcdc-reg9 {
617				regulator-name = "vdd2_ddr_s3";
618				regulator-always-on;
619				regulator-boot-on;
620
621				regulator-state-mem {
622					regulator-on-in-suspend;
623				};
624			};
625
626			vcc_1v1_nldo_s3: dcdc-reg10 {
627				regulator-name = "vcc_1v1_nldo_s3";
628				regulator-always-on;
629				regulator-boot-on;
630				regulator-min-microvolt = <1100000>;
631				regulator-max-microvolt = <1100000>;
632				regulator-ramp-delay = <12500>;
633
634				regulator-state-mem {
635					regulator-on-in-suspend;
636					regulator-suspend-microvolt = <1100000>;
637				};
638			};
639
640			avcc_1v8_s0: pldo-reg1 {
641				regulator-name = "avcc_1v8_s0";
642				regulator-always-on;
643				regulator-boot-on;
644				regulator-min-microvolt = <1800000>;
645				regulator-max-microvolt = <1800000>;
646				regulator-ramp-delay = <12500>;
647
648				regulator-state-mem {
649					regulator-off-in-suspend;
650				};
651			};
652
653			vdd1_1v8_ddr_s3: pldo-reg2 {
654				regulator-name = "vdd1_1v8_ddr_s3";
655				regulator-always-on;
656				regulator-boot-on;
657				regulator-min-microvolt = <1800000>;
658				regulator-max-microvolt = <1800000>;
659				regulator-ramp-delay = <12500>;
660
661				regulator-state-mem {
662					regulator-on-in-suspend;
663					regulator-suspend-microvolt = <1800000>;
664				};
665			};
666
667			avcc_1v8_codec_s0: pldo-reg3 {
668				regulator-name = "avcc_1v8_codec_s0";
669				regulator-always-on;
670				regulator-boot-on;
671				regulator-min-microvolt = <1800000>;
672				regulator-max-microvolt = <1800000>;
673				regulator-ramp-delay = <12500>;
674
675				regulator-state-mem {
676					regulator-off-in-suspend;
677				};
678			};
679
680			vcc_3v3_s3: pldo-reg4 {
681				regulator-name = "vcc_3v3_s3";
682				regulator-always-on;
683				regulator-boot-on;
684				regulator-min-microvolt = <3300000>;
685				regulator-max-microvolt = <3300000>;
686				regulator-ramp-delay = <12500>;
687
688				regulator-state-mem {
689					regulator-on-in-suspend;
690					regulator-suspend-microvolt = <3300000>;
691				};
692			};
693
694			vccio_sd_s0: pldo-reg5 {
695				regulator-name = "vccio_sd_s0";
696				regulator-always-on;
697				regulator-boot-on;
698				regulator-min-microvolt = <1800000>;
699				regulator-max-microvolt = <3300000>;
700				regulator-ramp-delay = <12500>;
701
702				regulator-state-mem {
703					regulator-off-in-suspend;
704				};
705			};
706
707			vcc_1v8_s3: pldo-reg6 {
708				regulator-name = "vcc_1v8_s3";
709				regulator-always-on;
710				regulator-boot-on;
711				regulator-min-microvolt = <1800000>;
712				regulator-max-microvolt = <1800000>;
713				regulator-ramp-delay = <12500>;
714
715				regulator-state-mem {
716					regulator-on-in-suspend;
717					regulator-suspend-microvolt = <1800000>;
718				};
719			};
720
721			vdd_0v75_s3: nldo-reg1 {
722				regulator-name = "vdd_0v75_s3";
723				regulator-always-on;
724				regulator-boot-on;
725				regulator-min-microvolt = <750000>;
726				regulator-max-microvolt = <750000>;
727				regulator-ramp-delay = <12500>;
728
729				regulator-state-mem {
730					regulator-on-in-suspend;
731					regulator-suspend-microvolt = <750000>;
732				};
733			};
734
735			/* reserved for LPDDR5, unused? */
736			vdd2l_0v9_ddr_s3: nldo-reg2 {
737				regulator-name = "vdd2l_0v9_ddr_s3";
738				regulator-always-on;
739				regulator-boot-on;
740				regulator-min-microvolt = <900000>;
741				regulator-max-microvolt = <900000>;
742
743				regulator-state-mem {
744					regulator-on-in-suspend;
745					regulator-suspend-microvolt = <900000>;
746				};
747			};
748
749			vdd_0v75_hdmi_edp_s0: nldo-reg3 {
750				regulator-name = "vdd_0v75_hdmi_edp_s0";
751				regulator-always-on;
752				regulator-boot-on;
753				regulator-min-microvolt = <750000>;
754				regulator-max-microvolt = <750000>;
755
756				regulator-state-mem {
757					regulator-off-in-suspend;
758				};
759			};
760
761			avdd_0v75_s0: nldo-reg4 {
762				regulator-name = "avdd_0v75_s0";
763				regulator-always-on;
764				regulator-boot-on;
765				regulator-min-microvolt = <750000>;
766				regulator-max-microvolt = <750000>;
767
768				regulator-state-mem {
769					regulator-off-in-suspend;
770				};
771			};
772
773			vdd_0v85_s0: nldo-reg5 {
774				regulator-name = "vdd_0v85_s0";
775				regulator-always-on;
776				regulator-boot-on;
777				regulator-min-microvolt = <850000>;
778				regulator-max-microvolt = <850000>;
779
780				regulator-state-mem {
781					regulator-off-in-suspend;
782				};
783			};
784		};
785	};
786
787	pmic@1 {
788		compatible = "rockchip,rk806";
789		reg = <0x01>;
790		#gpio-cells = <2>;
791		gpio-controller;
792		interrupt-parent = <&gpio0>;
793		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
794		pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>,
795			    <&rk806_slave_dvs3_null>;
796		pinctrl-names = "default";
797		spi-max-frequency = <1000000>;
798
799		vcc1-supply = <&vcc4v0_sys>;
800		vcc2-supply = <&vcc4v0_sys>;
801		vcc3-supply = <&vcc4v0_sys>;
802		vcc4-supply = <&vcc4v0_sys>;
803		vcc5-supply = <&vcc4v0_sys>;
804		vcc6-supply = <&vcc4v0_sys>;
805		vcc7-supply = <&vcc4v0_sys>;
806		vcc8-supply = <&vcc4v0_sys>;
807		vcc9-supply = <&vcc4v0_sys>;
808		vcc10-supply = <&vcc4v0_sys>;
809		vcc11-supply = <&vcc_2v0_pldo_s3>;
810		vcc12-supply = <&vcc4v0_sys>;
811		vcc13-supply = <&vcc_1v1_nldo_s3>;
812		vcc14-supply = <&vcc_2v0_pldo_s3>;
813		vcca-supply = <&vcc4v0_sys>;
814
815		rk806_slave_dvs1_null: dvs1-null-pins {
816			pins = "gpio_pwrctrl1";
817			function = "pin_fun0";
818		};
819
820		rk806_slave_dvs2_null: dvs2-null-pins {
821			pins = "gpio_pwrctrl2";
822			function = "pin_fun0";
823		};
824
825		rk806_slave_dvs3_null: dvs3-null-pins {
826			pins = "gpio_pwrctrl3";
827			function = "pin_fun0";
828		};
829
830		regulators {
831			vdd_cpu_big1_s0: dcdc-reg1 {
832				regulator-name = "vdd_cpu_big1_s0";
833				regulator-always-on;
834				regulator-boot-on;
835				regulator-coupled-with = <&vdd_cpu_big1_mem_s0>;
836				regulator-coupled-max-spread = <10000>;
837				regulator-min-microvolt = <550000>;
838				regulator-max-microvolt = <1050000>;
839				regulator-ramp-delay = <12500>;
840
841				regulator-state-mem {
842					regulator-off-in-suspend;
843				};
844			};
845
846			vdd_cpu_big0_s0: dcdc-reg2 {
847				regulator-name = "vdd_cpu_big0_s0";
848				regulator-always-on;
849				regulator-boot-on;
850				regulator-coupled-with = <&vdd_cpu_big0_mem_s0>;
851				regulator-coupled-max-spread = <10000>;
852				regulator-min-microvolt = <550000>;
853				regulator-max-microvolt = <1050000>;
854				regulator-ramp-delay = <12500>;
855
856				regulator-state-mem {
857					regulator-off-in-suspend;
858				};
859			};
860
861			vdd_cpu_lit_s0: dcdc-reg3 {
862				regulator-name = "vdd_cpu_lit_s0";
863				regulator-always-on;
864				regulator-boot-on;
865				regulator-coupled-with = <&vdd_cpu_lit_mem_s0>;
866				regulator-coupled-max-spread = <10000>;
867				regulator-min-microvolt = <550000>;
868				regulator-max-microvolt = <950000>;
869				regulator-ramp-delay = <12500>;
870
871				regulator-state-mem {
872					regulator-off-in-suspend;
873				};
874			};
875
876			vcc_3v3_s0: dcdc-reg4 {
877				regulator-name = "vcc_3v3_s0";
878				regulator-always-on;
879				regulator-boot-on;
880				regulator-min-microvolt = <3300000>;
881				regulator-max-microvolt = <3300000>;
882				regulator-ramp-delay = <12500>;
883
884				regulator-state-mem {
885					regulator-off-in-suspend;
886				};
887			};
888
889			vdd_cpu_big1_mem_s0: dcdc-reg5 {
890				regulator-name = "vdd_cpu_big1_mem_s0";
891				regulator-always-on;
892				regulator-boot-on;
893				regulator-coupled-with = <&vdd_cpu_big1_s0>;
894				regulator-coupled-max-spread = <10000>;
895				regulator-min-microvolt = <675000>;
896				regulator-max-microvolt = <1050000>;
897				regulator-ramp-delay = <12500>;
898
899				regulator-state-mem {
900					regulator-off-in-suspend;
901				};
902			};
903
904
905			vdd_cpu_big0_mem_s0: dcdc-reg6 {
906				regulator-name = "vdd_cpu_big0_mem_s0";
907				regulator-always-on;
908				regulator-boot-on;
909				regulator-coupled-with = <&vdd_cpu_big0_s0>;
910				regulator-coupled-max-spread = <10000>;
911				regulator-min-microvolt = <675000>;
912				regulator-max-microvolt = <1050000>;
913				regulator-ramp-delay = <12500>;
914
915				regulator-state-mem {
916					regulator-off-in-suspend;
917				};
918			};
919
920			vcc_1v8_s0: dcdc-reg7 {
921				regulator-name = "vcc_1v8_s0";
922				regulator-always-on;
923				regulator-boot-on;
924				regulator-min-microvolt = <1800000>;
925				regulator-max-microvolt = <1800000>;
926				regulator-ramp-delay = <12500>;
927
928				regulator-state-mem {
929					regulator-off-in-suspend;
930				};
931			};
932
933			vdd_cpu_lit_mem_s0: dcdc-reg8 {
934				regulator-name = "vdd_cpu_lit_mem_s0";
935				regulator-always-on;
936				regulator-boot-on;
937				regulator-coupled-with = <&vdd_cpu_lit_s0>;
938				regulator-coupled-max-spread = <10000>;
939				regulator-min-microvolt = <675000>;
940				regulator-max-microvolt = <950000>;
941				regulator-ramp-delay = <12500>;
942
943				regulator-state-mem {
944					regulator-off-in-suspend;
945				};
946			};
947
948			vddq_ddr_s0: dcdc-reg9 {
949				regulator-name = "vddq_ddr_s0";
950				regulator-always-on;
951				regulator-boot-on;
952
953				regulator-state-mem {
954					regulator-off-in-suspend;
955				};
956			};
957
958			vdd_ddr_s0: dcdc-reg10 {
959				regulator-name = "vdd_ddr_s0";
960				regulator-always-on;
961				regulator-boot-on;
962				regulator-min-microvolt = <675000>;
963				regulator-max-microvolt = <900000>;
964				regulator-ramp-delay = <12500>;
965
966				regulator-state-mem {
967					regulator-off-in-suspend;
968				};
969			};
970
971			/* reserved, unused? */
972			vcc_1v8_cam_s0: pldo-reg1 {
973				regulator-name = "vcc_1v8_cam_s0";
974				regulator-always-on;
975				regulator-boot-on;
976				regulator-min-microvolt = <1800000>;
977				regulator-max-microvolt = <1800000>;
978				regulator-ramp-delay = <12500>;
979
980				regulator-state-mem {
981					regulator-off-in-suspend;
982				};
983			};
984
985			avdd1v8_ddr_pll_s0: pldo-reg2 {
986				regulator-name = "avdd1v8_ddr_pll_s0";
987				regulator-always-on;
988				regulator-boot-on;
989				regulator-min-microvolt = <1800000>;
990				regulator-max-microvolt = <1800000>;
991				regulator-ramp-delay = <12500>;
992
993				regulator-state-mem {
994					regulator-off-in-suspend;
995				};
996			};
997
998			vdd_1v8_pll_s0: pldo-reg3 {
999				regulator-name = "vdd_1v8_pll_s0";
1000				regulator-always-on;
1001				regulator-boot-on;
1002				regulator-min-microvolt = <1800000>;
1003				regulator-max-microvolt = <1800000>;
1004				regulator-ramp-delay = <12500>;
1005
1006				regulator-state-mem {
1007					regulator-off-in-suspend;
1008				};
1009			};
1010
1011			/* reserved, unused? */
1012			vcc_3v3_sd_s0: pldo-reg4 {
1013				regulator-name = "vcc_3v3_sd_s0";
1014				regulator-always-on;
1015				regulator-boot-on;
1016				regulator-min-microvolt = <3300000>;
1017				regulator-max-microvolt = <3300000>;
1018				regulator-ramp-delay = <12500>;
1019
1020				regulator-state-mem {
1021					regulator-off-in-suspend;
1022				};
1023			};
1024
1025			/* reserved, unused? */
1026			vcc_2v8_cam_s0: pldo-reg5 {
1027				regulator-name = "vcc_2v8_cam_s0";
1028				regulator-always-on;
1029				regulator-boot-on;
1030				regulator-min-microvolt = <2800000>;
1031				regulator-max-microvolt = <2800000>;
1032				regulator-ramp-delay = <12500>;
1033
1034				regulator-state-mem {
1035					regulator-off-in-suspend;
1036				};
1037			};
1038
1039			/* unused */
1040			pldo6_s3: pldo-reg6 {
1041				regulator-name = "pldo6_s3";
1042				regulator-always-on;
1043				regulator-boot-on;
1044				regulator-min-microvolt = <1800000>;
1045				regulator-max-microvolt = <1800000>;
1046
1047				regulator-state-mem {
1048					regulator-on-in-suspend;
1049					regulator-suspend-microvolt = <1800000>;
1050				};
1051			};
1052
1053			vdd_0v75_pll_s0: nldo-reg1 {
1054				regulator-name = "vdd_0v75_pll_s0";
1055				regulator-always-on;
1056				regulator-boot-on;
1057				regulator-min-microvolt = <750000>;
1058				regulator-max-microvolt = <750000>;
1059				regulator-ramp-delay = <12500>;
1060
1061				regulator-state-mem {
1062					regulator-off-in-suspend;
1063				};
1064			};
1065
1066			vdd_ddr_pll_s0: nldo-reg2 {
1067				regulator-name = "vdd_ddr_pll_s0";
1068				regulator-always-on;
1069				regulator-boot-on;
1070				regulator-min-microvolt = <850000>;
1071				regulator-max-microvolt = <850000>;
1072
1073				regulator-state-mem {
1074					regulator-off-in-suspend;
1075				};
1076			};
1077
1078			avdd_0v85_s0: nldo-reg3 {
1079				regulator-name = "avdd_0v85_s0";
1080				regulator-always-on;
1081				regulator-boot-on;
1082				regulator-min-microvolt = <850000>;
1083				regulator-max-microvolt = <850000>;
1084				regulator-ramp-delay = <12500>;
1085
1086				regulator-state-mem {
1087					regulator-off-in-suspend;
1088				};
1089			};
1090
1091			/* reserved, unused */
1092			avdd_1v2_cam_s0: nldo-reg4 {
1093				regulator-name = "avdd_1v2_cam_s0";
1094				regulator-always-on;
1095				regulator-boot-on;
1096				regulator-min-microvolt = <1200000>;
1097				regulator-max-microvolt = <1200000>;
1098				regulator-ramp-delay = <12500>;
1099
1100				regulator-state-mem {
1101					regulator-off-in-suspend;
1102				};
1103			};
1104
1105			avdd_1v2_s0: nldo-reg5 {
1106				regulator-name = "avdd_1v2_s0";
1107				regulator-always-on;
1108				regulator-boot-on;
1109				regulator-min-microvolt = <1200000>;
1110				regulator-max-microvolt = <1200000>;
1111				regulator-ramp-delay = <12500>;
1112
1113				regulator-state-mem {
1114					regulator-off-in-suspend;
1115				};
1116			};
1117		};
1118	};
1119};
1120
1121&tsadc {
1122	status = "okay";
1123};
1124
1125&u2phy2 {
1126	status = "okay";
1127};
1128
1129&u2phy2_host {
1130	phy-supply = <&vcc5v0_host>;
1131	status = "okay";
1132};
1133
1134&u2phy3 {
1135	status = "okay";
1136};
1137
1138&u2phy3_host {
1139	phy-supply = <&vcc5v0_host>;
1140	status = "okay";
1141};
1142
1143&uart2 {
1144	pinctrl-names = "default";
1145	pinctrl-0 = <&uart2m0_xfer>;
1146	status = "okay";
1147};
1148
1149&usb_host0_ehci {
1150	status = "okay";
1151};
1152
1153&usb_host0_ohci {
1154	status = "okay";
1155};
1156
1157&usb_host1_ehci {
1158	status = "okay";
1159};
1160
1161&usb_host1_ohci {
1162	status = "okay";
1163};
1164