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