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