xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3588-rock-5-itx.dts (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
131390eb8SHeiko Stuebner// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
231390eb8SHeiko Stuebner/*
331390eb8SHeiko Stuebner * Copyright (c) 2024 Radxa Limited
431390eb8SHeiko Stuebner * Copyright (c) 2024 Heiko Stuebner <heiko@sntech.de>
531390eb8SHeiko Stuebner */
631390eb8SHeiko Stuebner
731390eb8SHeiko Stuebner/dts-v1/;
831390eb8SHeiko Stuebner
931390eb8SHeiko Stuebner#include <dt-bindings/gpio/gpio.h>
1031390eb8SHeiko Stuebner#include <dt-bindings/input/input.h>
1131390eb8SHeiko Stuebner#include <dt-bindings/leds/common.h>
1231390eb8SHeiko Stuebner#include <dt-bindings/pinctrl/rockchip.h>
1331390eb8SHeiko Stuebner#include <dt-bindings/pwm/pwm.h>
143eac9319SJianfeng Liu#include <dt-bindings/soc/rockchip,vop2.h>
1531390eb8SHeiko Stuebner#include "dt-bindings/usb/pd.h"
1631390eb8SHeiko Stuebner#include "rk3588.dtsi"
1731390eb8SHeiko Stuebner
1831390eb8SHeiko Stuebner/ {
1931390eb8SHeiko Stuebner	model = "Radxa ROCK 5 ITX";
2031390eb8SHeiko Stuebner	compatible = "radxa,rock-5-itx", "rockchip,rk3588";
2131390eb8SHeiko Stuebner
2231390eb8SHeiko Stuebner	aliases {
2331390eb8SHeiko Stuebner		mmc0 = &sdhci;
2431390eb8SHeiko Stuebner		mmc1 = &sdmmc;
2531390eb8SHeiko Stuebner		mmc2 = &sdio;
2631390eb8SHeiko Stuebner	};
2731390eb8SHeiko Stuebner
2831390eb8SHeiko Stuebner	chosen {
2931390eb8SHeiko Stuebner		stdout-path = "serial2:1500000n8";
3031390eb8SHeiko Stuebner	};
3131390eb8SHeiko Stuebner
3231390eb8SHeiko Stuebner	adc_keys: adc-keys {
3331390eb8SHeiko Stuebner		compatible = "adc-keys";
3431390eb8SHeiko Stuebner		io-channels = <&saradc 0>;
3531390eb8SHeiko Stuebner		io-channel-names = "buttons";
3631390eb8SHeiko Stuebner		keyup-threshold-microvolt = <1800000>;
3731390eb8SHeiko Stuebner		poll-interval = <100>;
3831390eb8SHeiko Stuebner
3931390eb8SHeiko Stuebner		button-maskrom {
4031390eb8SHeiko Stuebner			label = "Mask Rom";
4131390eb8SHeiko Stuebner			linux,code = <KEY_SETUP>;
4231390eb8SHeiko Stuebner			press-threshold-microvolt = <1750>;
4331390eb8SHeiko Stuebner		};
4431390eb8SHeiko Stuebner	};
4531390eb8SHeiko Stuebner
4631390eb8SHeiko Stuebner	analog-sound {
4731390eb8SHeiko Stuebner		compatible = "audio-graph-card";
4831390eb8SHeiko Stuebner		label = "rk3588-es8316";
4931390eb8SHeiko Stuebner		dais = <&i2s0_8ch_p0>;
503ca743f8SGeert Uytterhoeven		hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
5131390eb8SHeiko Stuebner		pinctrl-names = "default";
5231390eb8SHeiko Stuebner		pinctrl-0 = <&hp_detect>;
5331390eb8SHeiko Stuebner		routing = "MIC2", "Mic Jack",
5431390eb8SHeiko Stuebner			  "Headphones", "HPOL",
5531390eb8SHeiko Stuebner			  "Headphones", "HPOR";
5631390eb8SHeiko Stuebner		widgets = "Microphone", "Mic Jack",
5731390eb8SHeiko Stuebner			  "Headphone", "Headphones";
5831390eb8SHeiko Stuebner	};
5931390eb8SHeiko Stuebner
6031390eb8SHeiko Stuebner	gpio-leds {
6131390eb8SHeiko Stuebner		compatible = "gpio-leds";
6231390eb8SHeiko Stuebner		pinctrl-names = "default";
6331390eb8SHeiko Stuebner		pinctrl-0 = <&led_pins>;
6431390eb8SHeiko Stuebner
6531390eb8SHeiko Stuebner		power-led1 {
6631390eb8SHeiko Stuebner			gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
6731390eb8SHeiko Stuebner			linux,default-trigger = "default-on";
6831390eb8SHeiko Stuebner		};
6931390eb8SHeiko Stuebner
7031390eb8SHeiko Stuebner		hdd-led2 {
7131390eb8SHeiko Stuebner			gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
7231390eb8SHeiko Stuebner			linux,default-trigger = "disk-activity";
7331390eb8SHeiko Stuebner		};
7431390eb8SHeiko Stuebner	};
7531390eb8SHeiko Stuebner
763eac9319SJianfeng Liu	hdmi1-con {
773eac9319SJianfeng Liu		compatible = "hdmi-connector";
783eac9319SJianfeng Liu		type = "a";
793eac9319SJianfeng Liu
803eac9319SJianfeng Liu		port {
813eac9319SJianfeng Liu			hdmi1_con_in: endpoint {
823eac9319SJianfeng Liu				remote-endpoint = <&hdmi1_out_con>;
833eac9319SJianfeng Liu			};
843eac9319SJianfeng Liu		};
853eac9319SJianfeng Liu	};
863eac9319SJianfeng Liu
87e684f024SHeiko Stuebner	/* Unnamed gated oscillator: 100MHz,3.3V,3225 */
88e684f024SHeiko Stuebner	pcie30_port0_refclk: pcie30_port1_refclk: pcie-oscillator {
89e684f024SHeiko Stuebner		compatible = "gated-fixed-clock";
90e684f024SHeiko Stuebner		#clock-cells = <0>;
91e684f024SHeiko Stuebner		clock-frequency = <100000000>;
92e684f024SHeiko Stuebner		clock-output-names = "pcie30_refclk";
93e684f024SHeiko Stuebner		vdd-supply = <&vcc3v3_pi6c_05>;
94e684f024SHeiko Stuebner	};
95e684f024SHeiko Stuebner
9631390eb8SHeiko Stuebner	fan0: pwm-fan {
9731390eb8SHeiko Stuebner		compatible = "pwm-fan";
9831390eb8SHeiko Stuebner		#cooling-cells = <2>;
9931390eb8SHeiko Stuebner		cooling-levels = <0 64 128 192 255>;
10031390eb8SHeiko Stuebner		fan-supply = <&vcc12v_dcin>;
10131390eb8SHeiko Stuebner		pwms = <&pwm14 0 10000 0>;
10231390eb8SHeiko Stuebner	};
10331390eb8SHeiko Stuebner
10431390eb8SHeiko Stuebner	/* M.2 E-KEY */
10531390eb8SHeiko Stuebner	sdio_pwrseq: sdio-pwrseq {
10631390eb8SHeiko Stuebner		compatible = "mmc-pwrseq-simple";
10731390eb8SHeiko Stuebner		clocks = <&hym8563>;
10831390eb8SHeiko Stuebner		clock-names = "ext_clock";
10931390eb8SHeiko Stuebner		pinctrl-names = "default";
11031390eb8SHeiko Stuebner		pinctrl-0 = <&wifi_enable_h>;
11131390eb8SHeiko Stuebner		reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
11231390eb8SHeiko Stuebner	};
11331390eb8SHeiko Stuebner
11431390eb8SHeiko Stuebner	typec_vin: regulator-typec-vin {
11531390eb8SHeiko Stuebner		compatible = "regulator-fixed";
11631390eb8SHeiko Stuebner		enable-active-high;
11731390eb8SHeiko Stuebner		gpio = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
11831390eb8SHeiko Stuebner		pinctrl-names = "default";
11931390eb8SHeiko Stuebner		pinctrl-0 = <&vbus5v0_typec_en>;
12031390eb8SHeiko Stuebner		regulator-name = "typec_vin";
12131390eb8SHeiko Stuebner		regulator-min-microvolt = <5000000>;
12231390eb8SHeiko Stuebner		regulator-max-microvolt = <5000000>;
12331390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
12431390eb8SHeiko Stuebner	};
12531390eb8SHeiko Stuebner
12631390eb8SHeiko Stuebner	vcc12v_dcin: regulator-vcc12v-dcin {
12731390eb8SHeiko Stuebner		compatible = "regulator-fixed";
12831390eb8SHeiko Stuebner		regulator-name = "vcc12v_dcin";
12931390eb8SHeiko Stuebner		regulator-always-on;
13031390eb8SHeiko Stuebner		regulator-boot-on;
13131390eb8SHeiko Stuebner		regulator-min-microvolt = <12000000>;
13231390eb8SHeiko Stuebner		regulator-max-microvolt = <12000000>;
13331390eb8SHeiko Stuebner	};
13431390eb8SHeiko Stuebner
13531390eb8SHeiko Stuebner	vcc33_io64: regulator-vcc33-io64 {
13631390eb8SHeiko Stuebner		compatible = "regulator-fixed";
13731390eb8SHeiko Stuebner		regulator-name = "vcc33_io64";
13831390eb8SHeiko Stuebner		regulator-always-on;
13931390eb8SHeiko Stuebner		regulator-boot-on;
14031390eb8SHeiko Stuebner		regulator-min-microvolt = <3300000>;
14131390eb8SHeiko Stuebner		regulator-max-microvolt = <3300000>;
14231390eb8SHeiko Stuebner		vin-supply = <&vcc12v_dcin>;
14331390eb8SHeiko Stuebner	};
14431390eb8SHeiko Stuebner
14531390eb8SHeiko Stuebner	vcc3v3_ekey: regulator-vcc3v3-ekey {
14631390eb8SHeiko Stuebner		compatible = "regulator-fixed";
14731390eb8SHeiko Stuebner		enable-active-high;
14831390eb8SHeiko Stuebner		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
14931390eb8SHeiko Stuebner		pinctrl-names = "default";
15031390eb8SHeiko Stuebner		pinctrl-0 = <&ekey_en>;
15131390eb8SHeiko Stuebner		regulator-name = "vcc3v3_ekey";
15231390eb8SHeiko Stuebner		regulator-always-on;
15331390eb8SHeiko Stuebner		regulator-boot-on;
15431390eb8SHeiko Stuebner		regulator-min-microvolt = <3300000>;
15531390eb8SHeiko Stuebner		regulator-max-microvolt = <3300000>;
15631390eb8SHeiko Stuebner		startup-delay-us = <50000>;
15731390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
15831390eb8SHeiko Stuebner	};
15931390eb8SHeiko Stuebner
16031390eb8SHeiko Stuebner	vcc3v3_lan: vcc3v3_lan_phy2: regulator-vcc3v3-lan {
16131390eb8SHeiko Stuebner		compatible = "regulator-fixed";
16231390eb8SHeiko Stuebner		regulator-name = "vcc3v3_lan";
16331390eb8SHeiko Stuebner		regulator-always-on;
16431390eb8SHeiko Stuebner		regulator-boot-on;
16531390eb8SHeiko Stuebner		regulator-min-microvolt = <3300000>;
16631390eb8SHeiko Stuebner		regulator-max-microvolt = <3300000>;
16731390eb8SHeiko Stuebner		vin-supply = <&vcc_3v3_s3>;
16831390eb8SHeiko Stuebner	};
16931390eb8SHeiko Stuebner
170e684f024SHeiko Stuebner	/* The PCIE30x4_PWREN_H controls two regulators */
171e684f024SHeiko Stuebner	vcc3v3_mkey: vcc3v3_pi6c_05: regulator-vcc3v3-pi6c-05 {
17231390eb8SHeiko Stuebner		compatible = "regulator-fixed";
17331390eb8SHeiko Stuebner		enable-active-high;
17431390eb8SHeiko Stuebner		gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
17531390eb8SHeiko Stuebner		pinctrl-names = "default";
17631390eb8SHeiko Stuebner		pinctrl-0 = <&pcie30x4_pwren_h>;
177e684f024SHeiko Stuebner		regulator-name = "vcc3v3_pi6c_05";
17831390eb8SHeiko Stuebner		regulator-min-microvolt = <3300000>;
17931390eb8SHeiko Stuebner		regulator-max-microvolt = <3300000>;
18031390eb8SHeiko Stuebner		startup-delay-us = <5000>;
18131390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
18231390eb8SHeiko Stuebner	};
18331390eb8SHeiko Stuebner
18431390eb8SHeiko Stuebner	vcc3v3_sys: regulator-vcc3v3-sys {
18531390eb8SHeiko Stuebner		compatible = "regulator-fixed";
18631390eb8SHeiko Stuebner		regulator-name = "vcc3v3_sys";
18731390eb8SHeiko Stuebner		regulator-always-on;
18831390eb8SHeiko Stuebner		regulator-boot-on;
18931390eb8SHeiko Stuebner		regulator-min-microvolt = <3300000>;
19031390eb8SHeiko Stuebner		regulator-max-microvolt = <3300000>;
19131390eb8SHeiko Stuebner		vin-supply = <&vcc12v_dcin>;
19231390eb8SHeiko Stuebner	};
19331390eb8SHeiko Stuebner
19431390eb8SHeiko Stuebner	vcc5v0_sys: regulator-vcc5v0-sys {
19531390eb8SHeiko Stuebner		compatible = "regulator-fixed";
19631390eb8SHeiko Stuebner		regulator-name = "vcc5v0_sys";
19731390eb8SHeiko Stuebner		regulator-always-on;
19831390eb8SHeiko Stuebner		regulator-boot-on;
19931390eb8SHeiko Stuebner		regulator-min-microvolt = <5000000>;
20031390eb8SHeiko Stuebner		regulator-max-microvolt = <5000000>;
20131390eb8SHeiko Stuebner		vin-supply = <&vcc12v_dcin>;
20231390eb8SHeiko Stuebner	};
20331390eb8SHeiko Stuebner
20431390eb8SHeiko Stuebner	vcc5v0_usb20: vcc5v0_usb12: vcc5v0_usb34: regulator-vcc5v0-usb {
20531390eb8SHeiko Stuebner		compatible = "regulator-fixed";
20631390eb8SHeiko Stuebner		enable-active-high;
20731390eb8SHeiko Stuebner		gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
20831390eb8SHeiko Stuebner		pinctrl-names = "default";
20931390eb8SHeiko Stuebner		pinctrl-0 = <&usb_host_pwren_h>;
21031390eb8SHeiko Stuebner		regulator-name = "vcc5v0_usb";
21131390eb8SHeiko Stuebner		regulator-min-microvolt = <5000000>;
21231390eb8SHeiko Stuebner		regulator-max-microvolt = <5000000>;
21331390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
21431390eb8SHeiko Stuebner	};
21531390eb8SHeiko Stuebner
21631390eb8SHeiko Stuebner	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
21731390eb8SHeiko Stuebner		compatible = "regulator-fixed";
21831390eb8SHeiko Stuebner		regulator-name = "vcc_1v1_nldo_s3";
21931390eb8SHeiko Stuebner		regulator-always-on;
22031390eb8SHeiko Stuebner		regulator-boot-on;
22131390eb8SHeiko Stuebner		regulator-min-microvolt = <1100000>;
22231390eb8SHeiko Stuebner		regulator-max-microvolt = <1100000>;
22331390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
22431390eb8SHeiko Stuebner	};
22531390eb8SHeiko Stuebner};
22631390eb8SHeiko Stuebner
22731390eb8SHeiko Stuebner&combphy0_ps {
22831390eb8SHeiko Stuebner	status = "okay";
22931390eb8SHeiko Stuebner};
23031390eb8SHeiko Stuebner
23131390eb8SHeiko Stuebner&combphy1_ps {
23231390eb8SHeiko Stuebner	status = "okay";
23331390eb8SHeiko Stuebner};
23431390eb8SHeiko Stuebner
23531390eb8SHeiko Stuebner&combphy2_psu {
23631390eb8SHeiko Stuebner	status = "okay";
23731390eb8SHeiko Stuebner};
23831390eb8SHeiko Stuebner
23931390eb8SHeiko Stuebner&cpu_b0 {
24031390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_big0_s0>;
24131390eb8SHeiko Stuebner};
24231390eb8SHeiko Stuebner
24331390eb8SHeiko Stuebner&cpu_b1 {
24431390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_big0_s0>;
24531390eb8SHeiko Stuebner};
24631390eb8SHeiko Stuebner
24731390eb8SHeiko Stuebner&cpu_b2 {
24831390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_big1_s0>;
24931390eb8SHeiko Stuebner};
25031390eb8SHeiko Stuebner
25131390eb8SHeiko Stuebner&cpu_b3 {
25231390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_big1_s0>;
25331390eb8SHeiko Stuebner};
25431390eb8SHeiko Stuebner
25531390eb8SHeiko Stuebner&cpu_l0 {
25631390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_lit_s0>;
25731390eb8SHeiko Stuebner};
25831390eb8SHeiko Stuebner
25931390eb8SHeiko Stuebner&cpu_l1 {
26031390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_lit_s0>;
26131390eb8SHeiko Stuebner};
26231390eb8SHeiko Stuebner
26331390eb8SHeiko Stuebner&cpu_l2 {
26431390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_lit_s0>;
26531390eb8SHeiko Stuebner};
26631390eb8SHeiko Stuebner
26731390eb8SHeiko Stuebner&cpu_l3 {
26831390eb8SHeiko Stuebner	cpu-supply = <&vdd_cpu_lit_s0>;
26931390eb8SHeiko Stuebner};
27031390eb8SHeiko Stuebner
27131390eb8SHeiko Stuebner&gpu {
27231390eb8SHeiko Stuebner	mali-supply = <&vdd_gpu_s0>;
27331390eb8SHeiko Stuebner	status = "okay";
27431390eb8SHeiko Stuebner};
27531390eb8SHeiko Stuebner
2763eac9319SJianfeng Liu&hdmi1 {
2773eac9319SJianfeng Liu	pinctrl-0 = <&hdmim0_tx1_cec &hdmim0_tx1_hpd
2783eac9319SJianfeng Liu		     &hdmim1_tx1_scl &hdmim1_tx1_sda>;
2793eac9319SJianfeng Liu	status = "okay";
2803eac9319SJianfeng Liu};
2813eac9319SJianfeng Liu
2823eac9319SJianfeng Liu&hdmi1_in {
2833eac9319SJianfeng Liu	hdmi1_in_vp1: endpoint {
2843eac9319SJianfeng Liu		remote-endpoint = <&vp1_out_hdmi1>;
2853eac9319SJianfeng Liu	};
2863eac9319SJianfeng Liu};
2873eac9319SJianfeng Liu
2883eac9319SJianfeng Liu&hdmi1_out {
2893eac9319SJianfeng Liu	hdmi1_out_con: endpoint {
2903eac9319SJianfeng Liu		remote-endpoint = <&hdmi1_con_in>;
2913eac9319SJianfeng Liu	};
2923eac9319SJianfeng Liu};
2933eac9319SJianfeng Liu
2943eac9319SJianfeng Liu&hdptxphy1 {
2953eac9319SJianfeng Liu	status = "okay";
2963eac9319SJianfeng Liu};
2973eac9319SJianfeng Liu
29831390eb8SHeiko Stuebner&i2c0 {
29931390eb8SHeiko Stuebner	pinctrl-names = "default";
30031390eb8SHeiko Stuebner	pinctrl-0 = <&i2c0m2_xfer>;
30131390eb8SHeiko Stuebner	status = "okay";
30231390eb8SHeiko Stuebner
30331390eb8SHeiko Stuebner	vdd_cpu_big0_s0: regulator@42 {
30431390eb8SHeiko Stuebner		compatible = "rockchip,rk8602";
30531390eb8SHeiko Stuebner		reg = <0x42>;
30631390eb8SHeiko Stuebner		fcs,suspend-voltage-selector = <1>;
30731390eb8SHeiko Stuebner		regulator-name = "vdd_cpu_big0_s0";
30831390eb8SHeiko Stuebner		regulator-always-on;
30931390eb8SHeiko Stuebner		regulator-boot-on;
31031390eb8SHeiko Stuebner		regulator-min-microvolt = <550000>;
31131390eb8SHeiko Stuebner		regulator-max-microvolt = <1050000>;
31231390eb8SHeiko Stuebner		regulator-ramp-delay = <2300>;
31331390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
31431390eb8SHeiko Stuebner
31531390eb8SHeiko Stuebner		regulator-state-mem {
31631390eb8SHeiko Stuebner			regulator-off-in-suspend;
31731390eb8SHeiko Stuebner		};
31831390eb8SHeiko Stuebner	};
31931390eb8SHeiko Stuebner
32031390eb8SHeiko Stuebner	vdd_cpu_big1_s0: regulator@43 {
32131390eb8SHeiko Stuebner		compatible = "rockchip,rk8603", "rockchip,rk8602";
32231390eb8SHeiko Stuebner		reg = <0x43>;
32331390eb8SHeiko Stuebner		fcs,suspend-voltage-selector = <1>;
32431390eb8SHeiko Stuebner		regulator-name = "vdd_cpu_big1_s0";
32531390eb8SHeiko Stuebner		regulator-always-on;
32631390eb8SHeiko Stuebner		regulator-boot-on;
32731390eb8SHeiko Stuebner		regulator-min-microvolt = <550000>;
32831390eb8SHeiko Stuebner		regulator-max-microvolt = <1050000>;
32931390eb8SHeiko Stuebner		regulator-ramp-delay = <2300>;
33031390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
33131390eb8SHeiko Stuebner
33231390eb8SHeiko Stuebner		regulator-state-mem {
33331390eb8SHeiko Stuebner			regulator-off-in-suspend;
33431390eb8SHeiko Stuebner		};
33531390eb8SHeiko Stuebner	};
33631390eb8SHeiko Stuebner};
33731390eb8SHeiko Stuebner
33831390eb8SHeiko Stuebner&i2c1 {
33931390eb8SHeiko Stuebner	pinctrl-names = "default";
34031390eb8SHeiko Stuebner	pinctrl-0 = <&i2c1m2_xfer>;
34131390eb8SHeiko Stuebner	status = "okay";
34231390eb8SHeiko Stuebner
34331390eb8SHeiko Stuebner	vdd_npu_s0: regulator@42 {
34431390eb8SHeiko Stuebner		compatible = "rockchip,rk8602";
34531390eb8SHeiko Stuebner		reg = <0x42>;
34631390eb8SHeiko Stuebner		fcs,suspend-voltage-selector = <1>;
34731390eb8SHeiko Stuebner		regulator-name = "vdd_npu_s0";
34831390eb8SHeiko Stuebner		regulator-always-on;
34931390eb8SHeiko Stuebner		regulator-boot-on;
35031390eb8SHeiko Stuebner		regulator-min-microvolt = <550000>;
35131390eb8SHeiko Stuebner		regulator-max-microvolt = <950000>;
35231390eb8SHeiko Stuebner		regulator-ramp-delay = <2300>;
35331390eb8SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
35431390eb8SHeiko Stuebner
35531390eb8SHeiko Stuebner		regulator-state-mem {
35631390eb8SHeiko Stuebner			regulator-off-in-suspend;
35731390eb8SHeiko Stuebner		};
35831390eb8SHeiko Stuebner	};
35931390eb8SHeiko Stuebner};
36031390eb8SHeiko Stuebner
36131390eb8SHeiko Stuebner/* CAM0 connector */
36231390eb8SHeiko Stuebner&i2c3 {
36331390eb8SHeiko Stuebner	pinctrl-names = "default";
36431390eb8SHeiko Stuebner	pinctrl-0 = <&i2c3m0_xfer>;
36531390eb8SHeiko Stuebner};
36631390eb8SHeiko Stuebner
36731390eb8SHeiko Stuebner/* M.2 E-key */
36831390eb8SHeiko Stuebner&i2c4 {
36931390eb8SHeiko Stuebner	pinctrl-names = "default";
37031390eb8SHeiko Stuebner	pinctrl-0 = <&i2c4m1_xfer>;
37131390eb8SHeiko Stuebner};
37231390eb8SHeiko Stuebner
37331390eb8SHeiko Stuebner/* RTC and LCD0 connector */
37431390eb8SHeiko Stuebner&i2c6 {
37531390eb8SHeiko Stuebner	pinctrl-names = "default";
37631390eb8SHeiko Stuebner	pinctrl-0 = <&i2c6m0_xfer>;
37731390eb8SHeiko Stuebner	status = "okay";
37831390eb8SHeiko Stuebner
37931390eb8SHeiko Stuebner	hym8563: rtc@51 {
38031390eb8SHeiko Stuebner		compatible = "haoyu,hym8563";
38131390eb8SHeiko Stuebner		reg = <0x51>;
38231390eb8SHeiko Stuebner		#clock-cells = <0>;
38331390eb8SHeiko Stuebner		clock-output-names = "wifi_32kout";
38431390eb8SHeiko Stuebner		interrupt-parent = <&gpio0>;
38531390eb8SHeiko Stuebner		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
38631390eb8SHeiko Stuebner		pinctrl-names = "default";
38731390eb8SHeiko Stuebner		pinctrl-0 = <&rtc_int>;
38831390eb8SHeiko Stuebner	};
38931390eb8SHeiko Stuebner};
39031390eb8SHeiko Stuebner
39131390eb8SHeiko Stuebner/* Audio codec and CAM1 connector */
39231390eb8SHeiko Stuebner&i2c7 {
39331390eb8SHeiko Stuebner	pinctrl-names = "default";
39431390eb8SHeiko Stuebner	pinctrl-0 = <&i2c7m0_xfer>;
39531390eb8SHeiko Stuebner	status = "okay";
39631390eb8SHeiko Stuebner
39731390eb8SHeiko Stuebner	es8316: audio-codec@11 {
39831390eb8SHeiko Stuebner		compatible = "everest,es8316";
39931390eb8SHeiko Stuebner		reg = <0x11>;
40031390eb8SHeiko Stuebner		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
40131390eb8SHeiko Stuebner		assigned-clock-rates = <12288000>;
40231390eb8SHeiko Stuebner		clocks = <&cru I2S0_8CH_MCLKOUT>;
40331390eb8SHeiko Stuebner		clock-names = "mclk";
40431390eb8SHeiko Stuebner		#sound-dai-cells = <0>;
40531390eb8SHeiko Stuebner
40631390eb8SHeiko Stuebner		port {
40731390eb8SHeiko Stuebner			es8316_p0_0: endpoint {
40831390eb8SHeiko Stuebner				remote-endpoint = <&i2s0_8ch_p0_0>;
40931390eb8SHeiko Stuebner			};
41031390eb8SHeiko Stuebner		};
41131390eb8SHeiko Stuebner	};
41231390eb8SHeiko Stuebner};
41331390eb8SHeiko Stuebner
41431390eb8SHeiko Stuebner/* FUSB302 and LCD1 connector */
41531390eb8SHeiko Stuebner&i2c8 {
41631390eb8SHeiko Stuebner	pinctrl-names = "default";
41731390eb8SHeiko Stuebner	pinctrl-0 = <&i2c8m4_xfer>;
41831390eb8SHeiko Stuebner	status = "okay";
41931390eb8SHeiko Stuebner
42031390eb8SHeiko Stuebner	usbc0: usb-typec@22 {
42131390eb8SHeiko Stuebner		compatible = "fcs,fusb302";
42231390eb8SHeiko Stuebner		reg = <0x22>;
42331390eb8SHeiko Stuebner		interrupt-parent = <&gpio3>;
42431390eb8SHeiko Stuebner		interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
42531390eb8SHeiko Stuebner		pinctrl-names = "default";
42631390eb8SHeiko Stuebner		pinctrl-0 = <&usbc0_int>;
42731390eb8SHeiko Stuebner		vbus-supply = <&typec_vin>;
42831390eb8SHeiko Stuebner
42931390eb8SHeiko Stuebner		usb_con: connector {
43031390eb8SHeiko Stuebner			compatible = "usb-c-connector";
43131390eb8SHeiko Stuebner			data-role = "dual";
43231390eb8SHeiko Stuebner			label = "USB-C";
43331390eb8SHeiko Stuebner			power-role = "source";
43431390eb8SHeiko Stuebner			source-pdos =
43531390eb8SHeiko Stuebner				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
43631390eb8SHeiko Stuebner
43731390eb8SHeiko Stuebner			ports {
43831390eb8SHeiko Stuebner				#address-cells = <1>;
43931390eb8SHeiko Stuebner				#size-cells = <0>;
44031390eb8SHeiko Stuebner
44131390eb8SHeiko Stuebner				port@0 {
44231390eb8SHeiko Stuebner					reg = <0>;
44331390eb8SHeiko Stuebner
44431390eb8SHeiko Stuebner					usbc0_orien_sw: endpoint {
44531390eb8SHeiko Stuebner						remote-endpoint = <&usbdp_phy0_orientation_switch>;
44631390eb8SHeiko Stuebner					};
44731390eb8SHeiko Stuebner				};
44831390eb8SHeiko Stuebner
44931390eb8SHeiko Stuebner				port@1 {
45031390eb8SHeiko Stuebner					reg = <1>;
45131390eb8SHeiko Stuebner
45231390eb8SHeiko Stuebner					usbc0_role_sw: endpoint {
45331390eb8SHeiko Stuebner						remote-endpoint = <&dwc3_0_role_switch>;
45431390eb8SHeiko Stuebner					};
45531390eb8SHeiko Stuebner				};
45631390eb8SHeiko Stuebner
45731390eb8SHeiko Stuebner				port@2 {
45831390eb8SHeiko Stuebner					reg = <2>;
45931390eb8SHeiko Stuebner
46031390eb8SHeiko Stuebner					dp_altmode_mux: endpoint {
46131390eb8SHeiko Stuebner						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
46231390eb8SHeiko Stuebner					};
46331390eb8SHeiko Stuebner				};
46431390eb8SHeiko Stuebner			};
46531390eb8SHeiko Stuebner		};
46631390eb8SHeiko Stuebner	};
46731390eb8SHeiko Stuebner};
46831390eb8SHeiko Stuebner
46931390eb8SHeiko Stuebner&i2c8m4_xfer {
47031390eb8SHeiko Stuebner	rockchip,pins =
47131390eb8SHeiko Stuebner		/* i2c8_scl_m4 */
47231390eb8SHeiko Stuebner		<3 RK_PC2 9 &pcfg_pull_up_drv_level_6>,
47331390eb8SHeiko Stuebner		/* i2c8_sda_m4 */
47431390eb8SHeiko Stuebner		<3 RK_PC3 9 &pcfg_pull_up_drv_level_6>;
47531390eb8SHeiko Stuebner};
47631390eb8SHeiko Stuebner
47731390eb8SHeiko Stuebner&i2s0_8ch {
47831390eb8SHeiko Stuebner	pinctrl-names = "default";
47931390eb8SHeiko Stuebner	pinctrl-0 = <&i2s0_lrck
48031390eb8SHeiko Stuebner		     &i2s0_mclk
48131390eb8SHeiko Stuebner		     &i2s0_sclk
48231390eb8SHeiko Stuebner		     &i2s0_sdi0
48331390eb8SHeiko Stuebner		     &i2s0_sdo0>;
48431390eb8SHeiko Stuebner	status = "okay";
48531390eb8SHeiko Stuebner
48631390eb8SHeiko Stuebner	i2s0_8ch_p0: port {
48731390eb8SHeiko Stuebner		i2s0_8ch_p0_0: endpoint {
48831390eb8SHeiko Stuebner			dai-format = "i2s";
48931390eb8SHeiko Stuebner			mclk-fs = <256>;
49031390eb8SHeiko Stuebner			remote-endpoint = <&es8316_p0_0>;
49131390eb8SHeiko Stuebner		};
49231390eb8SHeiko Stuebner	};
49331390eb8SHeiko Stuebner};
49431390eb8SHeiko Stuebner
49531390eb8SHeiko Stuebner&package_thermal {
49631390eb8SHeiko Stuebner	polling-delay = <1000>;
49731390eb8SHeiko Stuebner
49831390eb8SHeiko Stuebner	trips {
49931390eb8SHeiko Stuebner		package_fan0: package-fan0 {
50031390eb8SHeiko Stuebner			hysteresis = <2000>;
50131390eb8SHeiko Stuebner			temperature = <50000>;
50231390eb8SHeiko Stuebner			type = "active";
50331390eb8SHeiko Stuebner		};
50431390eb8SHeiko Stuebner
50531390eb8SHeiko Stuebner		package_fan1: package-fan1 {
50631390eb8SHeiko Stuebner			hysteresis = <2000>;
50731390eb8SHeiko Stuebner			temperature = <65000>;
50831390eb8SHeiko Stuebner			type = "active";
50931390eb8SHeiko Stuebner		};
51031390eb8SHeiko Stuebner	};
51131390eb8SHeiko Stuebner
51231390eb8SHeiko Stuebner	cooling-maps {
51331390eb8SHeiko Stuebner		map0 {
51431390eb8SHeiko Stuebner			cooling-device = <&fan0 THERMAL_NO_LIMIT 1>;
51531390eb8SHeiko Stuebner			trip = <&package_fan0>;
51631390eb8SHeiko Stuebner		};
51731390eb8SHeiko Stuebner		map1 {
51831390eb8SHeiko Stuebner			cooling-device = <&fan0 2 THERMAL_NO_LIMIT>;
51931390eb8SHeiko Stuebner			trip = <&package_fan1>;
52031390eb8SHeiko Stuebner		};
52131390eb8SHeiko Stuebner	};
52231390eb8SHeiko Stuebner};
52331390eb8SHeiko Stuebner
52431390eb8SHeiko Stuebner/* M.2 E-key */
52531390eb8SHeiko Stuebner&pcie2x1l0 {
52631390eb8SHeiko Stuebner	pinctrl-names = "default";
52731390eb8SHeiko Stuebner	pinctrl-0 = <&pcie30x1_0_perstn_m1_l>;
52831390eb8SHeiko Stuebner	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
52931390eb8SHeiko Stuebner	vpcie3v3-supply = <&vcc3v3_ekey>;
53031390eb8SHeiko Stuebner	status = "okay";
53131390eb8SHeiko Stuebner};
53231390eb8SHeiko Stuebner
53331390eb8SHeiko Stuebner/* RTL8125B_1 */
53431390eb8SHeiko Stuebner&pcie2x1l1 {
53531390eb8SHeiko Stuebner	pinctrl-names = "default";
53631390eb8SHeiko Stuebner	pinctrl-0 = <&pcie30x1_1_perstn>;
53731390eb8SHeiko Stuebner	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
53831390eb8SHeiko Stuebner	vpcie3v3-supply = <&vcc3v3_lan>;
53931390eb8SHeiko Stuebner	status = "okay";
54031390eb8SHeiko Stuebner};
54131390eb8SHeiko Stuebner
54231390eb8SHeiko Stuebner/* RTL8125B_2 */
54331390eb8SHeiko Stuebner&pcie2x1l2 {
54431390eb8SHeiko Stuebner	pinctrl-names = "default";
54531390eb8SHeiko Stuebner	pinctrl-0 = <&pcie20x1_2_perstn>;
54631390eb8SHeiko Stuebner	reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
54731390eb8SHeiko Stuebner	vpcie3v3-supply = <&vcc3v3_lan_phy2>;
54831390eb8SHeiko Stuebner	status = "okay";
54931390eb8SHeiko Stuebner};
55031390eb8SHeiko Stuebner
55131390eb8SHeiko Stuebner&pcie30phy {
55231390eb8SHeiko Stuebner	data-lanes = <1 1 2 2>;
55331390eb8SHeiko Stuebner	/* separate clock lines from the clock generator to phy and devices */
55431390eb8SHeiko Stuebner	rockchip,rx-common-refclk-mode = <0 0 0 0>;
55531390eb8SHeiko Stuebner	status = "okay";
55631390eb8SHeiko Stuebner};
55731390eb8SHeiko Stuebner
55831390eb8SHeiko Stuebner/* ASMedia ASM1164 Sata controller */
55931390eb8SHeiko Stuebner&pcie3x2 {
560e684f024SHeiko Stuebner	/*
561e684f024SHeiko Stuebner	 * The board has a "pcie_refclk" oscillator that needs enabling,
562e684f024SHeiko Stuebner	 * so add it to the list of clocks.
563e684f024SHeiko Stuebner	 */
564e684f024SHeiko Stuebner	clocks = <&cru ACLK_PCIE_2L_MSTR>, <&cru ACLK_PCIE_2L_SLV>,
565e684f024SHeiko Stuebner		 <&cru ACLK_PCIE_2L_DBI>, <&cru PCLK_PCIE_2L>,
566e684f024SHeiko Stuebner		 <&cru CLK_PCIE_AUX1>, <&cru CLK_PCIE2L_PIPE>,
567e684f024SHeiko Stuebner		 <&pcie30_port1_refclk>;
568e684f024SHeiko Stuebner	clock-names = "aclk_mst", "aclk_slv",
569e684f024SHeiko Stuebner		      "aclk_dbi", "pclk",
570e684f024SHeiko Stuebner		      "aux", "pipe",
571e684f024SHeiko Stuebner		      "ref";
57231390eb8SHeiko Stuebner	pinctrl-names = "default";
57331390eb8SHeiko Stuebner	pinctrl-0 = <&pcie30x2_perstn_m1_l>;
57431390eb8SHeiko Stuebner	reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
57531390eb8SHeiko Stuebner	vpcie3v3-supply = <&vcc33_io64>;
57631390eb8SHeiko Stuebner	status = "okay";
57731390eb8SHeiko Stuebner};
57831390eb8SHeiko Stuebner
57931390eb8SHeiko Stuebner/* M.2 M.key */
58031390eb8SHeiko Stuebner&pcie3x4 {
581e684f024SHeiko Stuebner	/*
582e684f024SHeiko Stuebner	 * The board has a "pcie_refclk" oscillator that needs enabling,
583e684f024SHeiko Stuebner	 * so add it to the list of clocks.
584e684f024SHeiko Stuebner	 */
585e684f024SHeiko Stuebner	clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,
586e684f024SHeiko Stuebner		 <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,
587e684f024SHeiko Stuebner		 <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>,
588e684f024SHeiko Stuebner		 <&pcie30_port0_refclk>;
589e684f024SHeiko Stuebner	clock-names = "aclk_mst", "aclk_slv",
590e684f024SHeiko Stuebner		      "aclk_dbi", "pclk",
591e684f024SHeiko Stuebner		      "aux", "pipe",
592e684f024SHeiko Stuebner		      "ref";
59331390eb8SHeiko Stuebner	num-lanes = <2>;
59431390eb8SHeiko Stuebner	pinctrl-names = "default";
59531390eb8SHeiko Stuebner	pinctrl-0 = <&pcie30x4_perstn_m1_l>;
59631390eb8SHeiko Stuebner	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
59731390eb8SHeiko Stuebner	vpcie3v3-supply = <&vcc3v3_mkey>;
59831390eb8SHeiko Stuebner	status = "okay";
59931390eb8SHeiko Stuebner};
60031390eb8SHeiko Stuebner
601*f94500ebSSebastian Reichel&pd_gpu {
602*f94500ebSSebastian Reichel	domain-supply = <&vdd_gpu_s0>;
603*f94500ebSSebastian Reichel};
604*f94500ebSSebastian Reichel
60531390eb8SHeiko Stuebner&pinctrl {
60631390eb8SHeiko Stuebner	hym8563 {
60731390eb8SHeiko Stuebner		rtc_int: rtc-int {
60831390eb8SHeiko Stuebner			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
60931390eb8SHeiko Stuebner		};
61031390eb8SHeiko Stuebner	};
61131390eb8SHeiko Stuebner
61231390eb8SHeiko Stuebner	leds {
61331390eb8SHeiko Stuebner		led_pins: led-pins {
61431390eb8SHeiko Stuebner			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>,
61531390eb8SHeiko Stuebner					<0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
61631390eb8SHeiko Stuebner		};
61731390eb8SHeiko Stuebner	};
61831390eb8SHeiko Stuebner
61931390eb8SHeiko Stuebner	pcie {
62031390eb8SHeiko Stuebner		pcie20x1_2_perstn: pcie20x1-2-perstn {
62131390eb8SHeiko Stuebner			rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
62231390eb8SHeiko Stuebner		};
62331390eb8SHeiko Stuebner
62431390eb8SHeiko Stuebner		pcie30x1_0_perstn_m1_l: pcie30x1-0-perstn-m1-l {
62531390eb8SHeiko Stuebner			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
62631390eb8SHeiko Stuebner		};
62731390eb8SHeiko Stuebner
62831390eb8SHeiko Stuebner		pcie30x1_1_perstn: pcie30x1-1-perstn {
62931390eb8SHeiko Stuebner			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
63031390eb8SHeiko Stuebner		};
63131390eb8SHeiko Stuebner
63231390eb8SHeiko Stuebner		pcie30x2_perstn_m1_l: pcie30x2-perstn-m1-l {
63331390eb8SHeiko Stuebner			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
63431390eb8SHeiko Stuebner		};
63531390eb8SHeiko Stuebner
63631390eb8SHeiko Stuebner		pcie30x4_perstn_m1_l: pcie30x4-perstn-m1-l {
63731390eb8SHeiko Stuebner			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
63831390eb8SHeiko Stuebner		};
63931390eb8SHeiko Stuebner
64031390eb8SHeiko Stuebner		ekey_en: ekey-en {
64131390eb8SHeiko Stuebner			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_down>;
64231390eb8SHeiko Stuebner		};
64331390eb8SHeiko Stuebner
64431390eb8SHeiko Stuebner		pcie30x4_pwren_h: pcie30x4-pwren-h {
64531390eb8SHeiko Stuebner			rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
64631390eb8SHeiko Stuebner		};
64731390eb8SHeiko Stuebner	};
64831390eb8SHeiko Stuebner
64931390eb8SHeiko Stuebner	sound {
65031390eb8SHeiko Stuebner		hp_detect: hp-detect {
65131390eb8SHeiko Stuebner			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>;
65231390eb8SHeiko Stuebner		};
65331390eb8SHeiko Stuebner	};
65431390eb8SHeiko Stuebner
65531390eb8SHeiko Stuebner	usb {
65631390eb8SHeiko Stuebner		usb_host_pwren_h: usb-host-pwren-h {
65731390eb8SHeiko Stuebner			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
65831390eb8SHeiko Stuebner		};
65931390eb8SHeiko Stuebner
66031390eb8SHeiko Stuebner		vcc5v0_otg_en: vcc5v0-otg-en {
66131390eb8SHeiko Stuebner			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
66231390eb8SHeiko Stuebner		};
66331390eb8SHeiko Stuebner
66431390eb8SHeiko Stuebner		gl3523_reset: rl3523-reset {
66531390eb8SHeiko Stuebner			rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
66631390eb8SHeiko Stuebner		};
66731390eb8SHeiko Stuebner	};
66831390eb8SHeiko Stuebner
66931390eb8SHeiko Stuebner	usb-typec {
67031390eb8SHeiko Stuebner		usbc0_int: usbc0-int {
67131390eb8SHeiko Stuebner			rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
67231390eb8SHeiko Stuebner		};
67331390eb8SHeiko Stuebner
67431390eb8SHeiko Stuebner		vbus5v0_typec_en: vbus5v0-typec-en {
67531390eb8SHeiko Stuebner			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
67631390eb8SHeiko Stuebner		};
67731390eb8SHeiko Stuebner	};
67831390eb8SHeiko Stuebner
67931390eb8SHeiko Stuebner	hdmirx {
68031390eb8SHeiko Stuebner		hdmirx_det: hdmirx-det {
68131390eb8SHeiko Stuebner			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
68231390eb8SHeiko Stuebner		};
68331390eb8SHeiko Stuebner	};
68431390eb8SHeiko Stuebner
68531390eb8SHeiko Stuebner	sdio-pwrseq {
68631390eb8SHeiko Stuebner		wifi_enable_h: wifi-enable-h {
68731390eb8SHeiko Stuebner			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
68831390eb8SHeiko Stuebner		};
68931390eb8SHeiko Stuebner	};
69031390eb8SHeiko Stuebner
69131390eb8SHeiko Stuebner	wireless-wlan {
69231390eb8SHeiko Stuebner		wifi_host_wake_irq: wifi-host-wake-irq {
69331390eb8SHeiko Stuebner			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
69431390eb8SHeiko Stuebner		};
69531390eb8SHeiko Stuebner	};
69631390eb8SHeiko Stuebner
69731390eb8SHeiko Stuebner	bt {
69831390eb8SHeiko Stuebner		bt_enable_h: bt-enable-h {
69931390eb8SHeiko Stuebner			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
70031390eb8SHeiko Stuebner		};
70131390eb8SHeiko Stuebner
70231390eb8SHeiko Stuebner		bt_host_wake_l: bt-host-wake-l {
70331390eb8SHeiko Stuebner			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
70431390eb8SHeiko Stuebner		};
70531390eb8SHeiko Stuebner
70631390eb8SHeiko Stuebner		bt_wake_l: bt-wake-l {
70731390eb8SHeiko Stuebner			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
70831390eb8SHeiko Stuebner		};
70931390eb8SHeiko Stuebner	};
71031390eb8SHeiko Stuebner
71131390eb8SHeiko Stuebner	dp {
71231390eb8SHeiko Stuebner		dp1_hpd: dp1-hpd {
71331390eb8SHeiko Stuebner			rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
71431390eb8SHeiko Stuebner		};
71531390eb8SHeiko Stuebner	};
71631390eb8SHeiko Stuebner};
71731390eb8SHeiko Stuebner
71831390eb8SHeiko Stuebner&pwm14 {
71931390eb8SHeiko Stuebner	pinctrl-names = "default";
72031390eb8SHeiko Stuebner	pinctrl-0 = <&pwm14m1_pins>;
72131390eb8SHeiko Stuebner	status = "okay";
72231390eb8SHeiko Stuebner};
72331390eb8SHeiko Stuebner
72431390eb8SHeiko Stuebner&saradc {
72531390eb8SHeiko Stuebner	vref-supply = <&avcc_1v8_s0>;
72631390eb8SHeiko Stuebner	status = "okay";
72731390eb8SHeiko Stuebner};
72831390eb8SHeiko Stuebner
72931390eb8SHeiko Stuebner&sdhci {
73031390eb8SHeiko Stuebner	bus-width = <8>;
731b36402e4SJianfeng Liu	max-frequency = <150000000>;
73231390eb8SHeiko Stuebner	mmc-hs400-1_8v;
73331390eb8SHeiko Stuebner	mmc-hs400-enhanced-strobe;
73431390eb8SHeiko Stuebner	no-sdio;
73531390eb8SHeiko Stuebner	no-sd;
73631390eb8SHeiko Stuebner	non-removable;
73731390eb8SHeiko Stuebner	status = "okay";
73831390eb8SHeiko Stuebner};
73931390eb8SHeiko Stuebner
74031390eb8SHeiko Stuebner&sdmmc {
74131390eb8SHeiko Stuebner	bus-width = <4>;
74231390eb8SHeiko Stuebner	cap-mmc-highspeed;
74331390eb8SHeiko Stuebner	cap-sd-highspeed;
74431390eb8SHeiko Stuebner	disable-wp;
74531390eb8SHeiko Stuebner	max-frequency = <200000000>;
74631390eb8SHeiko Stuebner	no-sdio;
74731390eb8SHeiko Stuebner	no-mmc;
74831390eb8SHeiko Stuebner	pinctrl-names = "default";
74931390eb8SHeiko Stuebner	pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
75031390eb8SHeiko Stuebner	sd-uhs-sdr104;
75131390eb8SHeiko Stuebner	vmmc-supply = <&vcc_3v3_s3>;
75231390eb8SHeiko Stuebner	vqmmc-supply = <&vccio_sd_s0>;
75331390eb8SHeiko Stuebner	status = "okay";
75431390eb8SHeiko Stuebner};
75531390eb8SHeiko Stuebner
75631390eb8SHeiko Stuebner/* M.2 E-KEY */
75731390eb8SHeiko Stuebner&sdio {
75831390eb8SHeiko Stuebner	broken-cd;
75931390eb8SHeiko Stuebner	bus-width = <4>;
76031390eb8SHeiko Stuebner	cap-sdio-irq;
76131390eb8SHeiko Stuebner	keep-power-in-suspend;
76231390eb8SHeiko Stuebner	max-frequency = <150000000>;
76331390eb8SHeiko Stuebner	mmc-pwrseq = <&sdio_pwrseq>;
76431390eb8SHeiko Stuebner	no-sd;
76531390eb8SHeiko Stuebner	no-mmc;
76631390eb8SHeiko Stuebner	non-removable;
76731390eb8SHeiko Stuebner	pinctrl-names = "default";
76831390eb8SHeiko Stuebner	pinctrl-0 = <&sdiom0_pins>;
76931390eb8SHeiko Stuebner	sd-uhs-sdr104;
77031390eb8SHeiko Stuebner	vmmc-supply = <&vcc3v3_ekey>;
77131390eb8SHeiko Stuebner	status = "okay";
77231390eb8SHeiko Stuebner};
77331390eb8SHeiko Stuebner
77431390eb8SHeiko Stuebner&sfc {
77531390eb8SHeiko Stuebner	pinctrl-names = "default";
77631390eb8SHeiko Stuebner	pinctrl-0 = <&fspim2_pins>;
77731390eb8SHeiko Stuebner	status = "okay";
77831390eb8SHeiko Stuebner
77931390eb8SHeiko Stuebner	spi_flash: flash@0 {
78031390eb8SHeiko Stuebner		compatible = "jedec,spi-nor";
78131390eb8SHeiko Stuebner		reg = <0x0>;
78231390eb8SHeiko Stuebner		spi-max-frequency = <50000000>;
78331390eb8SHeiko Stuebner		spi-rx-bus-width = <4>;
78431390eb8SHeiko Stuebner		spi-tx-bus-width = <1>;
78531390eb8SHeiko Stuebner	};
78631390eb8SHeiko Stuebner};
78731390eb8SHeiko Stuebner
78831390eb8SHeiko Stuebner&spi2 {
78931390eb8SHeiko Stuebner	status = "okay";
79031390eb8SHeiko Stuebner	assigned-clocks = <&cru CLK_SPI2>;
79131390eb8SHeiko Stuebner	assigned-clock-rates = <200000000>;
79231390eb8SHeiko Stuebner	num-cs = <1>;
79331390eb8SHeiko Stuebner	pinctrl-names = "default";
79431390eb8SHeiko Stuebner	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
79531390eb8SHeiko Stuebner
79631390eb8SHeiko Stuebner	pmic@0 {
79731390eb8SHeiko Stuebner		compatible = "rockchip,rk806";
79831390eb8SHeiko Stuebner		reg = <0x0>;
79931390eb8SHeiko Stuebner		gpio-controller;
80031390eb8SHeiko Stuebner		#gpio-cells = <2>;
80131390eb8SHeiko Stuebner		interrupt-parent = <&gpio0>;
80231390eb8SHeiko Stuebner		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
80331390eb8SHeiko Stuebner		pinctrl-names = "default";
80431390eb8SHeiko Stuebner		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
80531390eb8SHeiko Stuebner			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
80631390eb8SHeiko Stuebner		spi-max-frequency = <1000000>;
80731390eb8SHeiko Stuebner		system-power-controller;
80831390eb8SHeiko Stuebner
80931390eb8SHeiko Stuebner		vcc1-supply = <&vcc5v0_sys>;
81031390eb8SHeiko Stuebner		vcc2-supply = <&vcc5v0_sys>;
81131390eb8SHeiko Stuebner		vcc3-supply = <&vcc5v0_sys>;
81231390eb8SHeiko Stuebner		vcc4-supply = <&vcc5v0_sys>;
81331390eb8SHeiko Stuebner		vcc5-supply = <&vcc5v0_sys>;
81431390eb8SHeiko Stuebner		vcc6-supply = <&vcc5v0_sys>;
81531390eb8SHeiko Stuebner		vcc7-supply = <&vcc5v0_sys>;
81631390eb8SHeiko Stuebner		vcc8-supply = <&vcc5v0_sys>;
81731390eb8SHeiko Stuebner		vcc9-supply = <&vcc5v0_sys>;
81831390eb8SHeiko Stuebner		vcc10-supply = <&vcc5v0_sys>;
81931390eb8SHeiko Stuebner		vcc11-supply = <&vcc_2v0_pldo_s3>;
82031390eb8SHeiko Stuebner		vcc12-supply = <&vcc5v0_sys>;
82131390eb8SHeiko Stuebner		vcc13-supply = <&vcc_1v1_nldo_s3>;
82231390eb8SHeiko Stuebner		vcc14-supply = <&vcc_1v1_nldo_s3>;
82331390eb8SHeiko Stuebner		vcca-supply = <&vcc5v0_sys>;
82431390eb8SHeiko Stuebner
82531390eb8SHeiko Stuebner		rk806_dvs1_null: dvs1-null-pins {
82631390eb8SHeiko Stuebner			pins = "gpio_pwrctrl1";
82731390eb8SHeiko Stuebner			function = "pin_fun0";
82831390eb8SHeiko Stuebner		};
82931390eb8SHeiko Stuebner
83031390eb8SHeiko Stuebner		rk806_dvs2_null: dvs2-null-pins {
83131390eb8SHeiko Stuebner			pins = "gpio_pwrctrl2";
83231390eb8SHeiko Stuebner			function = "pin_fun0";
83331390eb8SHeiko Stuebner		};
83431390eb8SHeiko Stuebner
83531390eb8SHeiko Stuebner		rk806_dvs3_null: dvs3-null-pins {
83631390eb8SHeiko Stuebner			pins = "gpio_pwrctrl3";
83731390eb8SHeiko Stuebner			function = "pin_fun0";
83831390eb8SHeiko Stuebner		};
83931390eb8SHeiko Stuebner
84031390eb8SHeiko Stuebner		regulators {
84131390eb8SHeiko Stuebner			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
84231390eb8SHeiko Stuebner				regulator-boot-on;
84331390eb8SHeiko Stuebner				regulator-min-microvolt = <550000>;
84431390eb8SHeiko Stuebner				regulator-max-microvolt = <950000>;
84531390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
84631390eb8SHeiko Stuebner				regulator-name = "vdd_gpu_s0";
84731390eb8SHeiko Stuebner				regulator-enable-ramp-delay = <400>;
84831390eb8SHeiko Stuebner
84931390eb8SHeiko Stuebner				regulator-state-mem {
85031390eb8SHeiko Stuebner					regulator-off-in-suspend;
85131390eb8SHeiko Stuebner				};
85231390eb8SHeiko Stuebner			};
85331390eb8SHeiko Stuebner
85431390eb8SHeiko Stuebner			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
85531390eb8SHeiko Stuebner				regulator-always-on;
85631390eb8SHeiko Stuebner				regulator-boot-on;
85731390eb8SHeiko Stuebner				regulator-min-microvolt = <550000>;
85831390eb8SHeiko Stuebner				regulator-max-microvolt = <950000>;
85931390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
86031390eb8SHeiko Stuebner				regulator-name = "vdd_cpu_lit_s0";
86131390eb8SHeiko Stuebner
86231390eb8SHeiko Stuebner				regulator-state-mem {
86331390eb8SHeiko Stuebner					regulator-off-in-suspend;
86431390eb8SHeiko Stuebner				};
86531390eb8SHeiko Stuebner			};
86631390eb8SHeiko Stuebner
86731390eb8SHeiko Stuebner			vdd_log_s0: dcdc-reg3 {
86831390eb8SHeiko Stuebner				regulator-always-on;
86931390eb8SHeiko Stuebner				regulator-boot-on;
87031390eb8SHeiko Stuebner				regulator-min-microvolt = <675000>;
87131390eb8SHeiko Stuebner				regulator-max-microvolt = <750000>;
87231390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
87331390eb8SHeiko Stuebner				regulator-name = "vdd_log_s0";
87431390eb8SHeiko Stuebner
87531390eb8SHeiko Stuebner				regulator-state-mem {
87631390eb8SHeiko Stuebner					regulator-on-in-suspend;
87731390eb8SHeiko Stuebner					regulator-suspend-microvolt = <750000>;
87831390eb8SHeiko Stuebner				};
87931390eb8SHeiko Stuebner			};
88031390eb8SHeiko Stuebner
88131390eb8SHeiko Stuebner			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
88231390eb8SHeiko Stuebner				regulator-always-on;
88331390eb8SHeiko Stuebner				regulator-boot-on;
88431390eb8SHeiko Stuebner				regulator-min-microvolt = <550000>;
88531390eb8SHeiko Stuebner				regulator-max-microvolt = <950000>;
88631390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
88731390eb8SHeiko Stuebner				regulator-name = "vdd_vdenc_s0";
88831390eb8SHeiko Stuebner
88931390eb8SHeiko Stuebner				regulator-state-mem {
89031390eb8SHeiko Stuebner					regulator-off-in-suspend;
89131390eb8SHeiko Stuebner				};
89231390eb8SHeiko Stuebner			};
89331390eb8SHeiko Stuebner
89431390eb8SHeiko Stuebner			vdd_ddr_s0: dcdc-reg5 {
89531390eb8SHeiko Stuebner				regulator-always-on;
89631390eb8SHeiko Stuebner				regulator-boot-on;
89731390eb8SHeiko Stuebner				regulator-min-microvolt = <675000>;
89831390eb8SHeiko Stuebner				regulator-max-microvolt = <900000>;
89931390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
90031390eb8SHeiko Stuebner				regulator-name = "vdd_ddr_s0";
90131390eb8SHeiko Stuebner
90231390eb8SHeiko Stuebner				regulator-state-mem {
90331390eb8SHeiko Stuebner					regulator-off-in-suspend;
90431390eb8SHeiko Stuebner					regulator-suspend-microvolt = <850000>;
90531390eb8SHeiko Stuebner				};
90631390eb8SHeiko Stuebner			};
90731390eb8SHeiko Stuebner
90831390eb8SHeiko Stuebner			vdd2_ddr_s3: dcdc-reg6 {
90931390eb8SHeiko Stuebner				regulator-always-on;
91031390eb8SHeiko Stuebner				regulator-boot-on;
91131390eb8SHeiko Stuebner				regulator-name = "vdd2_ddr_s3";
91231390eb8SHeiko Stuebner
91331390eb8SHeiko Stuebner				regulator-state-mem {
91431390eb8SHeiko Stuebner					regulator-on-in-suspend;
91531390eb8SHeiko Stuebner				};
91631390eb8SHeiko Stuebner			};
91731390eb8SHeiko Stuebner
91831390eb8SHeiko Stuebner			vcc_2v0_pldo_s3: dcdc-reg7 {
91931390eb8SHeiko Stuebner				regulator-always-on;
92031390eb8SHeiko Stuebner				regulator-boot-on;
92131390eb8SHeiko Stuebner				regulator-min-microvolt = <2000000>;
92231390eb8SHeiko Stuebner				regulator-max-microvolt = <2000000>;
92331390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
92431390eb8SHeiko Stuebner				regulator-name = "vdd_2v0_pldo_s3";
92531390eb8SHeiko Stuebner
92631390eb8SHeiko Stuebner				regulator-state-mem {
92731390eb8SHeiko Stuebner					regulator-on-in-suspend;
92831390eb8SHeiko Stuebner					regulator-suspend-microvolt = <2000000>;
92931390eb8SHeiko Stuebner				};
93031390eb8SHeiko Stuebner			};
93131390eb8SHeiko Stuebner
93231390eb8SHeiko Stuebner			vcc_3v3_s3: dcdc-reg8 {
93331390eb8SHeiko Stuebner				regulator-always-on;
93431390eb8SHeiko Stuebner				regulator-boot-on;
93531390eb8SHeiko Stuebner				regulator-min-microvolt = <3300000>;
93631390eb8SHeiko Stuebner				regulator-max-microvolt = <3300000>;
93731390eb8SHeiko Stuebner				regulator-name = "vcc_3v3_s3";
93831390eb8SHeiko Stuebner
93931390eb8SHeiko Stuebner				regulator-state-mem {
94031390eb8SHeiko Stuebner					regulator-on-in-suspend;
94131390eb8SHeiko Stuebner					regulator-suspend-microvolt = <3300000>;
94231390eb8SHeiko Stuebner				};
94331390eb8SHeiko Stuebner			};
94431390eb8SHeiko Stuebner
94531390eb8SHeiko Stuebner			vddq_ddr_s0: dcdc-reg9 {
94631390eb8SHeiko Stuebner				regulator-always-on;
94731390eb8SHeiko Stuebner				regulator-boot-on;
94831390eb8SHeiko Stuebner				regulator-name = "vddq_ddr_s0";
94931390eb8SHeiko Stuebner
95031390eb8SHeiko Stuebner				regulator-state-mem {
95131390eb8SHeiko Stuebner					regulator-off-in-suspend;
95231390eb8SHeiko Stuebner				};
95331390eb8SHeiko Stuebner			};
95431390eb8SHeiko Stuebner
95531390eb8SHeiko Stuebner			vcc_1v8_s3: dcdc-reg10 {
95631390eb8SHeiko Stuebner				regulator-always-on;
95731390eb8SHeiko Stuebner				regulator-boot-on;
95831390eb8SHeiko Stuebner				regulator-min-microvolt = <1800000>;
95931390eb8SHeiko Stuebner				regulator-max-microvolt = <1800000>;
96031390eb8SHeiko Stuebner				regulator-name = "vcc_1v8_s3";
96131390eb8SHeiko Stuebner
96231390eb8SHeiko Stuebner				regulator-state-mem {
96331390eb8SHeiko Stuebner					regulator-on-in-suspend;
96431390eb8SHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
96531390eb8SHeiko Stuebner				};
96631390eb8SHeiko Stuebner			};
96731390eb8SHeiko Stuebner
96831390eb8SHeiko Stuebner			avcc_1v8_s0: pldo-reg1 {
96931390eb8SHeiko Stuebner				regulator-always-on;
97031390eb8SHeiko Stuebner				regulator-boot-on;
97131390eb8SHeiko Stuebner				regulator-min-microvolt = <1800000>;
97231390eb8SHeiko Stuebner				regulator-max-microvolt = <1800000>;
97331390eb8SHeiko Stuebner				regulator-name = "avcc_1v8_s0";
97431390eb8SHeiko Stuebner
97531390eb8SHeiko Stuebner				regulator-state-mem {
97631390eb8SHeiko Stuebner					regulator-on-in-suspend;
97731390eb8SHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
97831390eb8SHeiko Stuebner				};
97931390eb8SHeiko Stuebner			};
98031390eb8SHeiko Stuebner
98131390eb8SHeiko Stuebner			vcc_1v8_s0: pldo-reg2 {
98231390eb8SHeiko Stuebner				regulator-always-on;
98331390eb8SHeiko Stuebner				regulator-boot-on;
98431390eb8SHeiko Stuebner				regulator-min-microvolt = <1800000>;
98531390eb8SHeiko Stuebner				regulator-max-microvolt = <1800000>;
98631390eb8SHeiko Stuebner				regulator-name = "vcc_1v8_s0";
98731390eb8SHeiko Stuebner
98831390eb8SHeiko Stuebner				regulator-state-mem {
98931390eb8SHeiko Stuebner					regulator-on-in-suspend;
99031390eb8SHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
99131390eb8SHeiko Stuebner				};
99231390eb8SHeiko Stuebner			};
99331390eb8SHeiko Stuebner
99431390eb8SHeiko Stuebner			avdd_1v2_s0: pldo-reg3 {
99531390eb8SHeiko Stuebner				regulator-always-on;
99631390eb8SHeiko Stuebner				regulator-boot-on;
99731390eb8SHeiko Stuebner				regulator-min-microvolt = <1200000>;
99831390eb8SHeiko Stuebner				regulator-max-microvolt = <1200000>;
99931390eb8SHeiko Stuebner				regulator-name = "avdd_1v2_s0";
100031390eb8SHeiko Stuebner
100131390eb8SHeiko Stuebner				regulator-state-mem {
100231390eb8SHeiko Stuebner					regulator-off-in-suspend;
100331390eb8SHeiko Stuebner				};
100431390eb8SHeiko Stuebner			};
100531390eb8SHeiko Stuebner
100631390eb8SHeiko Stuebner			vcc_3v3_s0: pldo-reg4 {
100731390eb8SHeiko Stuebner				regulator-always-on;
100831390eb8SHeiko Stuebner				regulator-boot-on;
100931390eb8SHeiko Stuebner				regulator-min-microvolt = <3300000>;
101031390eb8SHeiko Stuebner				regulator-max-microvolt = <3300000>;
101131390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
101231390eb8SHeiko Stuebner				regulator-name = "vcc_3v3_s0";
101331390eb8SHeiko Stuebner
101431390eb8SHeiko Stuebner				regulator-state-mem {
101531390eb8SHeiko Stuebner					regulator-on-in-suspend;
101631390eb8SHeiko Stuebner					regulator-suspend-microvolt = <3300000>;
101731390eb8SHeiko Stuebner				};
101831390eb8SHeiko Stuebner			};
101931390eb8SHeiko Stuebner
102031390eb8SHeiko Stuebner			vccio_sd_s0: pldo-reg5 {
102131390eb8SHeiko Stuebner				regulator-always-on;
102231390eb8SHeiko Stuebner				regulator-boot-on;
102331390eb8SHeiko Stuebner				regulator-min-microvolt = <1800000>;
102431390eb8SHeiko Stuebner				regulator-max-microvolt = <3300000>;
102531390eb8SHeiko Stuebner				regulator-ramp-delay = <12500>;
102631390eb8SHeiko Stuebner				regulator-name = "vccio_sd_s0";
102731390eb8SHeiko Stuebner
102831390eb8SHeiko Stuebner				regulator-state-mem {
102931390eb8SHeiko Stuebner					regulator-off-in-suspend;
103031390eb8SHeiko Stuebner				};
103131390eb8SHeiko Stuebner			};
103231390eb8SHeiko Stuebner
103331390eb8SHeiko Stuebner			pldo6_s3: pldo-reg6 {
103431390eb8SHeiko Stuebner				regulator-always-on;
103531390eb8SHeiko Stuebner				regulator-boot-on;
103631390eb8SHeiko Stuebner				regulator-min-microvolt = <1800000>;
103731390eb8SHeiko Stuebner				regulator-max-microvolt = <1800000>;
103831390eb8SHeiko Stuebner				regulator-name = "pldo6_s3";
103931390eb8SHeiko Stuebner
104031390eb8SHeiko Stuebner				regulator-state-mem {
104131390eb8SHeiko Stuebner					regulator-on-in-suspend;
104231390eb8SHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
104331390eb8SHeiko Stuebner				};
104431390eb8SHeiko Stuebner			};
104531390eb8SHeiko Stuebner
104631390eb8SHeiko Stuebner			vdd_0v75_s3: nldo-reg1 {
104731390eb8SHeiko Stuebner				regulator-always-on;
104831390eb8SHeiko Stuebner				regulator-boot-on;
104931390eb8SHeiko Stuebner				regulator-min-microvolt = <750000>;
105031390eb8SHeiko Stuebner				regulator-max-microvolt = <750000>;
105131390eb8SHeiko Stuebner				regulator-name = "vdd_0v75_s3";
105231390eb8SHeiko Stuebner
105331390eb8SHeiko Stuebner				regulator-state-mem {
105431390eb8SHeiko Stuebner					regulator-on-in-suspend;
105531390eb8SHeiko Stuebner					regulator-suspend-microvolt = <750000>;
105631390eb8SHeiko Stuebner				};
105731390eb8SHeiko Stuebner			};
105831390eb8SHeiko Stuebner
105931390eb8SHeiko Stuebner			vdd_ddr_pll_s0: nldo-reg2 {
106031390eb8SHeiko Stuebner				regulator-always-on;
106131390eb8SHeiko Stuebner				regulator-boot-on;
106231390eb8SHeiko Stuebner				regulator-min-microvolt = <850000>;
106331390eb8SHeiko Stuebner				regulator-max-microvolt = <850000>;
106431390eb8SHeiko Stuebner				regulator-name = "vdd_ddr_pll_s0";
106531390eb8SHeiko Stuebner
106631390eb8SHeiko Stuebner				regulator-state-mem {
106731390eb8SHeiko Stuebner					regulator-on-in-suspend;
106831390eb8SHeiko Stuebner					regulator-suspend-microvolt = <850000>;
106931390eb8SHeiko Stuebner				};
107031390eb8SHeiko Stuebner			};
107131390eb8SHeiko Stuebner
107231390eb8SHeiko Stuebner			avdd_0v75_s0: nldo-reg3 {
107331390eb8SHeiko Stuebner				regulator-always-on;
107431390eb8SHeiko Stuebner				regulator-boot-on;
107531390eb8SHeiko Stuebner				regulator-min-microvolt = <750000>;
107631390eb8SHeiko Stuebner				regulator-max-microvolt = <750000>;
107731390eb8SHeiko Stuebner				regulator-name = "avdd_0v75_s0";
107831390eb8SHeiko Stuebner
107931390eb8SHeiko Stuebner				regulator-state-mem {
108031390eb8SHeiko Stuebner					regulator-off-in-suspend;
108131390eb8SHeiko Stuebner				};
108231390eb8SHeiko Stuebner			};
108331390eb8SHeiko Stuebner
108431390eb8SHeiko Stuebner			vdd_0v85_s0: nldo-reg4 {
108531390eb8SHeiko Stuebner				regulator-always-on;
108631390eb8SHeiko Stuebner				regulator-boot-on;
108731390eb8SHeiko Stuebner				regulator-min-microvolt = <850000>;
108831390eb8SHeiko Stuebner				regulator-max-microvolt = <850000>;
108931390eb8SHeiko Stuebner				regulator-name = "vdd_0v85_s0";
109031390eb8SHeiko Stuebner
109131390eb8SHeiko Stuebner				regulator-state-mem {
109231390eb8SHeiko Stuebner					regulator-on-in-suspend;
109331390eb8SHeiko Stuebner					regulator-suspend-microvolt = <837500>;
109431390eb8SHeiko Stuebner				};
109531390eb8SHeiko Stuebner			};
109631390eb8SHeiko Stuebner
109731390eb8SHeiko Stuebner			vdd_0v75_s0: nldo-reg5 {
109831390eb8SHeiko Stuebner				regulator-always-on;
109931390eb8SHeiko Stuebner				regulator-boot-on;
110031390eb8SHeiko Stuebner				regulator-min-microvolt = <750000>;
110131390eb8SHeiko Stuebner				regulator-max-microvolt = <750000>;
110231390eb8SHeiko Stuebner				regulator-name = "vdd_0v75_s0";
110331390eb8SHeiko Stuebner
110431390eb8SHeiko Stuebner				regulator-state-mem {
110531390eb8SHeiko Stuebner					regulator-on-in-suspend;
110631390eb8SHeiko Stuebner					regulator-suspend-microvolt = <750000>;
110731390eb8SHeiko Stuebner				};
110831390eb8SHeiko Stuebner			};
110931390eb8SHeiko Stuebner		};
111031390eb8SHeiko Stuebner	};
111131390eb8SHeiko Stuebner};
111231390eb8SHeiko Stuebner
111331390eb8SHeiko Stuebner&tsadc {
111431390eb8SHeiko Stuebner	status = "okay";
111531390eb8SHeiko Stuebner};
111631390eb8SHeiko Stuebner
111731390eb8SHeiko Stuebner&uart2 {
111831390eb8SHeiko Stuebner	pinctrl-0 = <&uart2m0_xfer>;
111931390eb8SHeiko Stuebner	status = "okay";
112031390eb8SHeiko Stuebner};
112131390eb8SHeiko Stuebner
112231390eb8SHeiko Stuebner/* Connected to M.2 E-key */
112331390eb8SHeiko Stuebner&uart6 {
112431390eb8SHeiko Stuebner	pinctrl-names = "default";
112531390eb8SHeiko Stuebner	pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
112631390eb8SHeiko Stuebner	status = "okay";
112731390eb8SHeiko Stuebner};
112831390eb8SHeiko Stuebner
112931390eb8SHeiko Stuebner&u2phy0 {
113031390eb8SHeiko Stuebner	status = "okay";
113131390eb8SHeiko Stuebner};
113231390eb8SHeiko Stuebner
113331390eb8SHeiko Stuebner&u2phy0_otg {
113431390eb8SHeiko Stuebner	status = "okay";
113531390eb8SHeiko Stuebner};
113631390eb8SHeiko Stuebner
113731390eb8SHeiko Stuebner&u2phy1 {
113831390eb8SHeiko Stuebner	status = "okay";
113931390eb8SHeiko Stuebner};
114031390eb8SHeiko Stuebner
114131390eb8SHeiko Stuebner&u2phy1_otg {
114231390eb8SHeiko Stuebner	/* connected to USB3 hub, which is powered by vcc5v0_usb12 */
114331390eb8SHeiko Stuebner	phy-supply = <&vcc5v0_usb12>;
114431390eb8SHeiko Stuebner	status = "okay";
114531390eb8SHeiko Stuebner};
114631390eb8SHeiko Stuebner
114731390eb8SHeiko Stuebner&u2phy2 {
114831390eb8SHeiko Stuebner	status = "okay";
114931390eb8SHeiko Stuebner};
115031390eb8SHeiko Stuebner
115131390eb8SHeiko Stuebner&u2phy2_host {
115231390eb8SHeiko Stuebner	/* connected to USB2 hub, which is powered by vcc5v0_usb20 */
115331390eb8SHeiko Stuebner	phy-supply = <&vcc5v0_usb20>;
115431390eb8SHeiko Stuebner	status = "okay";
115531390eb8SHeiko Stuebner};
115631390eb8SHeiko Stuebner
115731390eb8SHeiko Stuebner&u2phy3 {
115831390eb8SHeiko Stuebner	status = "okay";
115931390eb8SHeiko Stuebner};
116031390eb8SHeiko Stuebner
116131390eb8SHeiko Stuebner&u2phy3_host {
116231390eb8SHeiko Stuebner	phy-supply = <&vcc5v0_usb20>;
116331390eb8SHeiko Stuebner	status = "okay";
116431390eb8SHeiko Stuebner};
116531390eb8SHeiko Stuebner
116631390eb8SHeiko Stuebner&usb_host0_ehci {
116731390eb8SHeiko Stuebner	status = "okay";
116831390eb8SHeiko Stuebner};
116931390eb8SHeiko Stuebner
117031390eb8SHeiko Stuebner&usb_host0_ohci {
117131390eb8SHeiko Stuebner	status = "okay";
117231390eb8SHeiko Stuebner};
117331390eb8SHeiko Stuebner
117431390eb8SHeiko Stuebner&usb_host1_ehci {
117531390eb8SHeiko Stuebner	status = "okay";
117631390eb8SHeiko Stuebner};
117731390eb8SHeiko Stuebner
117831390eb8SHeiko Stuebner&usb_host1_ohci {
117931390eb8SHeiko Stuebner	status = "okay";
118031390eb8SHeiko Stuebner};
118131390eb8SHeiko Stuebner
118231390eb8SHeiko Stuebner&usb_host0_xhci {
118331390eb8SHeiko Stuebner	usb-role-switch;
118431390eb8SHeiko Stuebner	status = "okay";
118531390eb8SHeiko Stuebner
118631390eb8SHeiko Stuebner	port {
118731390eb8SHeiko Stuebner		#address-cells = <1>;
118831390eb8SHeiko Stuebner		#size-cells = <0>;
118931390eb8SHeiko Stuebner
119031390eb8SHeiko Stuebner		dwc3_0_role_switch: endpoint@0 {
119131390eb8SHeiko Stuebner			reg = <0>;
119231390eb8SHeiko Stuebner			remote-endpoint = <&usbc0_role_sw>;
119331390eb8SHeiko Stuebner		};
119431390eb8SHeiko Stuebner	};
119531390eb8SHeiko Stuebner};
119631390eb8SHeiko Stuebner
119731390eb8SHeiko Stuebner&usb_host1_xhci {
119831390eb8SHeiko Stuebner	dr_mode = "host";
119931390eb8SHeiko Stuebner	#address-cells = <1>;
120031390eb8SHeiko Stuebner	#size-cells = <0>;
120131390eb8SHeiko Stuebner	status = "okay";
120231390eb8SHeiko Stuebner
120331390eb8SHeiko Stuebner	/* 2.0 hub on port 1 */
120431390eb8SHeiko Stuebner	hub_2_0: hub@1 {
120531390eb8SHeiko Stuebner		compatible = "usb5e3,610";
120631390eb8SHeiko Stuebner		reg = <1>;
120731390eb8SHeiko Stuebner		peer-hub = <&hub_3_0>;
120831390eb8SHeiko Stuebner		vdd-supply = <&vcc_3v3_s3>;
120931390eb8SHeiko Stuebner	};
121031390eb8SHeiko Stuebner
121131390eb8SHeiko Stuebner	/* 3.0 hub on port 4 */
121231390eb8SHeiko Stuebner	hub_3_0: hub@2 {
121331390eb8SHeiko Stuebner		compatible = "usb5e3,620";
121431390eb8SHeiko Stuebner		reg = <2>;
121531390eb8SHeiko Stuebner		peer-hub = <&hub_2_0>;
121631390eb8SHeiko Stuebner		pinctrl-names = "default";
121731390eb8SHeiko Stuebner		pinctrl-0 = <&gl3523_reset>;
121831390eb8SHeiko Stuebner		reset-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
121931390eb8SHeiko Stuebner		vdd-supply = <&vcc_3v3_s3>;
122031390eb8SHeiko Stuebner	};
122131390eb8SHeiko Stuebner};
122231390eb8SHeiko Stuebner
122331390eb8SHeiko Stuebner&usbdp_phy0 {
122431390eb8SHeiko Stuebner	mode-switch;
122531390eb8SHeiko Stuebner	orientation-switch;
122631390eb8SHeiko Stuebner	sbu1-dc-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>;
122731390eb8SHeiko Stuebner	sbu2-dc-gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_HIGH>;
122831390eb8SHeiko Stuebner	status = "okay";
122931390eb8SHeiko Stuebner
123031390eb8SHeiko Stuebner	port {
123131390eb8SHeiko Stuebner		#address-cells = <1>;
123231390eb8SHeiko Stuebner		#size-cells = <0>;
123331390eb8SHeiko Stuebner		usbdp_phy0_orientation_switch: endpoint@0 {
123431390eb8SHeiko Stuebner			reg = <0>;
123531390eb8SHeiko Stuebner			remote-endpoint = <&usbc0_orien_sw>;
123631390eb8SHeiko Stuebner		};
123731390eb8SHeiko Stuebner
123831390eb8SHeiko Stuebner		usbdp_phy0_dp_altmode_mux: endpoint@1 {
123931390eb8SHeiko Stuebner			reg = <1>;
124031390eb8SHeiko Stuebner			remote-endpoint = <&dp_altmode_mux>;
124131390eb8SHeiko Stuebner		};
124231390eb8SHeiko Stuebner	};
124331390eb8SHeiko Stuebner};
124431390eb8SHeiko Stuebner
124531390eb8SHeiko Stuebner&usbdp_phy1 {
124631390eb8SHeiko Stuebner	rockchip,dp-lane-mux = <2 3>;
124731390eb8SHeiko Stuebner	status = "okay";
124831390eb8SHeiko Stuebner};
12493eac9319SJianfeng Liu
12503eac9319SJianfeng Liu&vop {
12513eac9319SJianfeng Liu	status = "okay";
12523eac9319SJianfeng Liu};
12533eac9319SJianfeng Liu
12543eac9319SJianfeng Liu&vop_mmu {
12553eac9319SJianfeng Liu	status = "okay";
12563eac9319SJianfeng Liu};
12573eac9319SJianfeng Liu
12583eac9319SJianfeng Liu&vp1 {
12593eac9319SJianfeng Liu	vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
12603eac9319SJianfeng Liu		reg = <ROCKCHIP_VOP2_EP_HDMI1>;
12613eac9319SJianfeng Liu		remote-endpoint = <&hdmi1_in_vp1>;
12623eac9319SJianfeng Liu	};
12633eac9319SJianfeng Liu};
1264