xref: /linux/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts (revision 67f9c312b0a7f4bc869376d2a68308e673235954)
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-min-microvolt = <550000>;
837				regulator-max-microvolt = <1050000>;
838				regulator-ramp-delay = <12500>;
839
840				regulator-state-mem {
841					regulator-off-in-suspend;
842				};
843			};
844
845			vdd_cpu_big0_s0: dcdc-reg2 {
846				regulator-name = "vdd_cpu_big0_s0";
847				regulator-always-on;
848				regulator-boot-on;
849				regulator-min-microvolt = <550000>;
850				regulator-max-microvolt = <1050000>;
851				regulator-ramp-delay = <12500>;
852
853				regulator-state-mem {
854					regulator-off-in-suspend;
855				};
856			};
857
858			vdd_cpu_lit_s0: dcdc-reg3 {
859				regulator-name = "vdd_cpu_lit_s0";
860				regulator-always-on;
861				regulator-boot-on;
862				regulator-min-microvolt = <550000>;
863				regulator-max-microvolt = <950000>;
864				regulator-ramp-delay = <12500>;
865
866				regulator-state-mem {
867					regulator-off-in-suspend;
868				};
869			};
870
871			vcc_3v3_s0: dcdc-reg4 {
872				regulator-name = "vcc_3v3_s0";
873				regulator-always-on;
874				regulator-boot-on;
875				regulator-min-microvolt = <3300000>;
876				regulator-max-microvolt = <3300000>;
877				regulator-ramp-delay = <12500>;
878
879				regulator-state-mem {
880					regulator-off-in-suspend;
881				};
882			};
883
884			vdd_cpu_big1_mem_s0: dcdc-reg5 {
885				regulator-name = "vdd_cpu_big1_mem_s0";
886				regulator-always-on;
887				regulator-boot-on;
888				regulator-min-microvolt = <675000>;
889				regulator-max-microvolt = <1050000>;
890				regulator-ramp-delay = <12500>;
891
892				regulator-state-mem {
893					regulator-off-in-suspend;
894				};
895			};
896
897
898			vdd_cpu_big0_mem_s0: dcdc-reg6 {
899				regulator-name = "vdd_cpu_big0_mem_s0";
900				regulator-always-on;
901				regulator-boot-on;
902				regulator-min-microvolt = <675000>;
903				regulator-max-microvolt = <1050000>;
904				regulator-ramp-delay = <12500>;
905
906				regulator-state-mem {
907					regulator-off-in-suspend;
908				};
909			};
910
911			vcc_1v8_s0: dcdc-reg7 {
912				regulator-name = "vcc_1v8_s0";
913				regulator-always-on;
914				regulator-boot-on;
915				regulator-min-microvolt = <1800000>;
916				regulator-max-microvolt = <1800000>;
917				regulator-ramp-delay = <12500>;
918
919				regulator-state-mem {
920					regulator-off-in-suspend;
921				};
922			};
923
924			vdd_cpu_lit_mem_s0: dcdc-reg8 {
925				regulator-name = "vdd_cpu_lit_mem_s0";
926				regulator-always-on;
927				regulator-boot-on;
928				regulator-min-microvolt = <675000>;
929				regulator-max-microvolt = <950000>;
930				regulator-ramp-delay = <12500>;
931
932				regulator-state-mem {
933					regulator-off-in-suspend;
934				};
935			};
936
937			vddq_ddr_s0: dcdc-reg9 {
938				regulator-name = "vddq_ddr_s0";
939				regulator-always-on;
940				regulator-boot-on;
941
942				regulator-state-mem {
943					regulator-off-in-suspend;
944				};
945			};
946
947			vdd_ddr_s0: dcdc-reg10 {
948				regulator-name = "vdd_ddr_s0";
949				regulator-always-on;
950				regulator-boot-on;
951				regulator-min-microvolt = <675000>;
952				regulator-max-microvolt = <900000>;
953				regulator-ramp-delay = <12500>;
954
955				regulator-state-mem {
956					regulator-off-in-suspend;
957				};
958			};
959
960			/* reserved, unused? */
961			vcc_1v8_cam_s0: pldo-reg1 {
962				regulator-name = "vcc_1v8_cam_s0";
963				regulator-always-on;
964				regulator-boot-on;
965				regulator-min-microvolt = <1800000>;
966				regulator-max-microvolt = <1800000>;
967				regulator-ramp-delay = <12500>;
968
969				regulator-state-mem {
970					regulator-off-in-suspend;
971				};
972			};
973
974			avdd1v8_ddr_pll_s0: pldo-reg2 {
975				regulator-name = "avdd1v8_ddr_pll_s0";
976				regulator-always-on;
977				regulator-boot-on;
978				regulator-min-microvolt = <1800000>;
979				regulator-max-microvolt = <1800000>;
980				regulator-ramp-delay = <12500>;
981
982				regulator-state-mem {
983					regulator-off-in-suspend;
984				};
985			};
986
987			vdd_1v8_pll_s0: pldo-reg3 {
988				regulator-name = "vdd_1v8_pll_s0";
989				regulator-always-on;
990				regulator-boot-on;
991				regulator-min-microvolt = <1800000>;
992				regulator-max-microvolt = <1800000>;
993				regulator-ramp-delay = <12500>;
994
995				regulator-state-mem {
996					regulator-off-in-suspend;
997				};
998			};
999
1000			/* reserved, unused? */
1001			vcc_3v3_sd_s0: pldo-reg4 {
1002				regulator-name = "vcc_3v3_sd_s0";
1003				regulator-always-on;
1004				regulator-boot-on;
1005				regulator-min-microvolt = <3300000>;
1006				regulator-max-microvolt = <3300000>;
1007				regulator-ramp-delay = <12500>;
1008
1009				regulator-state-mem {
1010					regulator-off-in-suspend;
1011				};
1012			};
1013
1014			/* reserved, unused? */
1015			vcc_2v8_cam_s0: pldo-reg5 {
1016				regulator-name = "vcc_2v8_cam_s0";
1017				regulator-always-on;
1018				regulator-boot-on;
1019				regulator-min-microvolt = <2800000>;
1020				regulator-max-microvolt = <2800000>;
1021				regulator-ramp-delay = <12500>;
1022
1023				regulator-state-mem {
1024					regulator-off-in-suspend;
1025				};
1026			};
1027
1028			/* unused */
1029			pldo6_s3: pldo-reg6 {
1030				regulator-name = "pldo6_s3";
1031				regulator-always-on;
1032				regulator-boot-on;
1033				regulator-min-microvolt = <1800000>;
1034				regulator-max-microvolt = <1800000>;
1035
1036				regulator-state-mem {
1037					regulator-on-in-suspend;
1038					regulator-suspend-microvolt = <1800000>;
1039				};
1040			};
1041
1042			vdd_0v75_pll_s0: nldo-reg1 {
1043				regulator-name = "vdd_0v75_pll_s0";
1044				regulator-always-on;
1045				regulator-boot-on;
1046				regulator-min-microvolt = <750000>;
1047				regulator-max-microvolt = <750000>;
1048				regulator-ramp-delay = <12500>;
1049
1050				regulator-state-mem {
1051					regulator-off-in-suspend;
1052				};
1053			};
1054
1055			vdd_ddr_pll_s0: nldo-reg2 {
1056				regulator-name = "vdd_ddr_pll_s0";
1057				regulator-always-on;
1058				regulator-boot-on;
1059				regulator-min-microvolt = <850000>;
1060				regulator-max-microvolt = <850000>;
1061
1062				regulator-state-mem {
1063					regulator-off-in-suspend;
1064				};
1065			};
1066
1067			avdd_0v85_s0: nldo-reg3 {
1068				regulator-name = "avdd_0v85_s0";
1069				regulator-always-on;
1070				regulator-boot-on;
1071				regulator-min-microvolt = <850000>;
1072				regulator-max-microvolt = <850000>;
1073				regulator-ramp-delay = <12500>;
1074
1075				regulator-state-mem {
1076					regulator-off-in-suspend;
1077				};
1078			};
1079
1080			/* reserved, unused */
1081			avdd_1v2_cam_s0: nldo-reg4 {
1082				regulator-name = "avdd_1v2_cam_s0";
1083				regulator-always-on;
1084				regulator-boot-on;
1085				regulator-min-microvolt = <1200000>;
1086				regulator-max-microvolt = <1200000>;
1087				regulator-ramp-delay = <12500>;
1088
1089				regulator-state-mem {
1090					regulator-off-in-suspend;
1091				};
1092			};
1093
1094			avdd_1v2_s0: nldo-reg5 {
1095				regulator-name = "avdd_1v2_s0";
1096				regulator-always-on;
1097				regulator-boot-on;
1098				regulator-min-microvolt = <1200000>;
1099				regulator-max-microvolt = <1200000>;
1100				regulator-ramp-delay = <12500>;
1101
1102				regulator-state-mem {
1103					regulator-off-in-suspend;
1104				};
1105			};
1106		};
1107	};
1108};
1109
1110&tsadc {
1111	status = "okay";
1112};
1113
1114&u2phy2 {
1115	status = "okay";
1116};
1117
1118&u2phy2_host {
1119	phy-supply = <&vcc5v0_host>;
1120	status = "okay";
1121};
1122
1123&u2phy3 {
1124	status = "okay";
1125};
1126
1127&u2phy3_host {
1128	phy-supply = <&vcc5v0_host>;
1129	status = "okay";
1130};
1131
1132&uart2 {
1133	pinctrl-names = "default";
1134	pinctrl-0 = <&uart2m0_xfer>;
1135	status = "okay";
1136};
1137
1138&usb_host0_ehci {
1139	status = "okay";
1140};
1141
1142&usb_host0_ohci {
1143	status = "okay";
1144};
1145
1146&usb_host1_ehci {
1147	status = "okay";
1148};
1149
1150&usb_host1_ohci {
1151	status = "okay";
1152};
1153