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