xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3588s-indiedroid-nova.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
13900160eSChris Morgan// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
23900160eSChris Morgan
33900160eSChris Morgan/dts-v1/;
43900160eSChris Morgan
53900160eSChris Morgan#include <dt-bindings/gpio/gpio.h>
6f48a288aSChris Morgan#include <dt-bindings/input/linux-event-codes.h>
73900160eSChris Morgan#include <dt-bindings/pinctrl/rockchip.h>
82f4a0c2bSChris Morgan#include <dt-bindings/soc/rockchip,vop2.h>
93900160eSChris Morgan#include <dt-bindings/usb/pd.h>
103900160eSChris Morgan#include "rk3588s.dtsi"
113900160eSChris Morgan
123900160eSChris Morgan/ {
133900160eSChris Morgan	model = "Indiedroid Nova";
143900160eSChris Morgan	compatible = "indiedroid,nova", "rockchip,rk3588s";
153900160eSChris Morgan
16f48a288aSChris Morgan	adc-keys-0 {
17f48a288aSChris Morgan		compatible = "adc-keys";
18f48a288aSChris Morgan		io-channel-names = "buttons";
19f48a288aSChris Morgan		io-channels = <&saradc 0>;
20f48a288aSChris Morgan		keyup-threshold-microvolt = <1800000>;
21f48a288aSChris Morgan		poll-interval = <100>;
22f48a288aSChris Morgan
23f48a288aSChris Morgan		button-boot {
24f48a288aSChris Morgan			label = "boot";
25f48a288aSChris Morgan			linux,code = <KEY_PROG1>;
26f48a288aSChris Morgan			press-threshold-microvolt = <18000>;
27f48a288aSChris Morgan		};
28f48a288aSChris Morgan	};
29f48a288aSChris Morgan
30f48a288aSChris Morgan	adc-keys-1 {
31f48a288aSChris Morgan		compatible = "adc-keys";
32f48a288aSChris Morgan		io-channel-names = "buttons";
33f48a288aSChris Morgan		io-channels = <&saradc 1>;
34f48a288aSChris Morgan		keyup-threshold-microvolt = <1800000>;
35f48a288aSChris Morgan		poll-interval = <100>;
36f48a288aSChris Morgan
37f48a288aSChris Morgan		button-recovery {
38f48a288aSChris Morgan			label = "recovery";
39f48a288aSChris Morgan			linux,code = <KEY_PROG2>;
40f48a288aSChris Morgan			press-threshold-microvolt = <18000>;
41f48a288aSChris Morgan		};
42f48a288aSChris Morgan	};
43f48a288aSChris Morgan
443900160eSChris Morgan	aliases {
453900160eSChris Morgan		mmc0 = &sdhci;
463900160eSChris Morgan		mmc1 = &sdmmc;
473900160eSChris Morgan		mmc2 = &sdio;
483900160eSChris Morgan	};
493900160eSChris Morgan
503900160eSChris Morgan	chosen {
513900160eSChris Morgan		stdout-path = "serial2:1500000n8";
523900160eSChris Morgan	};
533900160eSChris Morgan
542f4a0c2bSChris Morgan	hdmi0-con {
552f4a0c2bSChris Morgan		compatible = "hdmi-connector";
562f4a0c2bSChris Morgan		type = "d";
572f4a0c2bSChris Morgan
582f4a0c2bSChris Morgan		port {
592f4a0c2bSChris Morgan			hdmi0_con_in: endpoint {
602f4a0c2bSChris Morgan				remote-endpoint = <&hdmi0_out_con>;
612f4a0c2bSChris Morgan			};
622f4a0c2bSChris Morgan		};
632f4a0c2bSChris Morgan	};
642f4a0c2bSChris Morgan
653900160eSChris Morgan	sdio_pwrseq: sdio-pwrseq {
663900160eSChris Morgan		compatible = "mmc-pwrseq-simple";
673900160eSChris Morgan		clock-names = "ext_clock";
683900160eSChris Morgan		clocks = <&rtc_hym8563>;
693900160eSChris Morgan		pinctrl-0 = <&wifi_enable_h>;
703900160eSChris Morgan		pinctrl-names = "default";
713900160eSChris Morgan		post-power-on-delay-ms = <200>;
723900160eSChris Morgan		reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>;
733900160eSChris Morgan	};
743900160eSChris Morgan
753900160eSChris Morgan	sound {
763900160eSChris Morgan		compatible = "audio-graph-card";
7742d85557SChris Morgan		label = "rockchip,es8388";
783900160eSChris Morgan		widgets = "Microphone", "Mic Jack",
793900160eSChris Morgan			  "Headphone", "Headphones";
803900160eSChris Morgan		routing = "LINPUT2", "Mic Jack",
813900160eSChris Morgan			  "Headphones", "LOUT1",
823900160eSChris Morgan			  "Headphones", "ROUT1";
833900160eSChris Morgan		dais = <&i2s0_8ch_p0>;
843900160eSChris Morgan	};
853900160eSChris Morgan
865c96e633SJohan Jonker	vbus5v0_typec: regulator-vbus5v0-typec {
873900160eSChris Morgan		compatible = "regulator-fixed";
883900160eSChris Morgan		enable-active-high;
893900160eSChris Morgan		gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
903900160eSChris Morgan		pinctrl-0 = <&typec5v_pwren>;
913900160eSChris Morgan		pinctrl-names = "default";
923900160eSChris Morgan		regulator-name = "vbus5v0_typec";
933900160eSChris Morgan		regulator-min-microvolt = <5000000>;
943900160eSChris Morgan		regulator-max-microvolt = <5000000>;
953900160eSChris Morgan		vin-supply = <&vcc5v0_usb>;
963900160eSChris Morgan	};
973900160eSChris Morgan
985c96e633SJohan Jonker	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
993900160eSChris Morgan		compatible = "regulator-fixed";
1003900160eSChris Morgan		regulator-always-on;
1013900160eSChris Morgan		regulator-boot-on;
1023900160eSChris Morgan		regulator-max-microvolt = <1100000>;
1033900160eSChris Morgan		regulator-min-microvolt = <1100000>;
1043900160eSChris Morgan		regulator-name = "vcc_1v1_nldo_s3";
1053900160eSChris Morgan		vin-supply = <&vcc5v0_sys>;
1063900160eSChris Morgan	};
1073900160eSChris Morgan
1083900160eSChris Morgan	/* Regulator is enabled whenever vcc_1v8_s0 is above 1.6v */
1095c96e633SJohan Jonker	vcc_3v3_s0: regulator-vcc-3v3-s0 {
1103900160eSChris Morgan		compatible = "regulator-fixed";
1113900160eSChris Morgan		regulator-always-on;
1123900160eSChris Morgan		regulator-boot-on;
1133900160eSChris Morgan		regulator-max-microvolt = <3300000>;
1143900160eSChris Morgan		regulator-min-microvolt = <3300000>;
1153900160eSChris Morgan		regulator-name = "vcc_3v3_s0";
1163900160eSChris Morgan		vin-supply = <&vcc_3v3_s3>;
1173900160eSChris Morgan
1183900160eSChris Morgan		regulator-state-mem {
1193900160eSChris Morgan			regulator-off-in-suspend;
1203900160eSChris Morgan		};
1213900160eSChris Morgan	};
1223900160eSChris Morgan
1235c96e633SJohan Jonker	vcc5v0_sys: regulator-vcc5v0-sys {
1243900160eSChris Morgan		compatible = "regulator-fixed";
1253900160eSChris Morgan		regulator-always-on;
1263900160eSChris Morgan		regulator-boot-on;
1273900160eSChris Morgan		regulator-max-microvolt = <5000000>;
1283900160eSChris Morgan		regulator-min-microvolt = <5000000>;
1293900160eSChris Morgan		regulator-name = "vcc5v0_sys";
1303900160eSChris Morgan	};
1313900160eSChris Morgan
1325c96e633SJohan Jonker	vcc5v0_usb: regulator-vcc5v0-usb {
1333900160eSChris Morgan		compatible = "regulator-fixed";
1343900160eSChris Morgan		regulator-always-on;
1353900160eSChris Morgan		regulator-boot-on;
1363900160eSChris Morgan		regulator-max-microvolt = <5000000>;
1373900160eSChris Morgan		regulator-min-microvolt = <5000000>;
1383900160eSChris Morgan		regulator-name = "vcc5v0_usb";
1393900160eSChris Morgan		vin-supply = <&vcc5v0_usbdcin>;
1403900160eSChris Morgan	};
1413900160eSChris Morgan
1425c96e633SJohan Jonker	vcc5v0_usbdcin: regulator-vcc5v0-usbdcin {
1433900160eSChris Morgan		compatible = "regulator-fixed";
1443900160eSChris Morgan		regulator-always-on;
1453900160eSChris Morgan		regulator-boot-on;
1463900160eSChris Morgan		regulator-max-microvolt = <5000000>;
1473900160eSChris Morgan		regulator-min-microvolt = <5000000>;
1483900160eSChris Morgan		regulator-name = "vcc5v0_usbdcin";
1493900160eSChris Morgan	};
1503900160eSChris Morgan};
1513900160eSChris Morgan
152f5fb02c7SChris Morgan&combphy0_ps {
153f5fb02c7SChris Morgan	status = "okay";
154f5fb02c7SChris Morgan};
155f5fb02c7SChris Morgan
1564622485fSChris Morgan&combphy2_psu {
1574622485fSChris Morgan	status = "okay";
1584622485fSChris Morgan};
1594622485fSChris Morgan
1603900160eSChris Morgan&cpu_l0 {
1613900160eSChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
1623900160eSChris Morgan};
1633900160eSChris Morgan
1643900160eSChris Morgan&cpu_l1 {
1653900160eSChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
1663900160eSChris Morgan};
1673900160eSChris Morgan
1683900160eSChris Morgan&cpu_l2 {
1693900160eSChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
1703900160eSChris Morgan};
1713900160eSChris Morgan
1723900160eSChris Morgan&cpu_l3 {
1733900160eSChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
1743900160eSChris Morgan};
1753900160eSChris Morgan
1763900160eSChris Morgan&cpu_b0 {
1773900160eSChris Morgan	cpu-supply = <&vdd_cpu_big0_s0>;
1783900160eSChris Morgan};
1793900160eSChris Morgan
1803900160eSChris Morgan&cpu_b1 {
1813900160eSChris Morgan	cpu-supply = <&vdd_cpu_big0_s0>;
1823900160eSChris Morgan};
1833900160eSChris Morgan
1843900160eSChris Morgan&cpu_b2 {
1853900160eSChris Morgan	cpu-supply = <&vdd_cpu_big1_s0>;
1863900160eSChris Morgan};
1873900160eSChris Morgan
1883900160eSChris Morgan&cpu_b3 {
1893900160eSChris Morgan	cpu-supply = <&vdd_cpu_big1_s0>;
1903900160eSChris Morgan};
1913900160eSChris Morgan
1923900160eSChris Morgan/*
1933900160eSChris Morgan * Add labels for each GPIO pin exposed on the 40 pin header. Note that
1943900160eSChris Morgan * voltage of each GPIO pin could be either 3.3v or 1.8v (as noted by
1953900160eSChris Morgan * label).
1963900160eSChris Morgan */
1973900160eSChris Morgan&gpio0 {
1983900160eSChris Morgan	gpio-line-names = /* GPIO0 A0-A7 */
1993900160eSChris Morgan			  "", "", "", "",
2003900160eSChris Morgan			  "", "", "", "",
2013900160eSChris Morgan			  /* GPIO0 B0-B7 */
2023900160eSChris Morgan			  "", "", "", "",
2033900160eSChris Morgan			  "", "", "", "",
2043900160eSChris Morgan			  /* GPIO0 C0-C7 */
2053900160eSChris Morgan			  "", "", "", "",
2063900160eSChris Morgan			  "", "", "", "",
2073900160eSChris Morgan			  /* GPIO0 D0-D7 */
2083900160eSChris Morgan			  "HEADER_12_1v8", "", "", "HEADER_24_1v8",
2093900160eSChris Morgan			  "", "", "", "";
2103900160eSChris Morgan};
2113900160eSChris Morgan
2123900160eSChris Morgan&gpio1 {
2133900160eSChris Morgan	gpio-line-names = /* GPIO1 A0-A7 */
214c22d03a9SChris Morgan			  "HEADER_27_3v3", "", "", "",
2153900160eSChris Morgan			  "HEADER_29_1v8", "", "HEADER_7_1v8", "",
2163900160eSChris Morgan			  /* GPIO1 B0-B7 */
2173900160eSChris Morgan			  "", "HEADER_31_1v8", "HEADER_33_1v8", "",
2183900160eSChris Morgan			  "HEADER_11_1v8", "HEADER_13_1v8", "", "",
2193900160eSChris Morgan			  /* GPIO1 C0-C7 */
220c22d03a9SChris Morgan			  "", "HEADER_28_3v3", "", "",
2213900160eSChris Morgan			  "", "", "", "",
2223900160eSChris Morgan			  /* GPIO1 D0-D7 */
2233900160eSChris Morgan			  "", "", "", "",
2243900160eSChris Morgan			  "", "", "HEADER_5_3v3", "HEADER_3_3v3";
2253900160eSChris Morgan};
2263900160eSChris Morgan
2273900160eSChris Morgan&gpio3 {
2283900160eSChris Morgan	gpio-line-names = /* GPIO3 A0-A7 */
2293900160eSChris Morgan			  "", "", "", "",
2303900160eSChris Morgan			  "", "", "", "",
2313900160eSChris Morgan			  /* GPIO3 B0-B7 */
2323900160eSChris Morgan			  "HEADER_16_1v8", "HEADER_18_1v8", "", "",
2333900160eSChris Morgan			  "", "", "", "HEADER_19_1v8",
2343900160eSChris Morgan			  /* GPIO3 C0-C7 */
2353900160eSChris Morgan			  "HEADER_21_1v8", "HEADER_23_1v8", "", "HEADER_26_1v8",
2363900160eSChris Morgan			  "HEADER_15_1v8", "HEADER_22_1v8", "", "",
2373900160eSChris Morgan			  /* GPIO3 D0-D7 */
2383900160eSChris Morgan			  "", "", "", "",
2393900160eSChris Morgan			  "", "", "", "";
2403900160eSChris Morgan};
2413900160eSChris Morgan
2423900160eSChris Morgan&gpio4 {
2433900160eSChris Morgan	gpio-line-names = /* GPIO4 A0-A7 */
244c22d03a9SChris Morgan			  "", "", "HEADER_37_3v3", "HEADER_8_3v3",
245c22d03a9SChris Morgan			  "HEADER_10_3v3", "", "HEADER_32_3v3", "HEADER_35_3v3",
2463900160eSChris Morgan			  /* GPIO4 B0-B7 */
2473900160eSChris Morgan			  "", "", "", "HEADER_40_3v3",
248c22d03a9SChris Morgan			  "HEADER_38_3v3", "HEADER_36_3v3", "", "",
2493900160eSChris Morgan			  /* GPIO4 C0-C7 */
2503900160eSChris Morgan			  "", "", "", "",
2513900160eSChris Morgan			  "", "", "", "",
2523900160eSChris Morgan			  /* GPIO4 D0-D7 */
2533900160eSChris Morgan			  "", "", "", "",
2543900160eSChris Morgan			  "", "", "", "";
2553900160eSChris Morgan};
2563900160eSChris Morgan
2573143ef4fSChris Morgan&gpu {
2583143ef4fSChris Morgan	mali-supply = <&vdd_gpu_s0>;
2593143ef4fSChris Morgan	status = "okay";
2603143ef4fSChris Morgan};
2613143ef4fSChris Morgan
2622f4a0c2bSChris Morgan&hdmi0 {
2632f4a0c2bSChris Morgan	pinctrl-0 = <&hdmim0_tx0_scl>, <&hdmim0_tx0_sda>,
2642f4a0c2bSChris Morgan		    <&hdmim0_tx0_hpd>, <&hdmim0_tx0_cec>;
2652f4a0c2bSChris Morgan	pinctrl-names = "default";
2662f4a0c2bSChris Morgan	status = "okay";
2672f4a0c2bSChris Morgan};
2682f4a0c2bSChris Morgan
2692f4a0c2bSChris Morgan&hdmi0_in {
2702f4a0c2bSChris Morgan	hdmi0_in_vp0: endpoint {
2712f4a0c2bSChris Morgan		remote-endpoint = <&vp0_out_hdmi0>;
2722f4a0c2bSChris Morgan	};
2732f4a0c2bSChris Morgan};
2742f4a0c2bSChris Morgan
2752f4a0c2bSChris Morgan&hdmi0_out {
2762f4a0c2bSChris Morgan	hdmi0_out_con: endpoint {
2772f4a0c2bSChris Morgan		remote-endpoint = <&hdmi0_con_in>;
2782f4a0c2bSChris Morgan	};
2792f4a0c2bSChris Morgan};
2802f4a0c2bSChris Morgan
281*f50181bbSChris Morgan&hdmi0_sound {
282*f50181bbSChris Morgan	status = "okay";
283*f50181bbSChris Morgan};
284*f50181bbSChris Morgan
2852efdb041SDamon Ding&hdptxphy0 {
2862f4a0c2bSChris Morgan	status = "okay";
2872f4a0c2bSChris Morgan};
2882f4a0c2bSChris Morgan
2893900160eSChris Morgan&i2c0 {
2903900160eSChris Morgan	pinctrl-0 = <&i2c0m2_xfer>;
2913900160eSChris Morgan	pinctrl-names = "default";
2923900160eSChris Morgan	status = "okay";
2933900160eSChris Morgan
2943900160eSChris Morgan	vdd_cpu_big0_s0: regulator@42 {
2953900160eSChris Morgan		compatible = "rockchip,rk8602";
2963900160eSChris Morgan		reg = <0x42>;
2973900160eSChris Morgan		regulator-always-on;
2983900160eSChris Morgan		regulator-boot-on;
2993900160eSChris Morgan		regulator-max-microvolt = <1050000>;
3003900160eSChris Morgan		regulator-min-microvolt = <550000>;
3013900160eSChris Morgan		regulator-name = "vdd_cpu_big0_s0";
3023900160eSChris Morgan		regulator-ramp-delay = <2300>;
3033900160eSChris Morgan		fcs,suspend-voltage-selector = <1>;
3043900160eSChris Morgan		vin-supply = <&vcc5v0_sys>;
3053900160eSChris Morgan
3063900160eSChris Morgan		regulator-state-mem {
3073900160eSChris Morgan			regulator-off-in-suspend;
3083900160eSChris Morgan		};
3093900160eSChris Morgan	};
3103900160eSChris Morgan
3113900160eSChris Morgan	vdd_cpu_big1_s0: regulator@43 {
3123900160eSChris Morgan		compatible = "rockchip,rk8603", "rockchip,rk8602";
3133900160eSChris Morgan		reg = <0x43>;
3143900160eSChris Morgan		regulator-always-on;
3153900160eSChris Morgan		regulator-boot-on;
3163900160eSChris Morgan		regulator-max-microvolt = <1050000>;
3173900160eSChris Morgan		regulator-min-microvolt = <550000>;
3183900160eSChris Morgan		regulator-name = "vdd_cpu_big1_s0";
3193900160eSChris Morgan		regulator-ramp-delay = <2300>;
3203900160eSChris Morgan		fcs,suspend-voltage-selector = <1>;
3213900160eSChris Morgan		vin-supply = <&vcc5v0_sys>;
3223900160eSChris Morgan
3233900160eSChris Morgan		regulator-state-mem {
3243900160eSChris Morgan			regulator-off-in-suspend;
3253900160eSChris Morgan		};
3263900160eSChris Morgan	};
3273900160eSChris Morgan};
3283900160eSChris Morgan
3293900160eSChris Morgan&i2c2 {
3303900160eSChris Morgan	status = "okay";
3313900160eSChris Morgan
3323900160eSChris Morgan	vdd_npu_s0: regulator@42 {
3333900160eSChris Morgan		compatible = "rockchip,rk8602";
3343900160eSChris Morgan		reg = <0x42>;
3353900160eSChris Morgan		regulator-always-on;
3363900160eSChris Morgan		regulator-boot-on;
3373900160eSChris Morgan		regulator-max-microvolt = <950000>;
3383900160eSChris Morgan		regulator-min-microvolt = <550000>;
3393900160eSChris Morgan		regulator-name = "vdd_npu_s0";
3403900160eSChris Morgan		regulator-ramp-delay = <2300>;
3413900160eSChris Morgan		fcs,suspend-voltage-selector = <1>;
3423900160eSChris Morgan		vin-supply = <&vcc5v0_sys>;
3433900160eSChris Morgan
3443900160eSChris Morgan		regulator-state-mem {
3453900160eSChris Morgan			regulator-off-in-suspend;
3463900160eSChris Morgan		};
3473900160eSChris Morgan	};
3483900160eSChris Morgan};
3493900160eSChris Morgan
3503900160eSChris Morgan&i2c6 {
3513900160eSChris Morgan	pinctrl-0 = <&i2c6m3_xfer>;
3523900160eSChris Morgan	status = "okay";
3533900160eSChris Morgan
3543900160eSChris Morgan	fusb302: typec-portc@22 {
3553900160eSChris Morgan		compatible = "fcs,fusb302";
3563900160eSChris Morgan		reg = <0x22>;
3573900160eSChris Morgan		interrupt-parent = <&gpio0>;
3583900160eSChris Morgan		interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>;
3593900160eSChris Morgan		pinctrl-0 = <&usbc0_int>;
3603900160eSChris Morgan		pinctrl-names = "default";
3613900160eSChris Morgan		vbus-supply = <&vbus5v0_typec>;
3623900160eSChris Morgan
363595f06c3SChris Morgan		usb_con: connector {
3643900160eSChris Morgan			compatible = "usb-c-connector";
3653900160eSChris Morgan			data-role = "dual";
3663900160eSChris Morgan			label = "USB-C";
3673900160eSChris Morgan			power-role = "dual";
3683900160eSChris Morgan			try-power-role = "sink";
3693900160eSChris Morgan			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
3703900160eSChris Morgan			sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
3713900160eSChris Morgan			op-sink-microwatt = <1000000>;
372595f06c3SChris Morgan
373595f06c3SChris Morgan			ports {
374595f06c3SChris Morgan				#address-cells = <1>;
375595f06c3SChris Morgan				#size-cells = <0>;
376595f06c3SChris Morgan
377595f06c3SChris Morgan				port@0 {
378595f06c3SChris Morgan					reg = <0>;
379595f06c3SChris Morgan					usbc0_orien_sw: endpoint {
380595f06c3SChris Morgan						remote-endpoint = <&usbdp_phy0_orientation_switch>;
381595f06c3SChris Morgan					};
382595f06c3SChris Morgan				};
383595f06c3SChris Morgan
384595f06c3SChris Morgan				port@1 {
385595f06c3SChris Morgan					reg = <1>;
386595f06c3SChris Morgan					usbc0_role_sw: endpoint {
387595f06c3SChris Morgan						remote-endpoint = <&dwc3_0_role_switch>;
388595f06c3SChris Morgan					};
389595f06c3SChris Morgan				};
390595f06c3SChris Morgan
391595f06c3SChris Morgan				port@2 {
392595f06c3SChris Morgan					reg = <2>;
393595f06c3SChris Morgan					dp_altmode_mux: endpoint {
394595f06c3SChris Morgan						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
395595f06c3SChris Morgan					};
396595f06c3SChris Morgan				};
397595f06c3SChris Morgan			};
3983900160eSChris Morgan		};
3993900160eSChris Morgan	};
4003900160eSChris Morgan
4013900160eSChris Morgan	rtc_hym8563: rtc@51 {
4023900160eSChris Morgan		compatible = "haoyu,hym8563";
4033900160eSChris Morgan		reg = <0x51>;
4043900160eSChris Morgan		#clock-cells = <0>;
4053900160eSChris Morgan		clock-output-names = "hym8563";
4063900160eSChris Morgan		interrupt-parent = <&gpio0>;
4073900160eSChris Morgan		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
4083900160eSChris Morgan		pinctrl-0 = <&hym8563_int>;
4093900160eSChris Morgan		pinctrl-names = "default";
4103900160eSChris Morgan		wakeup-source;
4113900160eSChris Morgan	};
4123900160eSChris Morgan};
4133900160eSChris Morgan
4143900160eSChris Morgan&i2c7 {
4153900160eSChris Morgan	pinctrl-0 = <&i2c7m0_xfer>;
4163900160eSChris Morgan	status = "okay";
4173900160eSChris Morgan
4183900160eSChris Morgan	es8388: audio-codec@11 {
419ced36c33SKrzysztof Kozlowski		compatible = "everest,es8388", "everest,es8328";
4203900160eSChris Morgan		reg = <0x11>;
4213900160eSChris Morgan		assigned-clock-rates = <12288000>;
4223900160eSChris Morgan		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
4233900160eSChris Morgan		AVDD-supply = <&vcc_3v3_s3>;
4243900160eSChris Morgan		clocks = <&cru I2S0_8CH_MCLKOUT>;
4253900160eSChris Morgan		DVDD-supply = <&vcc_1v8_s3>;
4263900160eSChris Morgan		HPVDD-supply = <&vcc_3v3_s3>;
4273900160eSChris Morgan		PVDD-supply = <&vcc_1v8_s3>;
4283900160eSChris Morgan		#sound-dai-cells = <0>;
4293900160eSChris Morgan
4303900160eSChris Morgan		port {
4313900160eSChris Morgan			es8388_p0_0: endpoint {
4323900160eSChris Morgan				remote-endpoint = <&i2s0_8ch_p0_0>;
4333900160eSChris Morgan			};
4343900160eSChris Morgan		};
4353900160eSChris Morgan	};
4363900160eSChris Morgan};
4373900160eSChris Morgan
4383900160eSChris Morgan&i2s0_8ch {
4393900160eSChris Morgan	pinctrl-names = "default";
4403900160eSChris Morgan	pinctrl-0 = <&i2s0_lrck
4413900160eSChris Morgan		     &i2s0_mclk
4423900160eSChris Morgan		     &i2s0_sclk
4433900160eSChris Morgan		     &i2s0_sdi0
4443900160eSChris Morgan		     &i2s0_sdo0>;
4453900160eSChris Morgan	status = "okay";
4463900160eSChris Morgan
4473900160eSChris Morgan	i2s0_8ch_p0: port {
4483900160eSChris Morgan		i2s0_8ch_p0_0: endpoint {
4493900160eSChris Morgan			dai-format = "i2s";
4503900160eSChris Morgan			mclk-fs = <256>;
4513900160eSChris Morgan			remote-endpoint = <&es8388_p0_0>;
4523900160eSChris Morgan		};
4533900160eSChris Morgan	};
4543900160eSChris Morgan};
4553900160eSChris Morgan
456*f50181bbSChris Morgan&i2s5_8ch {
457*f50181bbSChris Morgan	status = "okay";
458*f50181bbSChris Morgan};
459*f50181bbSChris Morgan
460f5fb02c7SChris Morgan&pcie2x1l2 {
461f5fb02c7SChris Morgan	pinctrl-0 = <&rtl8111_perstb>;
462f5fb02c7SChris Morgan	pinctrl-names = "default";
463f5fb02c7SChris Morgan	status = "okay";
464f5fb02c7SChris Morgan};
465f5fb02c7SChris Morgan
466f94500ebSSebastian Reichel&pd_gpu {
467f94500ebSSebastian Reichel	domain-supply = <&vdd_gpu_s0>;
468f94500ebSSebastian Reichel};
469f94500ebSSebastian Reichel
4703900160eSChris Morgan&pinctrl {
4713900160eSChris Morgan	bluetooth-pins {
4723900160eSChris Morgan		bt_reset: bt-reset {
4733900160eSChris Morgan			rockchip,pins =
4743900160eSChris Morgan				<0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
4753900160eSChris Morgan		};
4763900160eSChris Morgan
4773900160eSChris Morgan		bt_wake_dev: bt-wake-dev {
4783900160eSChris Morgan			rockchip,pins =
4793900160eSChris Morgan				<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
4803900160eSChris Morgan		};
4813900160eSChris Morgan
4823900160eSChris Morgan		bt_wake_host: bt-wake-host {
4833900160eSChris Morgan			rockchip,pins =
4843900160eSChris Morgan				<0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
4853900160eSChris Morgan		};
4863900160eSChris Morgan	};
4873900160eSChris Morgan
488f5fb02c7SChris Morgan	ethernet-pins {
489f5fb02c7SChris Morgan		rtl8111_perstb: rtl8111-perstb {
490f5fb02c7SChris Morgan			rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
491f5fb02c7SChris Morgan		};
492f5fb02c7SChris Morgan	};
493f5fb02c7SChris Morgan
4943900160eSChris Morgan	hym8563 {
4953900160eSChris Morgan
4963900160eSChris Morgan		hym8563_int: hym8563-int {
4973900160eSChris Morgan			rockchip,pins =
4983900160eSChris Morgan				<0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
4993900160eSChris Morgan		};
5003900160eSChris Morgan	};
5013900160eSChris Morgan
5023900160eSChris Morgan	sdio-pwrseq {
5033900160eSChris Morgan		wifi_enable_h: wifi-enable-h {
5043900160eSChris Morgan			rockchip,pins =
5053900160eSChris Morgan				<0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
5063900160eSChris Morgan		};
5073900160eSChris Morgan	};
5083900160eSChris Morgan
5093900160eSChris Morgan	usb-typec {
5103900160eSChris Morgan		usbc0_int: usbc0-int {
5113900160eSChris Morgan			rockchip,pins =
5123900160eSChris Morgan				<0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
5133900160eSChris Morgan		};
5143900160eSChris Morgan
5153900160eSChris Morgan		typec5v_pwren: typec5v-pwren {
5163900160eSChris Morgan			rockchip,pins =
5173900160eSChris Morgan				<4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
5183900160eSChris Morgan		};
5193900160eSChris Morgan	};
5203900160eSChris Morgan};
5213900160eSChris Morgan
522f48a288aSChris Morgan&saradc {
523f48a288aSChris Morgan	vref-supply = <&vcca_1v8_s0>;
524f48a288aSChris Morgan	status = "okay";
525f48a288aSChris Morgan};
526f48a288aSChris Morgan
5273900160eSChris Morgan/* HS400 modes seemed to cause io errors. */
5283900160eSChris Morgan&sdhci {
5293900160eSChris Morgan	bus-width = <8>;
5303900160eSChris Morgan	no-mmc-hs400;
5313900160eSChris Morgan	no-sd;
5323900160eSChris Morgan	no-sdio;
5333900160eSChris Morgan	non-removable;
5343900160eSChris Morgan	vmmc-supply = <&vcc_3v3_s0>;
5353900160eSChris Morgan	vqmmc-supply = <&vcc_1v8_s3>;
5363900160eSChris Morgan	status = "okay";
5373900160eSChris Morgan};
5383900160eSChris Morgan
5393900160eSChris Morgan&sdio {
5403900160eSChris Morgan	bus-width = <4>;
5413900160eSChris Morgan	cap-sd-highspeed;
5423900160eSChris Morgan	cap-sdio-irq;
5433900160eSChris Morgan	disable-wp;
5443900160eSChris Morgan	keep-power-in-suspend;
5453900160eSChris Morgan	max-frequency = <100000000>;
5463900160eSChris Morgan	mmc-pwrseq = <&sdio_pwrseq>;
5473900160eSChris Morgan	no-mmc;
5483900160eSChris Morgan	no-sd;
5493900160eSChris Morgan	non-removable;
5503900160eSChris Morgan	sd-uhs-sdr104;
5513900160eSChris Morgan	vmmc-supply = <&vcc_3v3_s3>;
5523900160eSChris Morgan	vqmmc-supply = <&vcc_1v8_s3>;
5533900160eSChris Morgan	status = "okay";
5543900160eSChris Morgan};
5553900160eSChris Morgan
5563900160eSChris Morgan&sdmmc {
5573900160eSChris Morgan	bus-width = <4>;
5583900160eSChris Morgan	cap-mmc-highspeed;
5593900160eSChris Morgan	cap-sd-highspeed;
5603900160eSChris Morgan	disable-wp;
5613900160eSChris Morgan	no-sdio;
5623900160eSChris Morgan	no-mmc;
5633900160eSChris Morgan	sd-uhs-sdr104;
5643900160eSChris Morgan	vmmc-supply = <&vcc_3v3_s3>;
5653900160eSChris Morgan	vqmmc-supply = <&vccio_sd_s0>;
5663900160eSChris Morgan	status = "okay";
5673900160eSChris Morgan};
5683900160eSChris Morgan
5693900160eSChris Morgan&spi2 {
5703900160eSChris Morgan	#address-cells = <1>;
5713900160eSChris Morgan	assigned-clocks = <&cru CLK_SPI2>;
5723900160eSChris Morgan	assigned-clock-rates = <200000000>;
5733900160eSChris Morgan	num-cs = <1>;
5743900160eSChris Morgan	pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>;
5753900160eSChris Morgan	pinctrl-names = "default";
5763900160eSChris Morgan	#size-cells = <0>;
5773900160eSChris Morgan	status = "okay";
5783900160eSChris Morgan
5793900160eSChris Morgan	pmic@0 {
5803900160eSChris Morgan		compatible = "rockchip,rk806";
5813900160eSChris Morgan		reg = <0x0>;
5823900160eSChris Morgan		#gpio-cells = <2>;
5833900160eSChris Morgan		gpio-controller;
5843900160eSChris Morgan		interrupt-parent = <&gpio0>;
5853900160eSChris Morgan		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
5863900160eSChris Morgan		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
5873900160eSChris Morgan			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
5883900160eSChris Morgan		pinctrl-names = "default";
5893900160eSChris Morgan		spi-max-frequency = <1000000>;
5903900160eSChris Morgan
5913900160eSChris Morgan		vcc1-supply = <&vcc5v0_sys>;
5923900160eSChris Morgan		vcc2-supply = <&vcc5v0_sys>;
5933900160eSChris Morgan		vcc3-supply = <&vcc5v0_sys>;
5943900160eSChris Morgan		vcc4-supply = <&vcc5v0_sys>;
5953900160eSChris Morgan		vcc5-supply = <&vcc5v0_sys>;
5963900160eSChris Morgan		vcc6-supply = <&vcc5v0_sys>;
5973900160eSChris Morgan		vcc7-supply = <&vcc5v0_sys>;
5983900160eSChris Morgan		vcc8-supply = <&vcc5v0_sys>;
5993900160eSChris Morgan		vcc9-supply = <&vcc5v0_sys>;
6003900160eSChris Morgan		vcc10-supply = <&vcc5v0_sys>;
6013900160eSChris Morgan		vcc11-supply = <&vcc_2v0_pldo_s3>;
6023900160eSChris Morgan		vcc12-supply = <&vcc5v0_sys>;
6033900160eSChris Morgan		vcc13-supply = <&vcc_1v1_nldo_s3>;
6043900160eSChris Morgan		vcc14-supply = <&vcc_1v1_nldo_s3>;
6053900160eSChris Morgan		vcca-supply = <&vcc5v0_sys>;
6063900160eSChris Morgan
6073900160eSChris Morgan		rk806_dvs1_null: dvs1-null-pins {
608d7f2039eSJing Luo			pins = "gpio_pwrctrl1";
6093900160eSChris Morgan			function = "pin_fun0";
6103900160eSChris Morgan		};
6113900160eSChris Morgan
6123900160eSChris Morgan		rk806_dvs2_null: dvs2-null-pins {
6133900160eSChris Morgan			pins = "gpio_pwrctrl2";
6143900160eSChris Morgan			function = "pin_fun0";
6153900160eSChris Morgan		};
6163900160eSChris Morgan
6173900160eSChris Morgan		rk806_dvs3_null: dvs3-null-pins {
6183900160eSChris Morgan			pins = "gpio_pwrctrl3";
6193900160eSChris Morgan			function = "pin_fun0";
6203900160eSChris Morgan		};
6213900160eSChris Morgan
6223900160eSChris Morgan		regulators {
6233900160eSChris Morgan			vdd_gpu_s0: dcdc-reg1 {
6243900160eSChris Morgan				regulator-boot-on;
6253900160eSChris Morgan				regulator-enable-ramp-delay = <400>;
6263900160eSChris Morgan				regulator-max-microvolt = <950000>;
6273900160eSChris Morgan				regulator-min-microvolt = <550000>;
6283900160eSChris Morgan				regulator-name = "vdd_gpu_s0";
6293900160eSChris Morgan				regulator-ramp-delay = <12500>;
6303900160eSChris Morgan				regulator-state-mem {
6313900160eSChris Morgan					regulator-off-in-suspend;
6323900160eSChris Morgan				};
6333900160eSChris Morgan			};
6343900160eSChris Morgan
6353900160eSChris Morgan			vdd_cpu_lit_s0: dcdc-reg2 {
6363900160eSChris Morgan				regulator-always-on;
6373900160eSChris Morgan				regulator-boot-on;
6383900160eSChris Morgan				regulator-max-microvolt = <950000>;
6393900160eSChris Morgan				regulator-min-microvolt = <550000>;
6403900160eSChris Morgan				regulator-ramp-delay = <12500>;
6413900160eSChris Morgan				regulator-name = "vdd_cpu_lit_s0";
6423900160eSChris Morgan				regulator-state-mem {
6433900160eSChris Morgan					regulator-off-in-suspend;
6443900160eSChris Morgan				};
6453900160eSChris Morgan			};
6463900160eSChris Morgan
6473900160eSChris Morgan			vdd_logic_s0: dcdc-reg3 {
6483900160eSChris Morgan				regulator-always-on;
6493900160eSChris Morgan				regulator-boot-on;
6503900160eSChris Morgan				regulator-max-microvolt = <750000>;
6513900160eSChris Morgan				regulator-min-microvolt = <675000>;
6523900160eSChris Morgan				regulator-name = "vdd_logic_s0";
6533900160eSChris Morgan				regulator-ramp-delay = <12500>;
6543900160eSChris Morgan				regulator-state-mem {
6553900160eSChris Morgan					regulator-on-in-suspend;
6563900160eSChris Morgan					regulator-suspend-microvolt = <750000>;
6573900160eSChris Morgan				};
6583900160eSChris Morgan			};
6593900160eSChris Morgan
6603900160eSChris Morgan			vdd_vdenc_s0: dcdc-reg4 {
6613900160eSChris Morgan				regulator-always-on;
6623900160eSChris Morgan				regulator-boot-on;
6633900160eSChris Morgan				regulator-max-microvolt = <950000>;
6643900160eSChris Morgan				regulator-min-microvolt = <550000>;
6653900160eSChris Morgan				regulator-name = "vdd_vdenc_s0";
6663900160eSChris Morgan				regulator-ramp-delay = <12500>;
6673900160eSChris Morgan				regulator-state-mem {
6683900160eSChris Morgan					regulator-off-in-suspend;
6693900160eSChris Morgan				};
6703900160eSChris Morgan			};
6713900160eSChris Morgan
6723900160eSChris Morgan			vdd_ddr_s0: dcdc-reg5 {
6733900160eSChris Morgan				regulator-always-on;
6743900160eSChris Morgan				regulator-boot-on;
6753900160eSChris Morgan				regulator-min-microvolt = <750000>;
6763900160eSChris Morgan				regulator-max-microvolt = <850000>;
6773900160eSChris Morgan				regulator-ramp-delay = <12500>;
6783900160eSChris Morgan				regulator-name = "vdd_ddr_s0";
6793900160eSChris Morgan				regulator-state-mem {
6803900160eSChris Morgan					regulator-off-in-suspend;
6813900160eSChris Morgan					regulator-suspend-microvolt = <850000>;
6823900160eSChris Morgan				};
6833900160eSChris Morgan			};
6843900160eSChris Morgan
6853900160eSChris Morgan			vdd2_ddr_s3: dcdc-reg6 {
6863900160eSChris Morgan				regulator-always-on;
6873900160eSChris Morgan				regulator-boot-on;
6883900160eSChris Morgan				regulator-max-microvolt = <1100000>;
6893900160eSChris Morgan				regulator-min-microvolt = <1100000>;
6903900160eSChris Morgan				regulator-name = "vdd2_ddr_s3";
6913900160eSChris Morgan				regulator-state-mem {
6923900160eSChris Morgan					regulator-on-in-suspend;
6933900160eSChris Morgan				};
6943900160eSChris Morgan			};
6953900160eSChris Morgan
6963900160eSChris Morgan			vcc_2v0_pldo_s3: dcdc-reg7 {
6973900160eSChris Morgan				regulator-always-on;
6983900160eSChris Morgan				regulator-boot-on;
6993900160eSChris Morgan				regulator-max-microvolt = <2000000>;
7003900160eSChris Morgan				regulator-min-microvolt = <2000000>;
7013900160eSChris Morgan				regulator-name = "vdd_2v0_pldo_s3";
7023900160eSChris Morgan				regulator-state-mem {
7033900160eSChris Morgan					regulator-on-in-suspend;
7043900160eSChris Morgan					regulator-suspend-microvolt = <2000000>;
7053900160eSChris Morgan				};
7063900160eSChris Morgan			};
7073900160eSChris Morgan
7083900160eSChris Morgan			vcc_3v3_s3: dcdc-reg8 {
7093900160eSChris Morgan				regulator-always-on;
7103900160eSChris Morgan				regulator-boot-on;
7113900160eSChris Morgan				regulator-max-microvolt = <3300000>;
7123900160eSChris Morgan				regulator-min-microvolt = <3300000>;
7133900160eSChris Morgan				regulator-name = "vcc_3v3_s3";
7143900160eSChris Morgan				regulator-state-mem {
7153900160eSChris Morgan					regulator-on-in-suspend;
7163900160eSChris Morgan					regulator-suspend-microvolt = <3300000>;
7173900160eSChris Morgan				};
7183900160eSChris Morgan			};
7193900160eSChris Morgan
7203900160eSChris Morgan			vddq_ddr_s0: dcdc-reg9 {
7213900160eSChris Morgan				regulator-always-on;
7223900160eSChris Morgan				regulator-boot-on;
7233900160eSChris Morgan				regulator-max-microvolt = <600000>;
7243900160eSChris Morgan				regulator-min-microvolt = <600000>;
7253900160eSChris Morgan				regulator-name = "vddq_ddr_s0";
7263900160eSChris Morgan				regulator-state-mem {
7273900160eSChris Morgan					regulator-off-in-suspend;
7283900160eSChris Morgan				};
7293900160eSChris Morgan			};
7303900160eSChris Morgan
7313900160eSChris Morgan			vcc_1v8_s3: dcdc-reg10 {
7323900160eSChris Morgan				regulator-always-on;
7333900160eSChris Morgan				regulator-boot-on;
7343900160eSChris Morgan				regulator-max-microvolt = <1800000>;
7353900160eSChris Morgan				regulator-min-microvolt = <1800000>;
7363900160eSChris Morgan				regulator-name = "vcc_1v8_s3";
7373900160eSChris Morgan				regulator-state-mem {
7383900160eSChris Morgan					regulator-on-in-suspend;
7393900160eSChris Morgan					regulator-suspend-microvolt = <1800000>;
7403900160eSChris Morgan				};
7413900160eSChris Morgan			};
7423900160eSChris Morgan
7433900160eSChris Morgan			vcc_1v8_s0: pldo-reg1 {
7443900160eSChris Morgan				regulator-always-on;
7453900160eSChris Morgan				regulator-boot-on;
7463900160eSChris Morgan				regulator-max-microvolt = <1800000>;
7473900160eSChris Morgan				regulator-min-microvolt = <1800000>;
7483900160eSChris Morgan				regulator-name = "vcc_1v8_s0";
7493900160eSChris Morgan				regulator-state-mem {
7503900160eSChris Morgan					regulator-off-in-suspend;
7513900160eSChris Morgan				};
7523900160eSChris Morgan			};
7533900160eSChris Morgan
7543900160eSChris Morgan			vcca_1v8_s0: pldo-reg2 {
7553900160eSChris Morgan				regulator-always-on;
7563900160eSChris Morgan				regulator-boot-on;
7573900160eSChris Morgan				regulator-max-microvolt = <1800000>;
7583900160eSChris Morgan				regulator-min-microvolt = <1800000>;
7593900160eSChris Morgan				regulator-name = "vcca_1v8_s0";
7603900160eSChris Morgan				regulator-state-mem {
7613900160eSChris Morgan					regulator-off-in-suspend;
7623900160eSChris Morgan					regulator-suspend-microvolt = <1800000>;
7633900160eSChris Morgan				};
7643900160eSChris Morgan			};
7653900160eSChris Morgan
7663900160eSChris Morgan			vdda_1v2_s0: pldo-reg3 {
7673900160eSChris Morgan				regulator-always-on;
7683900160eSChris Morgan				regulator-boot-on;
7693900160eSChris Morgan				regulator-max-microvolt = <1200000>;
7703900160eSChris Morgan				regulator-min-microvolt = <1200000>;
7713900160eSChris Morgan				regulator-name = "vdda_1v2_s0";
7723900160eSChris Morgan				regulator-state-mem {
7733900160eSChris Morgan					regulator-off-in-suspend;
7743900160eSChris Morgan				};
7753900160eSChris Morgan			};
7763900160eSChris Morgan
7773900160eSChris Morgan			vcca_3v3_s0: pldo-reg4 {
7783900160eSChris Morgan				regulator-always-on;
7793900160eSChris Morgan				regulator-boot-on;
7803900160eSChris Morgan				regulator-max-microvolt = <3300000>;
7813900160eSChris Morgan				regulator-min-microvolt = <3300000>;
7823900160eSChris Morgan				regulator-name = "vcca_3v3_s0";
7833900160eSChris Morgan				regulator-state-mem {
7843900160eSChris Morgan					regulator-off-in-suspend;
7853900160eSChris Morgan				};
7863900160eSChris Morgan			};
7873900160eSChris Morgan
7883900160eSChris Morgan			vccio_sd_s0: pldo-reg5 {
7893900160eSChris Morgan				regulator-always-on;
7903900160eSChris Morgan				regulator-boot-on;
7913900160eSChris Morgan				regulator-max-microvolt = <3300000>;
7923900160eSChris Morgan				regulator-min-microvolt = <1800000>;
7933900160eSChris Morgan				regulator-name = "vccio_sd_s0";
7943900160eSChris Morgan				regulator-state-mem {
7953900160eSChris Morgan					regulator-off-in-suspend;
7963900160eSChris Morgan				};
7973900160eSChris Morgan			};
7983900160eSChris Morgan
7993900160eSChris Morgan			vcc_1v8_s3_pldo6: pldo-reg6 {
8003900160eSChris Morgan				regulator-always-on;
8013900160eSChris Morgan				regulator-boot-on;
8023900160eSChris Morgan				regulator-max-microvolt = <1800000>;
8033900160eSChris Morgan				regulator-min-microvolt = <1800000>;
8043900160eSChris Morgan				regulator-name = "vcc_1v8_s3_pldo6";
8053900160eSChris Morgan				regulator-state-mem {
8063900160eSChris Morgan					regulator-on-in-suspend;
8073900160eSChris Morgan					regulator-suspend-microvolt = <1800000>;
8083900160eSChris Morgan				};
8093900160eSChris Morgan			};
8103900160eSChris Morgan
8113900160eSChris Morgan			vdd_0v75_s3: nldo-reg1 {
8123900160eSChris Morgan				regulator-always-on;
8133900160eSChris Morgan				regulator-boot-on;
8143900160eSChris Morgan				regulator-max-microvolt = <750000>;
8153900160eSChris Morgan				regulator-min-microvolt = <750000>;
8163900160eSChris Morgan				regulator-name = "vdd_0v75_s3";
8173900160eSChris Morgan				regulator-state-mem {
8183900160eSChris Morgan					regulator-on-in-suspend;
8193900160eSChris Morgan					regulator-suspend-microvolt = <750000>;
8203900160eSChris Morgan				};
8213900160eSChris Morgan			};
8223900160eSChris Morgan
8233900160eSChris Morgan			vdda_ddr_pll_s0: nldo-reg2 {
8243900160eSChris Morgan				regulator-always-on;
8253900160eSChris Morgan				regulator-boot-on;
8263900160eSChris Morgan				regulator-max-microvolt = <850000>;
8273900160eSChris Morgan				regulator-min-microvolt = <850000>;
8283900160eSChris Morgan				regulator-name = "vdda_ddr_pll_s0";
8293900160eSChris Morgan				regulator-state-mem {
8303900160eSChris Morgan					regulator-off-in-suspend;
8313900160eSChris Morgan					regulator-suspend-microvolt = <850000>;
8323900160eSChris Morgan				};
8333900160eSChris Morgan			};
8343900160eSChris Morgan
8353900160eSChris Morgan			avdd_0v75_s0: nldo-reg3 {
8363900160eSChris Morgan				regulator-always-on;
8373900160eSChris Morgan				regulator-boot-on;
8383900160eSChris Morgan				regulator-max-microvolt = <750000>;
8393900160eSChris Morgan				regulator-min-microvolt = <750000>;
8403900160eSChris Morgan				regulator-name = "avdd_0v75_s0";
8413900160eSChris Morgan				regulator-state-mem {
8423900160eSChris Morgan					regulator-off-in-suspend;
8433900160eSChris Morgan				};
8443900160eSChris Morgan			};
8453900160eSChris Morgan
8463900160eSChris Morgan			vdda_0v85_s0: nldo-reg4 {
8473900160eSChris Morgan				regulator-always-on;
8483900160eSChris Morgan				regulator-boot-on;
8493900160eSChris Morgan				regulator-min-microvolt = <850000>;
8503900160eSChris Morgan				regulator-max-microvolt = <850000>;
8513900160eSChris Morgan				regulator-name = "vdda_0v85_s0";
8523900160eSChris Morgan				regulator-state-mem {
8533900160eSChris Morgan					regulator-off-in-suspend;
8543900160eSChris Morgan				};
8553900160eSChris Morgan			};
8563900160eSChris Morgan
8573900160eSChris Morgan			/* Schematics show not in use */
8583900160eSChris Morgan			nldo-reg5 {
8593900160eSChris Morgan			};
8603900160eSChris Morgan		};
8613900160eSChris Morgan	};
8623900160eSChris Morgan};
8633900160eSChris Morgan
8643900160eSChris Morgan&tsadc {
8653900160eSChris Morgan	status = "okay";
8663900160eSChris Morgan};
8673900160eSChris Morgan
868595f06c3SChris Morgan&u2phy0 {
869595f06c3SChris Morgan	status = "okay";
870595f06c3SChris Morgan};
871595f06c3SChris Morgan
872595f06c3SChris Morgan&u2phy0_otg {
873595f06c3SChris Morgan	status = "okay";
874595f06c3SChris Morgan};
875595f06c3SChris Morgan
876aee432b5SChris Morgan&u2phy2 {
877aee432b5SChris Morgan	status = "okay";
878aee432b5SChris Morgan};
879aee432b5SChris Morgan
880aee432b5SChris Morgan&u2phy2_host {
881aee432b5SChris Morgan	phy-supply = <&vcc5v0_usb>;
882aee432b5SChris Morgan	status = "okay";
883aee432b5SChris Morgan};
884aee432b5SChris Morgan
885aee432b5SChris Morgan&u2phy3 {
886aee432b5SChris Morgan	status = "okay";
887aee432b5SChris Morgan};
888aee432b5SChris Morgan
889aee432b5SChris Morgan&u2phy3_host {
890aee432b5SChris Morgan	phy-supply = <&vcc5v0_usb>;
891aee432b5SChris Morgan	status = "okay";
892aee432b5SChris Morgan};
893aee432b5SChris Morgan
8943900160eSChris Morgan&uart2 {
8953900160eSChris Morgan	pinctrl-0 = <&uart2m0_xfer>;
8963900160eSChris Morgan	status = "okay";
8973900160eSChris Morgan};
8983900160eSChris Morgan
8993900160eSChris Morgan/* DMA seems to interfere with bluetooth device normal operation. */
9003900160eSChris Morgan&uart9 {
9013900160eSChris Morgan	pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>;
9023900160eSChris Morgan	pinctrl-names = "default";
9033900160eSChris Morgan	/delete-property/ dma-names;
9043900160eSChris Morgan	/delete-property/ dmas;
9053900160eSChris Morgan	uart-has-rtscts;
9063900160eSChris Morgan	status = "okay";
9073900160eSChris Morgan
9083900160eSChris Morgan	bluetooth {
9093900160eSChris Morgan		compatible = "realtek,rtl8821cs-bt",
9103900160eSChris Morgan			     "realtek,rtl8723bs-bt";
9113900160eSChris Morgan		device-wake-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
9123900160eSChris Morgan		enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
9133900160eSChris Morgan		host-wake-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
9143900160eSChris Morgan		pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>;
9153900160eSChris Morgan		pinctrl-names = "default";
9163900160eSChris Morgan	};
9173900160eSChris Morgan};
918aee432b5SChris Morgan
919aee432b5SChris Morgan&usb_host0_ehci {
920aee432b5SChris Morgan	status = "okay";
921aee432b5SChris Morgan};
922aee432b5SChris Morgan
923aee432b5SChris Morgan&usb_host0_ohci {
924aee432b5SChris Morgan	status = "okay";
925aee432b5SChris Morgan};
926aee432b5SChris Morgan
927595f06c3SChris Morgan&usb_host0_xhci {
928595f06c3SChris Morgan	usb-role-switch;
929595f06c3SChris Morgan	status = "okay";
930595f06c3SChris Morgan
931595f06c3SChris Morgan	port {
932595f06c3SChris Morgan		dwc3_0_role_switch: endpoint {
933595f06c3SChris Morgan			remote-endpoint = <&usbc0_role_sw>;
934595f06c3SChris Morgan		};
935595f06c3SChris Morgan	};
936595f06c3SChris Morgan};
937595f06c3SChris Morgan
938aee432b5SChris Morgan&usb_host1_ehci {
939aee432b5SChris Morgan	status = "okay";
940aee432b5SChris Morgan};
941aee432b5SChris Morgan
942aee432b5SChris Morgan&usb_host1_ohci {
943aee432b5SChris Morgan	status = "okay";
944aee432b5SChris Morgan};
9454622485fSChris Morgan
9464622485fSChris Morgan&usb_host2_xhci {
9474622485fSChris Morgan	status = "okay";
9484622485fSChris Morgan};
949595f06c3SChris Morgan
950595f06c3SChris Morgan&usbdp_phy0 {
951595f06c3SChris Morgan	orientation-switch;
952595f06c3SChris Morgan	mode-switch;
953595f06c3SChris Morgan	sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
954595f06c3SChris Morgan	sbu2-dc-gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_HIGH>;
955595f06c3SChris Morgan	rockchip,dp-lane-mux = <2 3>;
956595f06c3SChris Morgan	status = "okay";
957595f06c3SChris Morgan
958595f06c3SChris Morgan	port {
959595f06c3SChris Morgan		#address-cells = <1>;
960595f06c3SChris Morgan		#size-cells = <0>;
961595f06c3SChris Morgan
962595f06c3SChris Morgan		usbdp_phy0_orientation_switch: endpoint@0 {
963595f06c3SChris Morgan			reg = <0>;
964595f06c3SChris Morgan			remote-endpoint = <&usbc0_orien_sw>;
965595f06c3SChris Morgan		};
966595f06c3SChris Morgan
967595f06c3SChris Morgan		usbdp_phy0_dp_altmode_mux: endpoint@1 {
968595f06c3SChris Morgan			reg = <1>;
969595f06c3SChris Morgan			remote-endpoint = <&dp_altmode_mux>;
970595f06c3SChris Morgan		};
971595f06c3SChris Morgan	};
972595f06c3SChris Morgan};
9732f4a0c2bSChris Morgan
9742f4a0c2bSChris Morgan&vop {
9752f4a0c2bSChris Morgan	status = "okay";
9762f4a0c2bSChris Morgan};
9772f4a0c2bSChris Morgan
9782f4a0c2bSChris Morgan&vop_mmu {
9792f4a0c2bSChris Morgan	status = "okay";
9802f4a0c2bSChris Morgan};
9812f4a0c2bSChris Morgan
9822f4a0c2bSChris Morgan&vp0 {
9832f4a0c2bSChris Morgan	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
9842f4a0c2bSChris Morgan		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
9852f4a0c2bSChris Morgan		remote-endpoint = <&hdmi0_in_vp0>;
9862f4a0c2bSChris Morgan	};
9872f4a0c2bSChris Morgan};
988