xref: /linux/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts (revision fcc79e1714e8c2b8e216dc3149812edd37884eef)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2024 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12#include <dt-bindings/usb/pd.h>
13#include "rk3588s.dtsi"
14
15/ {
16	model = "Rockchip RK3588S EVB1 V10 Board";
17	compatible = "rockchip,rk3588s-evb1-v10", "rockchip,rk3588s";
18
19	aliases {
20		mmc0 = &sdhci;
21		mmc1 = &sdmmc;
22	};
23
24	chosen {
25		stdout-path = "serial2:1500000n8";
26	};
27
28	adc-keys {
29		compatible = "adc-keys";
30		io-channels = <&saradc 1>;
31		io-channel-names = "buttons";
32		keyup-threshold-microvolt = <1800000>;
33		poll-interval = <100>;
34
35		button-escape {
36			label = "Escape";
37			linux,code = <KEY_ESC>;
38			press-threshold-microvolt = <1235000>;
39		};
40
41		button-menu {
42			label = "Menu";
43			linux,code = <KEY_MENU>;
44			press-threshold-microvolt = <890000>;
45		};
46
47		button-vol-up {
48			label = "Volume Up";
49			linux,code = <KEY_VOLUMEUP>;
50			press-threshold-microvolt = <17000>;
51		};
52
53		button-vol-down {
54			label = "Volume Down";
55			linux,code = <KEY_VOLUMEDOWN>;
56			press-threshold-microvolt = <417000>;
57		};
58	};
59
60	amp_headphone: amplifier-headphone {
61		compatible = "simple-audio-amplifier";
62		enable-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
63		pinctrl-names = "default";
64		pinctrl-0 = <&headphone_amplifier_en>;
65		sound-name-prefix = "Headphones Amplifier";
66	};
67
68	amp_speaker: amplifier-speaker {
69		compatible = "simple-audio-amplifier";
70		enable-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
71		pinctrl-names = "default";
72		pinctrl-0 = <&speaker_amplifier_en>;
73		sound-name-prefix = "Speaker Amplifier";
74	};
75
76	analog-sound {
77		compatible = "simple-audio-card";
78		pinctrl-names = "default";
79		pinctrl-0 = <&hp_detect>;
80		simple-audio-card,name = "RK3588 EVB1 Audio";
81		simple-audio-card,aux-devs = <&amp_headphone>, <&amp_speaker>;
82		simple-audio-card,bitclock-master = <&masterdai>;
83		simple-audio-card,format = "i2s";
84		simple-audio-card,frame-master = <&masterdai>;
85		simple-audio-card,hp-det-gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>;
86		simple-audio-card,mclk-fs = <256>;
87		simple-audio-card,pin-switches = "Headphones", "Speaker";
88		simple-audio-card,routing =
89			"Speaker Amplifier INL", "LOUT2",
90			"Speaker Amplifier INR", "ROUT2",
91			"Speaker", "Speaker Amplifier OUTL",
92			"Speaker", "Speaker Amplifier OUTR",
93			"Headphones Amplifier INL", "LOUT1",
94			"Headphones Amplifier INR", "ROUT1",
95			"Headphones", "Headphones Amplifier OUTL",
96			"Headphones", "Headphones Amplifier OUTR",
97			"LINPUT1", "Onboard Microphone",
98			"RINPUT1", "Onboard Microphone",
99			"LINPUT2", "Microphone Jack",
100			"RINPUT2", "Microphone Jack";
101		simple-audio-card,widgets =
102			"Microphone", "Microphone Jack",
103			"Microphone", "Onboard Microphone",
104			"Headphone", "Headphones",
105			"Speaker", "Speaker";
106
107		simple-audio-card,cpu {
108			sound-dai = <&i2s0_8ch>;
109		};
110
111		masterdai: simple-audio-card,codec {
112			sound-dai = <&es8388>;
113			system-clock-frequency = <12288000>;
114		};
115	};
116
117	backlight: backlight {
118		compatible = "pwm-backlight";
119		power-supply = <&vcc3v3_lcd_edp>;
120		pwms = <&pwm12 0 25000 0>;
121	};
122
123	combophy_avdd0v85: regulator-combophy-avdd0v85 {
124		compatible = "regulator-fixed";
125		regulator-name = "combophy_avdd0v85";
126		regulator-always-on;
127		regulator-boot-on;
128		regulator-min-microvolt = <850000>;
129		regulator-max-microvolt = <850000>;
130		vin-supply = <&vdd_0v85_s0>;
131	};
132
133	combophy_avdd1v8: regulator-combophy-avdd1v8 {
134		compatible = "regulator-fixed";
135		regulator-name = "combophy_avdd1v8";
136		regulator-always-on;
137		regulator-boot-on;
138		regulator-min-microvolt = <1800000>;
139		regulator-max-microvolt = <1800000>;
140		vin-supply = <&avcc_1v8_s0>;
141	};
142
143	vbus5v0_typec: regulator-vbus5v0-typec {
144		compatible = "regulator-fixed";
145		enable-active-high;
146		gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
147		pinctrl-names = "default";
148		pinctrl-0 = <&typec5v_pwren>;
149		regulator-name = "vbus5v0_typec";
150		regulator-min-microvolt = <5000000>;
151		regulator-max-microvolt = <5000000>;
152		vin-supply = <&vcc5v0_usb>;
153	};
154
155	vcc12v_dcin: regulator-vcc12v-dcin {
156		compatible = "regulator-fixed";
157		regulator-name = "vcc12v_dcin";
158		regulator-always-on;
159		regulator-boot-on;
160		regulator-min-microvolt = <12000000>;
161		regulator-max-microvolt = <12000000>;
162	};
163
164	vcc3v3_lcd_edp: regulator-vcc3v3-lcd-edp {
165		compatible = "regulator-fixed";
166		enable-active-high;
167		gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_HIGH>;
168		pinctrl-names = "default";
169		pinctrl-0 = <&vcc3v3_lcd_edp_en>;
170		regulator-name = "vcc3v3_lcd_edp";
171		regulator-boot-on;
172		vin-supply = <&vcc_3v3_s3>;
173	};
174
175	vcc3v3_pcie20: regulator-vcc3v3-pcie20 {
176		compatible = "regulator-fixed";
177		enable-active-high;
178		gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
179		pinctrl-names = "default";
180		pinctrl-0 = <&vcc3v3_pcie20_en>;
181		regulator-name = "vcc3v3_pcie20";
182		regulator-min-microvolt = <3300000>;
183		regulator-max-microvolt = <3300000>;
184		startup-delay-us = <5000>;
185		vin-supply = <&vcc12v_dcin>;
186	};
187
188	vcc5v0_host: regulator-vcc5v0-host {
189		compatible = "regulator-fixed";
190		enable-active-high;
191		gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
192		pinctrl-names = "default";
193		pinctrl-0 = <&vcc5v0_host_en>;
194		regulator-name = "vcc5v0_host";
195		regulator-always-on;
196		regulator-boot-on;
197		regulator-min-microvolt = <5000000>;
198		regulator-max-microvolt = <5000000>;
199		vin-supply = <&vcc5v0_usb>;
200	};
201
202	vcc5v0_sys: regulator-vcc5v0-sys {
203		compatible = "regulator-fixed";
204		regulator-name = "vcc5v0_sys";
205		regulator-always-on;
206		regulator-boot-on;
207		regulator-min-microvolt = <5000000>;
208		regulator-max-microvolt = <5000000>;
209		vin-supply = <&vcc12v_dcin>;
210	};
211
212	vcc5v0_usb: regulator-vcc5v0-usb {
213		compatible = "regulator-fixed";
214		regulator-name = "vcc5v0_usb";
215		regulator-always-on;
216		regulator-boot-on;
217		regulator-min-microvolt = <5000000>;
218		regulator-max-microvolt = <5000000>;
219		vin-supply = <&vcc5v0_usbdcin>;
220	};
221
222	vcc5v0_usbdcin: regulator-vcc5v0-usbdcin {
223		compatible = "regulator-fixed";
224		regulator-name = "vcc5v0_usbdcin";
225		regulator-always-on;
226		regulator-boot-on;
227		regulator-min-microvolt = <5000000>;
228		regulator-max-microvolt = <5000000>;
229		vin-supply = <&vcc12v_dcin>;
230	};
231};
232
233&combphy0_ps {
234	status = "okay";
235};
236
237&combphy2_psu {
238	status = "okay";
239};
240
241&i2c3 {
242	status = "okay";
243
244	es8388: audio-codec@11 {
245		compatible = "everest,es8388";
246		reg = <0x11>;
247		clocks = <&cru I2S0_8CH_MCLKOUT>;
248		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
249		assigned-clock-rates = <12288000>;
250		AVDD-supply = <&avcc_1v8_s0>;
251		DVDD-supply = <&avcc_1v8_s0>;
252		HPVDD-supply = <&vcc_3v3_s0>;
253		PVDD-supply = <&vcc_3v3_s0>;
254		#sound-dai-cells = <0>;
255	};
256};
257
258&i2c8 {
259	pinctrl-names = "default";
260	pinctrl-0 = <&i2c8m2_xfer>;
261	status = "okay";
262
263	usbc0: usb-typec@22 {
264		compatible = "fcs,fusb302";
265		reg = <0x22>;
266		interrupt-parent = <&gpio0>;
267		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
268		pinctrl-names = "default";
269		pinctrl-0 = <&usbc0_int>;
270		vbus-supply = <&vbus5v0_typec>;
271
272		usb_con: connector {
273			compatible = "usb-c-connector";
274			label = "USB-C";
275			data-role = "dual";
276			op-sink-microwatt = <1000000>;
277			power-role = "dual";
278			sink-pdos =
279				<PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
280			source-pdos =
281				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
282			try-power-role = "source";
283
284			ports {
285				#address-cells = <1>;
286				#size-cells = <0>;
287
288				port@0 {
289					reg = <0>;
290
291					usbc0_orien_sw: endpoint {
292						remote-endpoint = <&usbdp_phy0_orientation_switch>;
293					};
294				};
295
296				port@1 {
297					reg = <1>;
298
299					usbc0_role_sw: endpoint {
300						remote-endpoint = <&dwc3_0_role_switch>;
301					};
302				};
303
304				port@2 {
305					reg = <2>;
306
307					dp_altmode_mux: endpoint {
308						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
309					};
310				};
311			};
312		};
313	};
314
315	hym8563: rtc@51 {
316		compatible = "haoyu,hym8563";
317		reg = <0x51>;
318		#clock-cells = <0>;
319		clock-output-names = "hym8563";
320		pinctrl-names = "default";
321		pinctrl-0 = <&hym8563_int>;
322		interrupt-parent = <&gpio0>;
323		interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>;
324		wakeup-source;
325	};
326};
327
328&pcie2x1l1 {
329	pinctrl-names = "default";
330	pinctrl-0 = <&pcie2_1_rst>;
331	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
332	vpcie3v3-supply = <&vcc3v3_pcie20>;
333	status = "okay";
334};
335
336&pcie2x1l2 {
337	pinctrl-names = "default";
338	pinctrl-0 = <&pcie2_2_rst>;
339	reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;
340	status = "okay";
341};
342
343&pinctrl {
344	audio {
345		hp_detect: headphone-detect {
346			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
347		};
348
349		headphone_amplifier_en: headphone-amplifier-en {
350			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
351		};
352
353		speaker_amplifier_en: speaker-amplifier-en {
354			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
355		};
356	};
357
358	hym8563 {
359		hym8563_int: hym8563-int {
360			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
361		};
362	};
363
364	lcd-edp {
365		vcc3v3_lcd_edp_en: vcc3v3-lcd-edp-en {
366			rockchip,pins = <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
367		};
368	};
369
370	pcie2 {
371		pcie2_1_rst: pcie2-1-rst {
372			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
373		};
374
375		pcie2_2_rst: pcie2-2-rst {
376			rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
377		};
378
379		vcc3v3_pcie20_en: vcc3v3-pcie20-en {
380			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
381		};
382	};
383
384	usb {
385		vcc5v0_host_en: vcc5v0-host-en {
386			rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
387		};
388	};
389
390	usb-typec {
391		typec5v_pwren: typec5v-pwren {
392			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
393		};
394
395		usbc0_int: usbc0-int {
396			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
397		};
398	};
399};
400
401&pwm12 {
402	status = "okay";
403};
404
405&saradc {
406	vref-supply = <&vcc_1v8_s0>;
407	status = "okay";
408};
409
410&sdhci {
411	bus-width = <8>;
412	mmc-hs400-1_8v;
413	mmc-hs400-enhanced-strobe;
414	no-sdio;
415	no-sd;
416	non-removable;
417	status = "okay";
418};
419
420&sdmmc {
421	bus-width = <4>;
422	cap-mmc-highspeed;
423	cap-sd-highspeed;
424	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
425	disable-wp;
426	max-frequency = <150000000>;
427	no-mmc;
428	no-sdio;
429	sd-uhs-sdr104;
430	vmmc-supply = <&vcc_3v3_sd_s0>;
431	vqmmc-supply = <&vccio_sd_s0>;
432	status = "okay";
433};
434
435&spi2 {
436	assigned-clocks = <&cru CLK_SPI2>;
437	assigned-clock-rates = <200000000>;
438	num-cs = <2>;
439	status = "okay";
440
441	pmic@0 {
442		compatible = "rockchip,rk806";
443		reg = <0x0>;
444		#gpio-cells = <2>;
445		gpio-controller;
446		interrupt-parent = <&gpio0>;
447		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
448		pinctrl-names = "default";
449		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
450			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
451		spi-max-frequency = <1000000>;
452		system-power-controller;
453
454		vcc1-supply = <&vcc5v0_sys>;
455		vcc2-supply = <&vcc5v0_sys>;
456		vcc3-supply = <&vcc5v0_sys>;
457		vcc4-supply = <&vcc5v0_sys>;
458		vcc5-supply = <&vcc5v0_sys>;
459		vcc6-supply = <&vcc5v0_sys>;
460		vcc7-supply = <&vcc5v0_sys>;
461		vcc8-supply = <&vcc5v0_sys>;
462		vcc9-supply = <&vcc5v0_sys>;
463		vcc10-supply = <&vcc5v0_sys>;
464		vcc11-supply = <&vcc_2v0_pldo_s3>;
465		vcc12-supply = <&vcc5v0_sys>;
466		vcc13-supply = <&vcc5v0_sys>;
467		vcc14-supply = <&vcc_1v1_nldo_s3>;
468		vcca-supply = <&vcc5v0_sys>;
469
470		rk806_dvs1_null: dvs1-null-pins {
471			pins = "gpio_pwrctrl1";
472			function = "pin_fun0";
473		};
474
475		rk806_dvs2_null: dvs2-null-pins {
476			pins = "gpio_pwrctrl2";
477			function = "pin_fun0";
478		};
479
480		rk806_dvs3_null: dvs3-null-pins {
481			pins = "gpio_pwrctrl3";
482			function = "pin_fun0";
483		};
484
485		regulators {
486			vdd_gpu_s0: dcdc-reg1 {
487				regulator-name = "vdd_gpu_s0";
488				regulator-boot-on;
489				regulator-min-microvolt = <550000>;
490				regulator-max-microvolt = <950000>;
491				regulator-ramp-delay = <12500>;
492				regulator-enable-ramp-delay = <400>;
493
494				regulator-state-mem {
495					regulator-off-in-suspend;
496				};
497			};
498
499			vdd_npu_s0: dcdc-reg2 {
500				regulator-name = "vdd_npu_s0";
501				regulator-always-on;
502				regulator-boot-on;
503				regulator-min-microvolt = <550000>;
504				regulator-max-microvolt = <950000>;
505				regulator-ramp-delay = <12500>;
506
507				regulator-state-mem {
508					regulator-off-in-suspend;
509				};
510			};
511
512			vdd_log_s0: dcdc-reg3 {
513				regulator-name = "vdd_log_s0";
514				regulator-always-on;
515				regulator-boot-on;
516				regulator-min-microvolt = <675000>;
517				regulator-max-microvolt = <800000>;
518				regulator-ramp-delay = <12500>;
519
520				regulator-state-mem {
521					regulator-off-in-suspend;
522					regulator-suspend-microvolt = <750000>;
523				};
524			};
525
526			vdd_vdenc_s0: dcdc-reg4 {
527				regulator-name = "vdd_vdenc_s0";
528				regulator-always-on;
529				regulator-boot-on;
530				regulator-min-microvolt = <550000>;
531				regulator-max-microvolt = <950000>;
532				regulator-ramp-delay = <12500>;
533
534				regulator-state-mem {
535					regulator-off-in-suspend;
536				};
537			};
538
539			vdd_gpu_mem_s0: dcdc-reg5 {
540				regulator-name = "vdd_gpu_mem_s0";
541				regulator-boot-on;
542				regulator-min-microvolt = <675000>;
543				regulator-max-microvolt = <950000>;
544				regulator-ramp-delay = <12500>;
545				regulator-enable-ramp-delay = <400>;
546
547				regulator-state-mem {
548					regulator-off-in-suspend;
549				};
550			};
551
552			vdd_npu_mem_s0: dcdc-reg6 {
553				regulator-name = "vdd_npu_mem_s0";
554				regulator-always-on;
555				regulator-boot-on;
556				regulator-min-microvolt = <675000>;
557				regulator-max-microvolt = <950000>;
558				regulator-ramp-delay = <12500>;
559
560				regulator-state-mem {
561					regulator-off-in-suspend;
562				};
563			};
564
565			vcc_2v0_pldo_s3: dcdc-reg7 {
566				regulator-name = "vdd_2v0_pldo_s3";
567				regulator-always-on;
568				regulator-boot-on;
569				regulator-min-microvolt = <2000000>;
570				regulator-max-microvolt = <2000000>;
571				regulator-ramp-delay = <12500>;
572
573				regulator-state-mem {
574					regulator-on-in-suspend;
575					regulator-suspend-microvolt = <2000000>;
576				};
577			};
578
579			vdd_vdenc_mem_s0: dcdc-reg8 {
580				regulator-name = "vdd_vdenc_mem_s0";
581				regulator-always-on;
582				regulator-boot-on;
583				regulator-min-microvolt = <675000>;
584				regulator-max-microvolt = <950000>;
585				regulator-ramp-delay = <12500>;
586
587				regulator-state-mem {
588					regulator-off-in-suspend;
589				};
590			};
591
592			vdd2_ddr_s3: dcdc-reg9 {
593				regulator-name = "vdd2_ddr_s3";
594				regulator-always-on;
595				regulator-boot-on;
596
597				regulator-state-mem {
598					regulator-on-in-suspend;
599				};
600			};
601
602			vcc_1v1_nldo_s3: dcdc-reg10 {
603				regulator-name = "vcc_1v1_nldo_s3";
604				regulator-always-on;
605				regulator-boot-on;
606				regulator-min-microvolt = <1100000>;
607				regulator-max-microvolt = <1100000>;
608				regulator-ramp-delay = <12500>;
609
610				regulator-state-mem {
611					regulator-on-in-suspend;
612					regulator-suspend-microvolt = <1100000>;
613				};
614			};
615
616			avcc_1v8_s0: pldo-reg1 {
617				regulator-name = "avcc_1v8_s0";
618				regulator-always-on;
619				regulator-boot-on;
620				regulator-min-microvolt = <1800000>;
621				regulator-max-microvolt = <1800000>;
622				regulator-ramp-delay = <12500>;
623
624				regulator-state-mem {
625					regulator-off-in-suspend;
626				};
627			};
628
629			vdd1_1v8_ddr_s3: pldo-reg2 {
630				regulator-name = "vdd1_1v8_ddr_s3";
631				regulator-always-on;
632				regulator-boot-on;
633				regulator-min-microvolt = <1800000>;
634				regulator-max-microvolt = <1800000>;
635				regulator-ramp-delay = <12500>;
636
637				regulator-state-mem {
638					regulator-on-in-suspend;
639					regulator-suspend-microvolt = <1800000>;
640				};
641			};
642
643			vcc_1v8_s3: pldo-reg3 {
644				regulator-name = "vcc_1v8_s3";
645				regulator-always-on;
646				regulator-boot-on;
647				regulator-min-microvolt = <1800000>;
648				regulator-max-microvolt = <1800000>;
649				regulator-ramp-delay = <12500>;
650
651				regulator-state-mem {
652					regulator-on-in-suspend;
653					regulator-suspend-microvolt = <1800000>;
654				};
655			};
656
657			vcc_3v3_s0: pldo-reg4 {
658				regulator-name = "vcc_3v3_s0";
659				regulator-always-on;
660				regulator-boot-on;
661				regulator-min-microvolt = <3300000>;
662				regulator-max-microvolt = <3300000>;
663				regulator-ramp-delay = <12500>;
664
665				regulator-state-mem {
666					regulator-off-in-suspend;
667				};
668			};
669
670			vccio_sd_s0: pldo-reg5 {
671				regulator-name = "vccio_sd_s0";
672				regulator-always-on;
673				regulator-boot-on;
674				regulator-min-microvolt = <1800000>;
675				regulator-max-microvolt = <3300000>;
676				regulator-ramp-delay = <12500>;
677
678				regulator-state-mem {
679					regulator-off-in-suspend;
680				};
681			};
682
683			master_pldo6_s3: pldo-reg6 {
684				regulator-name = "master_pldo6_s3";
685				regulator-always-on;
686				regulator-boot-on;
687				regulator-min-microvolt = <1800000>;
688				regulator-max-microvolt = <1800000>;
689
690				regulator-state-mem {
691					regulator-on-in-suspend;
692					regulator-suspend-microvolt = <1800000>;
693				};
694			};
695
696			vdd_0v75_s3: nldo-reg1 {
697				regulator-name = "vdd_0v75_s3";
698				regulator-always-on;
699				regulator-boot-on;
700				regulator-min-microvolt = <750000>;
701				regulator-max-microvolt = <750000>;
702				regulator-ramp-delay = <12500>;
703
704				regulator-state-mem {
705					regulator-on-in-suspend;
706					regulator-suspend-microvolt = <750000>;
707				};
708			};
709
710			vdd2l_0v9_ddr_s3: nldo-reg2 {
711				regulator-name = "vdd2l_0v9_ddr_s3";
712				regulator-always-on;
713				regulator-boot-on;
714				regulator-min-microvolt = <900000>;
715				regulator-max-microvolt = <900000>;
716
717				regulator-state-mem {
718					regulator-on-in-suspend;
719					regulator-suspend-microvolt = <900000>;
720				};
721			};
722
723			master_nldo3: nldo-reg3 {
724				regulator-name = "master_nldo3";
725
726				regulator-state-mem {
727					regulator-off-in-suspend;
728				};
729			};
730
731			avdd_0v75_s0: nldo-reg4 {
732				regulator-name = "avdd_0v75_s0";
733				regulator-always-on;
734				regulator-boot-on;
735				regulator-min-microvolt = <750000>;
736				regulator-max-microvolt = <750000>;
737
738				regulator-state-mem {
739					regulator-off-in-suspend;
740				};
741			};
742
743			vdd_0v85_s0: nldo-reg5 {
744				regulator-name = "vdd_0v85_s0";
745				regulator-always-on;
746				regulator-boot-on;
747				regulator-min-microvolt = <850000>;
748				regulator-max-microvolt = <850000>;
749
750				regulator-state-mem {
751					regulator-off-in-suspend;
752				};
753			};
754		};
755	};
756
757	pmic@1 {
758		compatible = "rockchip,rk806";
759		reg = <0x01>;
760		#gpio-cells = <2>;
761		gpio-controller;
762		interrupt-parent = <&gpio0>;
763		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
764		pinctrl-names = "default";
765		pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>,
766			    <&rk806_slave_dvs3_null>;
767		spi-max-frequency = <1000000>;
768
769		vcc1-supply = <&vcc5v0_sys>;
770		vcc2-supply = <&vcc5v0_sys>;
771		vcc3-supply = <&vcc5v0_sys>;
772		vcc4-supply = <&vcc5v0_sys>;
773		vcc5-supply = <&vcc5v0_sys>;
774		vcc6-supply = <&vcc5v0_sys>;
775		vcc7-supply = <&vcc5v0_sys>;
776		vcc8-supply = <&vcc5v0_sys>;
777		vcc9-supply = <&vcc5v0_sys>;
778		vcc10-supply = <&vcc5v0_sys>;
779		vcc11-supply = <&vcc_2v0_pldo_s3>;
780		vcc12-supply = <&vcc5v0_sys>;
781		vcc13-supply = <&vcc_1v1_nldo_s3>;
782		vcc14-supply = <&vcc_2v0_pldo_s3>;
783		vcca-supply = <&vcc5v0_sys>;
784
785		rk806_slave_dvs1_null: dvs1-null-pins {
786			pins = "gpio_pwrctrl1";
787			function = "pin_fun0";
788		};
789
790		rk806_slave_dvs2_null: dvs2-null-pins {
791			pins = "gpio_pwrctrl2";
792			function = "pin_fun0";
793		};
794
795		rk806_slave_dvs3_null: dvs3-null-pins {
796			pins = "gpio_pwrctrl3";
797			function = "pin_fun0";
798		};
799
800		regulators {
801			vdd_cpu_big1_s0: dcdc-reg1 {
802				regulator-name = "vdd_cpu_big1_s0";
803				regulator-always-on;
804				regulator-boot-on;
805				regulator-coupled-with = <&vdd_cpu_big1_mem_s0>;
806				regulator-coupled-max-spread = <10000>;
807				regulator-min-microvolt = <550000>;
808				regulator-max-microvolt = <1050000>;
809				regulator-ramp-delay = <12500>;
810
811				regulator-state-mem {
812					regulator-off-in-suspend;
813				};
814			};
815
816			vdd_cpu_big0_s0: dcdc-reg2 {
817				regulator-name = "vdd_cpu_big0_s0";
818				regulator-always-on;
819				regulator-boot-on;
820				regulator-coupled-with = <&vdd_cpu_big0_mem_s0>;
821				regulator-coupled-max-spread = <10000>;
822				regulator-min-microvolt = <550000>;
823				regulator-max-microvolt = <1050000>;
824				regulator-ramp-delay = <12500>;
825
826				regulator-state-mem {
827					regulator-off-in-suspend;
828				};
829			};
830
831			vdd_cpu_lit_s0: dcdc-reg3 {
832				regulator-name = "vdd_cpu_lit_s0";
833				regulator-always-on;
834				regulator-boot-on;
835				regulator-coupled-with = <&vdd_cpu_lit_mem_s0>;
836				regulator-coupled-max-spread = <10000>;
837				regulator-min-microvolt = <550000>;
838				regulator-max-microvolt = <950000>;
839				regulator-ramp-delay = <12500>;
840
841				regulator-state-mem {
842					regulator-off-in-suspend;
843				};
844			};
845
846			vcc_3v3_s3: dcdc-reg4 {
847				regulator-name = "vcc_3v3_s3";
848				regulator-always-on;
849				regulator-boot-on;
850				regulator-min-microvolt = <3300000>;
851				regulator-max-microvolt = <3300000>;
852				regulator-ramp-delay = <12500>;
853
854				regulator-state-mem {
855					regulator-on-in-suspend;
856					regulator-suspend-microvolt = <3300000>;
857				};
858			};
859
860			vdd_cpu_big1_mem_s0: dcdc-reg5 {
861				regulator-name = "vdd_cpu_big1_mem_s0";
862				regulator-always-on;
863				regulator-boot-on;
864				regulator-coupled-with = <&vdd_cpu_big1_s0>;
865				regulator-coupled-max-spread = <10000>;
866				regulator-min-microvolt = <675000>;
867				regulator-max-microvolt = <1050000>;
868				regulator-ramp-delay = <12500>;
869
870				regulator-state-mem {
871					regulator-off-in-suspend;
872				};
873			};
874
875
876			vdd_cpu_big0_mem_s0: dcdc-reg6 {
877				regulator-name = "vdd_cpu_big0_mem_s0";
878				regulator-always-on;
879				regulator-boot-on;
880				regulator-coupled-with = <&vdd_cpu_big0_s0>;
881				regulator-coupled-max-spread = <10000>;
882				regulator-min-microvolt = <675000>;
883				regulator-max-microvolt = <1050000>;
884				regulator-ramp-delay = <12500>;
885
886				regulator-state-mem {
887					regulator-off-in-suspend;
888				};
889			};
890
891			vcc_1v8_s0: dcdc-reg7 {
892				regulator-name = "vcc_1v8_s0";
893				regulator-always-on;
894				regulator-boot-on;
895				regulator-min-microvolt = <1800000>;
896				regulator-max-microvolt = <1800000>;
897				regulator-ramp-delay = <12500>;
898
899				regulator-state-mem {
900					regulator-off-in-suspend;
901				};
902			};
903
904			vdd_cpu_lit_mem_s0: dcdc-reg8 {
905				regulator-name = "vdd_cpu_lit_mem_s0";
906				regulator-always-on;
907				regulator-boot-on;
908				regulator-coupled-with = <&vdd_cpu_lit_s0>;
909				regulator-coupled-max-spread = <10000>;
910				regulator-min-microvolt = <675000>;
911				regulator-max-microvolt = <950000>;
912				regulator-ramp-delay = <12500>;
913
914				regulator-state-mem {
915					regulator-off-in-suspend;
916				};
917			};
918
919			vddq_ddr_s0: dcdc-reg9 {
920				regulator-name = "vddq_ddr_s0";
921				regulator-always-on;
922				regulator-boot-on;
923
924				regulator-state-mem {
925					regulator-off-in-suspend;
926				};
927			};
928
929			vdd_ddr_s0: dcdc-reg10 {
930				regulator-name = "vdd_ddr_s0";
931				regulator-always-on;
932				regulator-boot-on;
933				regulator-min-microvolt = <675000>;
934				regulator-max-microvolt = <900000>;
935				regulator-ramp-delay = <12500>;
936
937				regulator-state-mem {
938					regulator-off-in-suspend;
939				};
940			};
941
942			vcc_1v8_cam_s0: pldo-reg1 {
943				regulator-name = "vcc_1v8_cam_s0";
944				regulator-always-on;
945				regulator-boot-on;
946				regulator-min-microvolt = <1800000>;
947				regulator-max-microvolt = <1800000>;
948				regulator-ramp-delay = <12500>;
949
950				regulator-state-mem {
951					regulator-off-in-suspend;
952				};
953			};
954
955			avdd1v8_ddr_pll_s0: pldo-reg2 {
956				regulator-name = "avdd1v8_ddr_pll_s0";
957				regulator-always-on;
958				regulator-boot-on;
959				regulator-min-microvolt = <1800000>;
960				regulator-max-microvolt = <1800000>;
961				regulator-ramp-delay = <12500>;
962
963				regulator-state-mem {
964					regulator-off-in-suspend;
965				};
966			};
967
968			vdd_1v8_pll_s0: pldo-reg3 {
969				regulator-name = "vdd_1v8_pll_s0";
970				regulator-always-on;
971				regulator-boot-on;
972				regulator-min-microvolt = <1800000>;
973				regulator-max-microvolt = <1800000>;
974				regulator-ramp-delay = <12500>;
975
976				regulator-state-mem {
977					regulator-off-in-suspend;
978				};
979			};
980
981			vcc_3v3_sd_s0: pldo-reg4 {
982				regulator-name = "vcc_3v3_sd_s0";
983				regulator-always-on;
984				regulator-boot-on;
985				regulator-min-microvolt = <3300000>;
986				regulator-max-microvolt = <3300000>;
987				regulator-ramp-delay = <12500>;
988
989				regulator-state-mem {
990					regulator-off-in-suspend;
991				};
992			};
993
994			vcc_2v8_cam_s0: pldo-reg5 {
995				regulator-name = "vcc_2v8_cam_s0";
996				regulator-always-on;
997				regulator-boot-on;
998				regulator-min-microvolt = <2800000>;
999				regulator-max-microvolt = <2800000>;
1000				regulator-ramp-delay = <12500>;
1001
1002				regulator-state-mem {
1003					regulator-off-in-suspend;
1004				};
1005			};
1006
1007			pldo6_s3: pldo-reg6 {
1008				regulator-name = "pldo6_s3";
1009				regulator-always-on;
1010				regulator-boot-on;
1011				regulator-min-microvolt = <1800000>;
1012				regulator-max-microvolt = <1800000>;
1013
1014				regulator-state-mem {
1015					regulator-on-in-suspend;
1016					regulator-suspend-microvolt = <1800000>;
1017				};
1018			};
1019
1020			vdd_0v75_pll_s0: nldo-reg1 {
1021				regulator-name = "vdd_0v75_pll_s0";
1022				regulator-always-on;
1023				regulator-boot-on;
1024				regulator-min-microvolt = <750000>;
1025				regulator-max-microvolt = <750000>;
1026				regulator-ramp-delay = <12500>;
1027
1028				regulator-state-mem {
1029					regulator-off-in-suspend;
1030				};
1031			};
1032
1033			vdd_ddr_pll_s0: nldo-reg2 {
1034				regulator-name = "vdd_ddr_pll_s0";
1035				regulator-always-on;
1036				regulator-boot-on;
1037				regulator-min-microvolt = <850000>;
1038				regulator-max-microvolt = <850000>;
1039
1040				regulator-state-mem {
1041					regulator-off-in-suspend;
1042				};
1043			};
1044
1045			slave_nldo3: nldo-reg3 {
1046				regulator-name = "slave_nldo3";
1047
1048				regulator-state-mem {
1049					regulator-off-in-suspend;
1050				};
1051			};
1052
1053			avdd_1v2_cam_s0: nldo-reg4 {
1054				regulator-always-on;
1055				regulator-boot-on;
1056				regulator-min-microvolt = <1200000>;
1057				regulator-max-microvolt = <1200000>;
1058				regulator-ramp-delay = <12500>;
1059				regulator-name = "avdd_1v2_cam_s0";
1060
1061				regulator-state-mem {
1062					regulator-off-in-suspend;
1063				};
1064			};
1065
1066			avdd_1v2_s0: nldo-reg5 {
1067				regulator-always-on;
1068				regulator-boot-on;
1069				regulator-min-microvolt = <1200000>;
1070				regulator-max-microvolt = <1200000>;
1071				regulator-ramp-delay = <12500>;
1072				regulator-name = "avdd_1v2_s0";
1073
1074				regulator-state-mem {
1075					regulator-off-in-suspend;
1076				};
1077			};
1078		};
1079	};
1080};
1081
1082&tsadc {
1083	status = "okay";
1084};
1085
1086&u2phy0 {
1087	status = "okay";
1088};
1089
1090&u2phy2 {
1091	status = "okay";
1092};
1093
1094&u2phy3 {
1095	status = "okay";
1096};
1097
1098&u2phy0_otg {
1099	status = "okay";
1100};
1101
1102&u2phy2_host {
1103	phy-supply = <&vcc5v0_host>;
1104	status = "okay";
1105};
1106
1107&u2phy3_host {
1108	phy-supply = <&vcc5v0_host>;
1109	status = "okay";
1110};
1111
1112&uart2 {
1113	pinctrl-names = "default";
1114	pinctrl-0 = <&uart2m0_xfer>;
1115	status = "okay";
1116};
1117
1118&usb_host0_ehci {
1119	status = "okay";
1120};
1121
1122&usb_host0_ohci {
1123	status = "okay";
1124};
1125
1126&usb_host0_xhci {
1127	usb-role-switch;
1128	status = "okay";
1129
1130	port {
1131		#address-cells = <1>;
1132		#size-cells = <0>;
1133
1134		dwc3_0_role_switch: endpoint@0 {
1135			reg = <0>;
1136			remote-endpoint = <&usbc0_role_sw>;
1137		};
1138	};
1139};
1140
1141&usb_host1_ehci {
1142	status = "okay";
1143};
1144
1145&usb_host1_ohci {
1146	status = "okay";
1147};
1148
1149&usbdp_phy0 {
1150	mode-switch;
1151	orientation-switch;
1152	sbu1-dc-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
1153	sbu2-dc-gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_HIGH>;
1154	status = "okay";
1155
1156	port {
1157		#address-cells = <1>;
1158		#size-cells = <0>;
1159
1160		usbdp_phy0_orientation_switch: endpoint@0 {
1161			reg = <0>;
1162			remote-endpoint = <&usbc0_orien_sw>;
1163		};
1164
1165		usbdp_phy0_dp_altmode_mux: endpoint@1 {
1166			reg = <1>;
1167			remote-endpoint = <&dp_altmode_mux>;
1168		};
1169	};
1170};
1171