xref: /linux/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi (revision 6315d93541f8a5f77c5ef5c4f25233e66d189603)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4 * Copyright (c) 2023 Thomas McKahan
5 *
6 */
7
8/dts-v1/;
9
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/pinctrl/rockchip.h>
13#include <dt-bindings/soc/rockchip,vop2.h>
14#include <dt-bindings/usb/pd.h>
15#include "rk3588.dtsi"
16
17/ {
18	model = "FriendlyElec NanoPC-T6";
19	compatible = "friendlyarm,nanopc-t6", "rockchip,rk3588";
20
21	aliases {
22		mmc0 = &sdhci;
23		mmc1 = &sdmmc;
24	};
25
26	adc-keys-0 {
27		compatible = "adc-keys";
28		io-channels = <&saradc 0>;
29		io-channel-names = "buttons";
30		keyup-threshold-microvolt = <1800000>;
31		poll-interval = <100>;
32
33		button-maskrom {
34			label = "Mask Rom";
35			linux,code = <KEY_SETUP>;
36			press-threshold-microvolt = <2000>;
37		};
38	};
39
40	chosen {
41		stdout-path = "serial2:1500000n8";
42	};
43
44	hdmi0-con {
45		compatible = "hdmi-connector";
46		type = "a";
47
48		port {
49			hdmi0_con_in: endpoint {
50				remote-endpoint = <&hdmi0_out_con>;
51			};
52		};
53	};
54
55	ir-receiver {
56		compatible = "gpio-ir-receiver";
57		gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_LOW>;
58		pinctrl-names = "default";
59		pinctrl-0 = <&ir_receiver_pin>;
60	};
61
62	leds {
63		compatible = "gpio-leds";
64
65		sys_led: led-0 {
66			gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
67			label = "system-led";
68			linux,default-trigger = "heartbeat";
69			pinctrl-names = "default";
70			pinctrl-0 = <&sys_led_pin>;
71		};
72
73		usr_led: led-1 {
74			gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
75			label = "user-led";
76			pinctrl-names = "default";
77			pinctrl-0 = <&usr_led_pin>;
78		};
79	};
80
81	sound {
82		compatible = "simple-audio-card";
83		pinctrl-names = "default";
84		pinctrl-0 = <&hp_det>;
85
86		simple-audio-card,name = "realtek,rt5616-codec";
87		simple-audio-card,format = "i2s";
88		simple-audio-card,mclk-fs = <256>;
89
90		simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
91
92		simple-audio-card,widgets =
93			"Headphone", "Headphones",
94			"Microphone", "Microphone Jack";
95		simple-audio-card,routing =
96			"Headphones", "HPOL",
97			"Headphones", "HPOR",
98			"MIC1", "Microphone Jack",
99			"Microphone Jack", "micbias1";
100
101		simple-audio-card,cpu {
102			sound-dai = <&i2s0_8ch>;
103		};
104		simple-audio-card,codec {
105			sound-dai = <&rt5616>;
106		};
107	};
108
109	vcc12v_dcin: regulator-vcc12v-dcin {
110		compatible = "regulator-fixed";
111		regulator-name = "vcc12v_dcin";
112		regulator-always-on;
113		regulator-boot-on;
114		regulator-min-microvolt = <12000000>;
115		regulator-max-microvolt = <12000000>;
116	};
117
118	/* vcc5v0_sys powers peripherals */
119	vcc5v0_sys: regulator-vcc5v0-sys {
120		compatible = "regulator-fixed";
121		regulator-name = "vcc5v0_sys";
122		regulator-always-on;
123		regulator-boot-on;
124		regulator-min-microvolt = <5000000>;
125		regulator-max-microvolt = <5000000>;
126		vin-supply = <&vcc12v_dcin>;
127	};
128
129	/* vcc4v0_sys powers the RK806, RK860's */
130	vcc4v0_sys: regulator-vcc4v0-sys {
131		compatible = "regulator-fixed";
132		regulator-name = "vcc4v0_sys";
133		regulator-always-on;
134		regulator-boot-on;
135		regulator-min-microvolt = <4000000>;
136		regulator-max-microvolt = <4000000>;
137		vin-supply = <&vcc12v_dcin>;
138	};
139
140	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
141		compatible = "regulator-fixed";
142		regulator-name = "vcc-1v1-nldo-s3";
143		regulator-always-on;
144		regulator-boot-on;
145		regulator-min-microvolt = <1100000>;
146		regulator-max-microvolt = <1100000>;
147		vin-supply = <&vcc4v0_sys>;
148	};
149
150	vcc_3v3_pcie20: regulator-vcc3v3-pcie20 {
151		compatible = "regulator-fixed";
152		regulator-name = "vcc_3v3_pcie20";
153		regulator-always-on;
154		regulator-boot-on;
155		regulator-min-microvolt = <3300000>;
156		regulator-max-microvolt = <3300000>;
157		vin-supply = <&vcc_3v3_s3>;
158	};
159
160	vbus5v0_typec: regulator-vbus5v0-typec {
161		compatible = "regulator-fixed";
162		enable-active-high;
163		gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
164		pinctrl-names = "default";
165		pinctrl-0 = <&typec5v_pwren>;
166		regulator-always-on;
167		regulator-boot-on;
168		regulator-name = "vbus5v0_typec";
169		regulator-min-microvolt = <5000000>;
170		regulator-max-microvolt = <5000000>;
171		vin-supply = <&vcc5v0_sys>;
172	};
173
174	vbus5v0_usb: regulator-vbus5v0-usb {
175		compatible = "regulator-fixed";
176		enable-active-high;
177		gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
178		pinctrl-names = "default";
179		pinctrl-0 = <&usb5v_pwren>;
180		regulator-always-on;
181		regulator-boot-on;
182		regulator-name = "vbus5v0_usb";
183		regulator-min-microvolt = <5000000>;
184		regulator-max-microvolt = <5000000>;
185		vin-supply = <&vcc5v0_sys>;
186	};
187
188	vcc3v3_pcie2x1l0: regulator-vcc3v3-pcie2x1l0 {
189		compatible = "regulator-fixed";
190		enable-active-high;
191		gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
192		pinctrl-names = "default";
193		pinctrl-0 = <&pcie_m2_1_pwren>;
194		regulator-name = "vcc3v3_pcie2x1l0";
195		regulator-min-microvolt = <3300000>;
196		regulator-max-microvolt = <3300000>;
197		vin-supply = <&vcc5v0_sys>;
198	};
199
200	vcc3v3_pcie30: regulator-vcc3v3-pcie30 {
201		compatible = "regulator-fixed";
202		enable-active-high;
203		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
204		pinctrl-names = "default";
205		pinctrl-0 = <&pcie_m2_0_pwren>;
206		regulator-name = "vcc3v3_pcie30";
207		regulator-min-microvolt = <3300000>;
208		regulator-max-microvolt = <3300000>;
209		vin-supply = <&vcc5v0_sys>;
210	};
211
212	vcc3v3_sd_s0: regulator-vcc3v3-sd-s0 {
213		compatible = "regulator-fixed";
214		gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_LOW>;
215		regulator-boot-on;
216		regulator-max-microvolt = <3300000>;
217		regulator-min-microvolt = <3300000>;
218		regulator-name = "vcc3v3_sd_s0";
219		vin-supply = <&vcc_3v3_s3>;
220	};
221};
222
223&combphy0_ps {
224	status = "okay";
225};
226
227&combphy1_ps {
228	status = "okay";
229};
230
231&combphy2_psu {
232	status = "okay";
233};
234
235&cpu_l0 {
236	cpu-supply = <&vdd_cpu_lit_s0>;
237};
238
239&cpu_l1 {
240	cpu-supply = <&vdd_cpu_lit_s0>;
241};
242
243&cpu_l2 {
244	cpu-supply = <&vdd_cpu_lit_s0>;
245};
246
247&cpu_l3 {
248	cpu-supply = <&vdd_cpu_lit_s0>;
249};
250
251&cpu_b0 {
252	cpu-supply = <&vdd_cpu_big0_s0>;
253};
254
255&cpu_b1 {
256	cpu-supply = <&vdd_cpu_big0_s0>;
257};
258
259&cpu_b2 {
260	cpu-supply = <&vdd_cpu_big1_s0>;
261};
262
263&cpu_b3 {
264	cpu-supply = <&vdd_cpu_big1_s0>;
265};
266
267&gpio0 {
268	gpio-line-names = /* GPIO0 A0-A7 */
269			  "", "", "", "",
270			  "", "", "", "",
271			  /* GPIO0 B0-B7 */
272			  "", "", "", "",
273			  "", "", "", "",
274			  /* GPIO0 C0-C7 */
275			  "", "", "", "",
276			  "HEADER_10", "HEADER_08", "HEADER_32", "",
277			  /* GPIO0 D0-D7 */
278			  "", "", "", "",
279			  "IR receiver [PWM3_IR_M0]", "", "", "";
280};
281
282&gpio1 {
283	gpio-line-names = /* GPIO1 A0-A7 */
284			  "HEADER_27", "HEADER_28", "", "",
285			  "", "", "", "HEADER_15",
286			  /* GPIO1 B0-B7 */
287			  "HEADER_26", "HEADER_21", "HEADER_19", "HEADER_23",
288			  "HEADER_24", "HEADER_22", "", "",
289			  /* GPIO1 C0-C7 */
290			  "", "", "", "",
291			  "", "", "", "",
292			  /* GPIO1 D0-D7 */
293			  "", "", "", "",
294			  "", "", "HEADER_05", "HEADER_03";
295};
296
297&gpio2 {
298	gpio-line-names = /* GPIO2 A0-A7 */
299			  "", "", "", "",
300			  "", "", "", "",
301			  /* GPIO2 B0-B7 */
302			  "", "", "", "",
303			  "", "", "", "",
304			  /* GPIO2 C0-C7 */
305			  "", "CSI1_11", "CSI1_12", "",
306			  "", "", "", "",
307			  /* GPIO2 D0-D7 */
308			  "", "", "", "",
309			  "", "", "", "";
310};
311
312&gpio3 {
313	gpio-line-names = /* GPIO3 A0-A7 */
314			  "HEADER_35", "HEADER_38", "HEADER_40", "HEADER_36",
315			  "HEADER_37", "", "DSI0_12", "",
316			  /* GPIO3 B0-B7 */
317			  "HEADER_33", "DSI0_10", "HEADER_07", "HEADER_16",
318			  "HEADER_18", "HEADER_29", "HEADER_31", "HEADER_12",
319			  /* GPIO3 C0-C7 */
320			  "DSI0_08", "DSI0_14", "HEADER_11", "HEADER_13",
321			  "", "", "", "",
322			  /* GPIO3 D0-D7 */
323			  "", "", "", "",
324			  "", "DSI1_10", "", "";
325};
326
327&gpio4 {
328	gpio-line-names = /* GPIO4 A0-A7 */
329			  "DSI1_08", "DSI1_14", "", "DSI1_12",
330			  "", "", "", "",
331			  /* GPIO4 B0-B7 */
332			  "", "", "", "",
333			  "", "", "", "",
334			  /* GPIO4 C0-C7 */
335			  "", "", "", "",
336			  "CSI0_11", "CSI0_12", "", "",
337			  /* GPIO4 D0-D7 */
338			  "", "", "", "",
339			  "", "", "", "";
340};
341
342&gpu {
343	mali-supply = <&vdd_gpu_s0>;
344	status = "okay";
345};
346
347&hdmi0 {
348	status = "okay";
349};
350
351&hdmi0_in {
352	hdmi0_in_vp0: endpoint {
353		remote-endpoint = <&vp0_out_hdmi0>;
354	};
355};
356
357&hdmi0_out {
358	hdmi0_out_con: endpoint {
359		remote-endpoint = <&hdmi0_con_in>;
360	};
361};
362
363&hdptxphy0 {
364	status = "okay";
365};
366
367&i2c0 {
368	pinctrl-names = "default";
369	pinctrl-0 = <&i2c0m2_xfer>;
370	status = "okay";
371
372	vdd_cpu_big0_s0: regulator@42 {
373		compatible = "rockchip,rk8602";
374		reg = <0x42>;
375		fcs,suspend-voltage-selector = <1>;
376		regulator-name = "vdd_cpu_big0_s0";
377		regulator-always-on;
378		regulator-boot-on;
379		regulator-min-microvolt = <550000>;
380		regulator-max-microvolt = <1050000>;
381		regulator-ramp-delay = <2300>;
382		vin-supply = <&vcc4v0_sys>;
383
384		regulator-state-mem {
385			regulator-off-in-suspend;
386		};
387	};
388
389	vdd_cpu_big1_s0: regulator@43 {
390		compatible = "rockchip,rk8603", "rockchip,rk8602";
391		reg = <0x43>;
392		fcs,suspend-voltage-selector = <1>;
393		regulator-name = "vdd_cpu_big1_s0";
394		regulator-always-on;
395		regulator-boot-on;
396		regulator-min-microvolt = <550000>;
397		regulator-max-microvolt = <1050000>;
398		regulator-ramp-delay = <2300>;
399		vin-supply = <&vcc4v0_sys>;
400
401		regulator-state-mem {
402			regulator-off-in-suspend;
403		};
404	};
405};
406
407&i2c2 {
408	status = "okay";
409
410	vdd_npu_s0: regulator@42 {
411		compatible = "rockchip,rk8602";
412		reg = <0x42>;
413		fcs,suspend-voltage-selector = <1>;
414		regulator-name = "vdd_npu_s0";
415		regulator-always-on;
416		regulator-boot-on;
417		regulator-min-microvolt = <550000>;
418		regulator-max-microvolt = <950000>;
419		regulator-ramp-delay = <2300>;
420		vin-supply = <&vcc4v0_sys>;
421
422		regulator-state-mem {
423			regulator-off-in-suspend;
424		};
425	};
426};
427
428&i2c6 {
429	clock-frequency = <200000>;
430	status = "okay";
431
432	fusb302: typec-portc@22 {
433		compatible = "fcs,fusb302";
434		reg = <0x22>;
435		interrupt-parent = <&gpio0>;
436		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
437		pinctrl-0 = <&usbc0_int>;
438		pinctrl-names = "default";
439		vbus-supply = <&vbus5v0_typec>;
440
441		connector {
442			compatible = "usb-c-connector";
443			data-role = "dual";
444			label = "USB-C";
445			power-role = "source";
446			source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
447
448			ports {
449				#address-cells = <1>;
450				#size-cells = <0>;
451
452				port@0 {
453					reg = <0>;
454					usbc0_hs: endpoint {
455						remote-endpoint = <&usb_host0_xhci_drd_sw>;
456					};
457				};
458
459				port@1 {
460					reg = <1>;
461					usbc0_ss: endpoint {
462						remote-endpoint = <&usbdp_phy0_typec_ss>;
463					};
464				};
465
466				port@2 {
467					reg = <2>;
468					usbc0_sbu: endpoint {
469						remote-endpoint = <&usbdp_phy0_typec_sbu>;
470					};
471				};
472			};
473		};
474	};
475
476	hym8563: rtc@51 {
477		compatible = "haoyu,hym8563";
478		reg = <0x51>;
479		#clock-cells = <0>;
480		clock-output-names = "hym8563";
481		pinctrl-names = "default";
482		pinctrl-0 = <&hym8563_int>;
483		interrupt-parent = <&gpio0>;
484		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
485		wakeup-source;
486	};
487};
488
489&i2c7 {
490	clock-frequency = <200000>;
491	status = "okay";
492
493	rt5616: codec@1b {
494		compatible = "realtek,rt5616";
495		reg = <0x1b>;
496		clocks = <&cru I2S0_8CH_MCLKOUT>;
497		clock-names = "mclk";
498		#sound-dai-cells = <0>;
499		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
500		assigned-clock-rates = <12288000>;
501
502		port {
503			rt5616_p0_0: endpoint {
504				remote-endpoint = <&i2s0_8ch_p0_0>;
505			};
506		};
507	};
508
509	/* connected with MIPI-CSI1 */
510};
511
512&i2c8 {
513	pinctrl-0 = <&i2c8m2_xfer>;
514};
515
516&i2s0_8ch {
517	pinctrl-names = "default";
518	pinctrl-0 = <&i2s0_lrck
519		     &i2s0_mclk
520		     &i2s0_sclk
521		     &i2s0_sdi0
522		     &i2s0_sdo0>;
523	status = "okay";
524
525	i2s0_8ch_p0: port {
526		i2s0_8ch_p0_0: endpoint {
527			dai-format = "i2s";
528			mclk-fs = <256>;
529			remote-endpoint = <&rt5616_p0_0>;
530		};
531	};
532};
533
534&pcie2x1l0 {
535	reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
536	vpcie3v3-supply = <&vcc_3v3_pcie20>;
537	pinctrl-names = "default";
538	pinctrl-0 = <&pcie2_0_rst>;
539	status = "okay";
540};
541
542&pcie2x1l1 {
543	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
544	vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
545	pinctrl-names = "default";
546	pinctrl-0 = <&pcie2_1_rst>;
547	status = "okay";
548};
549
550&pcie2x1l2 {
551	reset-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
552	vpcie3v3-supply = <&vcc_3v3_pcie20>;
553	pinctrl-names = "default";
554	pinctrl-0 = <&pcie2_2_rst>;
555	status = "okay";
556};
557
558&pcie30phy {
559	status = "okay";
560};
561
562&pcie3x4 {
563	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
564	vpcie3v3-supply = <&vcc3v3_pcie30>;
565	status = "okay";
566};
567
568&pd_gpu {
569	domain-supply = <&vdd_gpu_s0>;
570};
571
572&pinctrl {
573	gpio-leds {
574		sys_led_pin: sys-led-pin {
575			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
576		};
577
578		usr_led_pin: usr-led-pin {
579			rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
580		};
581	};
582
583	headphone {
584		hp_det: hp-det {
585			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
586		};
587	};
588
589	hym8563 {
590		hym8563_int: hym8563-int {
591			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
592		};
593	};
594
595	ir-receiver {
596		ir_receiver_pin: ir-receiver-pin {
597			rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
598		};
599	};
600
601	pcie {
602		pcie2_0_rst: pcie2-0-rst {
603			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
604		};
605
606		pcie2_1_rst: pcie2-1-rst {
607			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
608		};
609
610		pcie2_2_rst: pcie2-2-rst {
611			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
612		};
613
614		pcie_m2_0_pwren: pcie-m20-pwren {
615			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
616		};
617
618		pcie_m2_1_pwren: pcie-m21-pwren {
619			rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
620		};
621	};
622
623	usb {
624		typec5v_pwren: typec5v-pwren {
625			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
626		};
627
628		usb5v_pwren: usb5v_pwren {
629			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
630		};
631
632		usbc0_int: usbc0-int {
633			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
634		};
635	};
636};
637
638&pwm1 {
639	pinctrl-0 = <&pwm1m1_pins>;
640	status = "okay";
641};
642
643&saradc {
644	vref-supply = <&avcc_1v8_s0>;
645	status = "okay";
646};
647
648&sdhci {
649	bus-width = <8>;
650	no-sdio;
651	no-sd;
652	non-removable;
653	max-frequency = <200000000>;
654	mmc-hs400-1_8v;
655	mmc-hs400-enhanced-strobe;
656	status = "okay";
657};
658
659&sdmmc {
660	bus-width = <4>;
661	cap-mmc-highspeed;
662	cap-sd-highspeed;
663	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
664	disable-wp;
665	no-mmc;
666	no-sdio;
667	sd-uhs-sdr104;
668	vmmc-supply = <&vcc3v3_sd_s0>;
669	vqmmc-supply = <&vccio_sd_s0>;
670	status = "okay";
671};
672
673/* optional on non-LTS, populated on LTS version */
674&sfc {
675	pinctrl-names = "default";
676	pinctrl-0 = <&fspim1_pins>;
677	status = "okay";
678
679	flash@0 {
680		compatible = "jedec,spi-nor";
681		reg = <0>;
682		spi-max-frequency = <104000000>;
683		spi-rx-bus-width = <4>;
684		spi-tx-bus-width = <1>;
685	};
686};
687
688&spi2 {
689	status = "okay";
690	assigned-clocks = <&cru CLK_SPI2>;
691	assigned-clock-rates = <200000000>;
692	pinctrl-names = "default";
693	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
694	num-cs = <1>;
695
696	pmic@0 {
697		compatible = "rockchip,rk806";
698		spi-max-frequency = <1000000>;
699		reg = <0x0>;
700
701		interrupt-parent = <&gpio0>;
702		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
703
704		pinctrl-names = "default";
705		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
706			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
707
708		system-power-controller;
709
710		vcc1-supply = <&vcc4v0_sys>;
711		vcc2-supply = <&vcc4v0_sys>;
712		vcc3-supply = <&vcc4v0_sys>;
713		vcc4-supply = <&vcc4v0_sys>;
714		vcc5-supply = <&vcc4v0_sys>;
715		vcc6-supply = <&vcc4v0_sys>;
716		vcc7-supply = <&vcc4v0_sys>;
717		vcc8-supply = <&vcc4v0_sys>;
718		vcc9-supply = <&vcc4v0_sys>;
719		vcc10-supply = <&vcc4v0_sys>;
720		vcc11-supply = <&vcc_2v0_pldo_s3>;
721		vcc12-supply = <&vcc4v0_sys>;
722		vcc13-supply = <&vcc_1v1_nldo_s3>;
723		vcc14-supply = <&vcc_1v1_nldo_s3>;
724		vcca-supply = <&vcc4v0_sys>;
725
726		gpio-controller;
727		#gpio-cells = <2>;
728
729		rk806_dvs1_null: dvs1-null-pins {
730			pins = "gpio_pwrctrl1";
731			function = "pin_fun0";
732		};
733
734		rk806_dvs2_null: dvs2-null-pins {
735			pins = "gpio_pwrctrl2";
736			function = "pin_fun0";
737		};
738
739		rk806_dvs3_null: dvs3-null-pins {
740			pins = "gpio_pwrctrl3";
741			function = "pin_fun0";
742		};
743
744		regulators {
745			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
746				regulator-boot-on;
747				regulator-min-microvolt = <550000>;
748				regulator-max-microvolt = <950000>;
749				regulator-ramp-delay = <12500>;
750				regulator-name = "vdd_gpu_s0";
751				regulator-enable-ramp-delay = <400>;
752
753				regulator-state-mem {
754					regulator-off-in-suspend;
755				};
756			};
757
758			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
759				regulator-always-on;
760				regulator-boot-on;
761				regulator-min-microvolt = <550000>;
762				regulator-max-microvolt = <950000>;
763				regulator-ramp-delay = <12500>;
764				regulator-name = "vdd_cpu_lit_s0";
765
766				regulator-state-mem {
767					regulator-off-in-suspend;
768				};
769			};
770
771			vdd_log_s0: dcdc-reg3 {
772				regulator-always-on;
773				regulator-boot-on;
774				regulator-min-microvolt = <675000>;
775				regulator-max-microvolt = <750000>;
776				regulator-ramp-delay = <12500>;
777				regulator-name = "vdd_log_s0";
778
779				regulator-state-mem {
780					regulator-off-in-suspend;
781					regulator-suspend-microvolt = <750000>;
782				};
783			};
784
785			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
786				regulator-always-on;
787				regulator-boot-on;
788				regulator-min-microvolt = <550000>;
789				regulator-max-microvolt = <950000>;
790				regulator-ramp-delay = <12500>;
791				regulator-name = "vdd_vdenc_s0";
792
793				regulator-state-mem {
794					regulator-off-in-suspend;
795				};
796			};
797
798			vdd_ddr_s0: dcdc-reg5 {
799				regulator-always-on;
800				regulator-boot-on;
801				regulator-min-microvolt = <675000>;
802				regulator-max-microvolt = <900000>;
803				regulator-ramp-delay = <12500>;
804				regulator-name = "vdd_ddr_s0";
805
806				regulator-state-mem {
807					regulator-off-in-suspend;
808					regulator-suspend-microvolt = <850000>;
809				};
810			};
811
812			vdd2_ddr_s3: dcdc-reg6 {
813				regulator-always-on;
814				regulator-boot-on;
815				regulator-name = "vdd2_ddr_s3";
816
817				regulator-state-mem {
818					regulator-on-in-suspend;
819				};
820			};
821
822			vcc_2v0_pldo_s3: dcdc-reg7 {
823				regulator-always-on;
824				regulator-boot-on;
825				regulator-min-microvolt = <2000000>;
826				regulator-max-microvolt = <2000000>;
827				regulator-ramp-delay = <12500>;
828				regulator-name = "vdd_2v0_pldo_s3";
829
830				regulator-state-mem {
831					regulator-on-in-suspend;
832					regulator-suspend-microvolt = <2000000>;
833				};
834			};
835
836			vcc_3v3_s3: dcdc-reg8 {
837				regulator-always-on;
838				regulator-boot-on;
839				regulator-min-microvolt = <3300000>;
840				regulator-max-microvolt = <3300000>;
841				regulator-name = "vcc_3v3_s3";
842
843				regulator-state-mem {
844					regulator-on-in-suspend;
845					regulator-suspend-microvolt = <3300000>;
846				};
847			};
848
849			vddq_ddr_s0: dcdc-reg9 {
850				regulator-always-on;
851				regulator-boot-on;
852				regulator-name = "vddq_ddr_s0";
853
854				regulator-state-mem {
855					regulator-off-in-suspend;
856				};
857			};
858
859			vcc_1v8_s3: dcdc-reg10 {
860				regulator-always-on;
861				regulator-boot-on;
862				regulator-min-microvolt = <1800000>;
863				regulator-max-microvolt = <1800000>;
864				regulator-name = "vcc_1v8_s3";
865
866				regulator-state-mem {
867					regulator-on-in-suspend;
868					regulator-suspend-microvolt = <1800000>;
869				};
870			};
871
872			avcc_1v8_s0: pldo-reg1 {
873				regulator-always-on;
874				regulator-boot-on;
875				regulator-min-microvolt = <1800000>;
876				regulator-max-microvolt = <1800000>;
877				regulator-name = "avcc_1v8_s0";
878
879				regulator-state-mem {
880					regulator-off-in-suspend;
881				};
882			};
883
884			vcc_1v8_s0: pldo-reg2 {
885				regulator-always-on;
886				regulator-boot-on;
887				regulator-min-microvolt = <1800000>;
888				regulator-max-microvolt = <1800000>;
889				regulator-name = "vcc_1v8_s0";
890
891				regulator-state-mem {
892					regulator-off-in-suspend;
893					regulator-suspend-microvolt = <1800000>;
894				};
895			};
896
897			avdd_1v2_s0: pldo-reg3 {
898				regulator-always-on;
899				regulator-boot-on;
900				regulator-min-microvolt = <1200000>;
901				regulator-max-microvolt = <1200000>;
902				regulator-name = "avdd_1v2_s0";
903
904				regulator-state-mem {
905					regulator-off-in-suspend;
906				};
907			};
908
909			vcc_3v3_s0: pldo-reg4 {
910				regulator-always-on;
911				regulator-boot-on;
912				regulator-min-microvolt = <3300000>;
913				regulator-max-microvolt = <3300000>;
914				regulator-ramp-delay = <12500>;
915				regulator-name = "vcc_3v3_s0";
916
917				regulator-state-mem {
918					regulator-off-in-suspend;
919				};
920			};
921
922			vccio_sd_s0: pldo-reg5 {
923				regulator-always-on;
924				regulator-boot-on;
925				regulator-min-microvolt = <1800000>;
926				regulator-max-microvolt = <3300000>;
927				regulator-ramp-delay = <12500>;
928				regulator-name = "vccio_sd_s0";
929
930				regulator-state-mem {
931					regulator-off-in-suspend;
932				};
933			};
934
935			pldo6_s3: pldo-reg6 {
936				regulator-always-on;
937				regulator-boot-on;
938				regulator-min-microvolt = <1800000>;
939				regulator-max-microvolt = <1800000>;
940				regulator-name = "pldo6_s3";
941
942				regulator-state-mem {
943					regulator-on-in-suspend;
944					regulator-suspend-microvolt = <1800000>;
945				};
946			};
947
948			vdd_0v75_s3: nldo-reg1 {
949				regulator-always-on;
950				regulator-boot-on;
951				regulator-min-microvolt = <750000>;
952				regulator-max-microvolt = <750000>;
953				regulator-name = "vdd_0v75_s3";
954
955				regulator-state-mem {
956					regulator-on-in-suspend;
957					regulator-suspend-microvolt = <750000>;
958				};
959			};
960
961			vdd_ddr_pll_s0: nldo-reg2 {
962				regulator-always-on;
963				regulator-boot-on;
964				regulator-min-microvolt = <850000>;
965				regulator-max-microvolt = <850000>;
966				regulator-name = "vdd_ddr_pll_s0";
967
968				regulator-state-mem {
969					regulator-off-in-suspend;
970					regulator-suspend-microvolt = <850000>;
971				};
972			};
973
974			avdd_0v75_s0: nldo-reg3 {
975				regulator-always-on;
976				regulator-boot-on;
977				regulator-min-microvolt = <750000>;
978				regulator-max-microvolt = <750000>;
979				regulator-name = "avdd_0v75_s0";
980
981				regulator-state-mem {
982					regulator-off-in-suspend;
983				};
984			};
985
986			vdd_0v85_s0: nldo-reg4 {
987				regulator-always-on;
988				regulator-boot-on;
989				regulator-min-microvolt = <850000>;
990				regulator-max-microvolt = <850000>;
991				regulator-name = "vdd_0v85_s0";
992
993				regulator-state-mem {
994					regulator-off-in-suspend;
995				};
996			};
997
998			vdd_0v75_s0: nldo-reg5 {
999				regulator-always-on;
1000				regulator-boot-on;
1001				regulator-min-microvolt = <750000>;
1002				regulator-max-microvolt = <750000>;
1003				regulator-name = "vdd_0v75_s0";
1004
1005				regulator-state-mem {
1006					regulator-off-in-suspend;
1007				};
1008			};
1009		};
1010	};
1011};
1012
1013&tsadc {
1014	status = "okay";
1015};
1016
1017&uart2 {
1018	pinctrl-0 = <&uart2m0_xfer>;
1019	status = "okay";
1020};
1021
1022&u2phy0 {
1023	status = "okay";
1024};
1025
1026&u2phy0_otg {
1027	status = "okay";
1028};
1029
1030&u2phy1 {
1031	status = "okay";
1032};
1033
1034&u2phy1_otg {
1035	status = "okay";
1036};
1037
1038&u2phy2_host {
1039	status = "okay";
1040};
1041
1042&u2phy3_host {
1043	status = "okay";
1044};
1045
1046&u2phy2 {
1047	status = "okay";
1048};
1049
1050&u2phy3 {
1051	status = "okay";
1052};
1053
1054&usbdp_phy0 {
1055	mode-switch;
1056	orientation-switch;
1057	sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
1058	sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
1059	status = "okay";
1060
1061	port {
1062		#address-cells = <1>;
1063		#size-cells = <0>;
1064
1065		usbdp_phy0_typec_ss: endpoint@0 {
1066			reg = <0>;
1067			remote-endpoint = <&usbc0_ss>;
1068		};
1069
1070		usbdp_phy0_typec_sbu: endpoint@1 {
1071			reg = <1>;
1072			remote-endpoint = <&usbc0_sbu>;
1073		};
1074	};
1075};
1076
1077&usbdp_phy1 {
1078	phy-supply = <&vbus5v0_usb>;
1079	status = "okay";
1080};
1081
1082&usb_host0_ehci {
1083	status = "okay";
1084};
1085
1086&usb_host0_ohci {
1087	status = "okay";
1088};
1089
1090&usb_host0_xhci {
1091	dr_mode = "host";
1092	status = "okay";
1093	usb-role-switch;
1094
1095	port {
1096		usb_host0_xhci_drd_sw: endpoint {
1097			remote-endpoint = <&usbc0_hs>;
1098		};
1099	};
1100};
1101
1102&usb_host1_xhci {
1103	dr_mode = "host";
1104	status = "okay";
1105};
1106
1107&usb_host1_ehci {
1108	status = "okay";
1109};
1110
1111&usb_host1_ohci {
1112	status = "okay";
1113};
1114
1115&vop_mmu {
1116	status = "okay";
1117};
1118
1119&vop {
1120	status = "okay";
1121};
1122
1123&vp0 {
1124	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
1125		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
1126		remote-endpoint = <&hdmi0_in_vp0>;
1127	};
1128};
1129