// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
 * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
 * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org>
 */

/dts-v1/;
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/usb/pd.h>
#include <dt-bindings/leds/common.h>
#include "rk3399.dtsi"

/ {
	model = "Pine64 Pinebook Pro";
	compatible = "pine64,pinebook-pro", "rockchip,rk3399";
	chassis-type = "laptop";

	aliases {
		mmc0 = &sdio0;
		mmc1 = &sdmmc;
		mmc2 = &sdhci;
	};

	chosen {
		stdout-path = "serial2:1500000n8";
	};

	backlight: edp-backlight {
		compatible = "pwm-backlight";
		power-supply = <&vcc_12v>;
		pwms = <&pwm0 0 125000 0>;
	};

	bat: battery {
		compatible = "simple-battery";
		charge-full-design-microamp-hours = <10000000>;
		voltage-max-design-microvolt = <4350000>;
		voltage-min-design-microvolt = <3000000>;
	};

	edp_panel: edp-panel {
		compatible = "boe,nv140fhmn49";
		backlight = <&backlight>;
		enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&panel_en_pin>;
		power-supply = <&vcc3v3_panel>;

		port {
			panel_in_edp: endpoint {
				remote-endpoint = <&edp_out_panel>;
			};
		};
	};

	/*
	 * Use separate nodes for gpio-keys to allow for selective deactivation
	 * of wakeup sources via sysfs without disabling the whole key
	 */
	gpio-key-lid {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&lidbtn_pin>;

		switch-lid {
			debounce-interval = <20>;
			gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
			label = "Lid";
			linux,code = <SW_LID>;
			linux,input-type = <EV_SW>;
			wakeup-event-action = <EV_ACT_DEASSERTED>;
			wakeup-source;
		};
	};

	gpio-key-power {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&pwrbtn_pin>;

		key-power {
			debounce-interval = <20>;
			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
			label = "Power";
			linux,code = <KEY_POWER>;
			wakeup-source;
		};
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pwr_led_pin &slp_led_pin>;

		green_led: led-0 {
			color = <LED_COLOR_ID_GREEN>;
			default-state = "on";
			function = LED_FUNCTION_POWER;
			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
			label = "green:power";
		};

		red_led: led-1 {
			color = <LED_COLOR_ID_RED>;
			default-state = "off";
			function = LED_FUNCTION_STANDBY;
			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
			label = "red:standby";
			panic-indicator;
			retain-state-suspended;
		};
	};

	/* Power sequence for SDIO WiFi module */
	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		clocks = <&rk808 1>;
		clock-names = "ext_clock";
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_enable_h_pin>;
		post-power-on-delay-ms = <100>;
		power-off-delay-us = <500000>;

		/* WL_REG_ON on module */
		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
	};

	/* Audio components */
	es8316-sound {
		compatible = "simple-audio-card";
		pinctrl-names = "default";
		pinctrl-0 = <&hp_det_pin>;
		simple-audio-card,name = "rockchip,es8316-codec";
		simple-audio-card,format = "i2s";
		simple-audio-card,mclk-fs = <256>;

		simple-audio-card,widgets =
			"Microphone", "Mic Jack",
			"Headphone", "Headphones",
			"Speaker", "Speaker";
		simple-audio-card,routing =
			"MIC1", "Mic Jack",
			"Headphones", "HPOL",
			"Headphones", "HPOR",
			"Speaker Amplifier INL", "HPOL",
			"Speaker Amplifier INR", "HPOR",
			"Speaker", "Speaker Amplifier OUTL",
			"Speaker", "Speaker Amplifier OUTR";

		simple-audio-card,hp-det-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
		simple-audio-card,aux-devs = <&speaker_amp>;
		simple-audio-card,pin-switches = "Speaker";

		simple-audio-card,cpu {
			sound-dai = <&i2s1>;
		};

		simple-audio-card,codec {
			sound-dai = <&es8316>;
		};
	};

	speaker_amp: speaker-amplifier {
		compatible = "simple-audio-amplifier";
		enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
		sound-name-prefix = "Speaker Amplifier";
		VCC-supply = <&pa_5v>;
	};

	/* Power tree */
	/* Root power source */
	vcc_sysin: regulator-vcc-sysin {
		compatible = "regulator-fixed";
		regulator-name = "vcc_sysin";
		regulator-always-on;
		regulator-boot-on;
	};

	/* Regulators supplied by vcc_sysin */
	/* LCD backlight supply */
	vcc_12v: regulator-vcc-12v {
		compatible = "regulator-fixed";
		regulator-name = "vcc_12v";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
		vin-supply = <&vcc_sysin>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};

	/* Main 3.3 V supply */
	vcc3v3_sys: wifi_bat: regulator-vcc3v3-sys {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_sys";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_sysin>;

		regulator-state-mem {
			regulator-on-in-suspend;
		};
	};

	/* 5 V USB power supply */
	vcc5v0_usb: pa_5v: regulator-vcc5v0-usb {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pwr_5v_pin>;
		regulator-name = "vcc5v0_usb";
		regulator-always-on;
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_sysin>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};

	/* RK3399 logic supply */
	vdd_log: regulator-vdd-log {
		compatible = "pwm-regulator";
		pwms = <&pwm2 0 25000 1>;
		pwm-supply = <&vcc_sysin>;
		regulator-name = "vdd_log";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <800000>;
		regulator-max-microvolt = <1400000>;

		regulator-state-mem {
			regulator-on-in-suspend;
		};
	};

	/* Regulators supplied by vcc3v3_sys */
	/* 0.9 V supply, always on */
	vcc_0v9: regulator-vcc-0v9 {
		compatible = "regulator-fixed";
		regulator-name = "vcc_0v9";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <900000>;
		regulator-max-microvolt = <900000>;
		vin-supply = <&vcc3v3_sys>;
	};

	/* S3 1.8 V supply, switched by vcc1v8_s3 */
	vcca1v8_s3: regulator-vcc1v8-s3 {
		compatible = "regulator-fixed";
		regulator-name = "vcca1v8_s3";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&vcc3v3_sys>;
	};

	/* micro SD card power */
	vcc3v0_sd: regulator-vcc3v0-sd {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&sdmmc0_pwr_h_pin>;
		regulator-name = "vcc3v0_sd";
		regulator-always-on;
		regulator-min-microvolt = <3000000>;
		regulator-max-microvolt = <3000000>;
		vin-supply = <&vcc3v3_sys>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};

	/* LCD panel power, called VCC3V3_S0 in schematic */
	vcc3v3_panel: regulator-vcc3v3-panel {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&lcdvcc_en_pin>;
		regulator-name = "vcc3v3_panel";
		regulator-always-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-enable-ramp-delay = <100000>;
		vin-supply = <&vcc3v3_sys>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};

	/* M.2 adapter power, switched by vcc1v8_s3 */
	vcc3v3_ssd: regulator-vcc3v3-ssd {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_ssd";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc3v3_sys>;
	};

	/* Regulators supplied by vcc5v0_usb */
	/* USB 3 port power supply regulator  */
	vcc5v0_otg: regulator-vcc5v0-otg {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc5v0_host_en_pin>;
		regulator-name = "vcc5v0_otg";
		regulator-always-on;
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc5v0_usb>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};

	/* Regulators supplied by vcc5v0_usb */
	/* Type C port power supply regulator */
	vbus_5vout: vbus_typec: regulator-vbus-5vout {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc5v0_typec0_en_pin>;
		regulator-name = "vbus_5vout";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc5v0_usb>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};

	/* Regulators supplied by vcc_1v8 */
	/* Primary 0.9 V LDO */
	vcca0v9_s3: regulator-vcca0v9-s3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc0v9_s3";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_1v8>;

		regulator-state-mem {
			regulator-on-in-suspend;
		};
	};

	mains_charger: dc-charger {
		compatible = "gpio-charger";
		charger-type = "mains";
		gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;

		/* Also triggered by USB charger */
		pinctrl-names = "default";
		pinctrl-0 = <&dc_det_pin>;
	};
};

&cpu_b0 {
	cpu-supply = <&vdd_cpu_b>;
};

&cpu_b1 {
	cpu-supply = <&vdd_cpu_b>;
};

&cpu_l0 {
	cpu-supply = <&vdd_cpu_l>;
};

&cpu_l1 {
	cpu-supply = <&vdd_cpu_l>;
};

&cpu_l2 {
	cpu-supply = <&vdd_cpu_l>;
};

&cpu_l3 {
	cpu-supply = <&vdd_cpu_l>;
};

&edp {
	force-hpd;
	pinctrl-names = "default";
	pinctrl-0 = <&edp_hpd>;
	status = "okay";
};

&edp_out {
	edp_out_panel: endpoint {
		remote-endpoint = <&panel_in_edp>;
	};
};

&emmc_phy {
	status = "okay";
};

&gpu {
	mali-supply = <&vdd_gpu>;
	status = "okay";
};

&hdmi_sound {
	status = "okay";
};

&i2c0 {
	clock-frequency = <400000>;
	i2c-scl-falling-time-ns = <4>;
	i2c-scl-rising-time-ns = <168>;
	status = "okay";

	rk808: pmic@1b {
		compatible = "rockchip,rk808";
		reg = <0x1b>;
		#clock-cells = <1>;
		clock-output-names = "xin32k", "rk808-clkout2";
		interrupt-parent = <&gpio3>;
		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pmic_int_l_pin>;
		system-power-controller;
		wakeup-source;

		vcc1-supply = <&vcc_sysin>;
		vcc2-supply = <&vcc_sysin>;
		vcc3-supply = <&vcc_sysin>;
		vcc4-supply = <&vcc_sysin>;
		vcc6-supply = <&vcc_sysin>;
		vcc7-supply = <&vcc_sysin>;
		vcc8-supply = <&vcc3v3_sys>;
		vcc9-supply = <&vcc_sysin>;
		vcc10-supply = <&vcc_sysin>;
		vcc11-supply = <&vcc_sysin>;
		vcc12-supply = <&vcc3v3_sys>;

		regulators {
			/* rk3399 center logic supply */
			vdd_center: DCDC_REG1 {
				regulator-name = "vdd_center";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <6001>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_cpu_l: DCDC_REG2 {
				regulator-name = "vdd_cpu_l";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <6001>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_ddr: DCDC_REG3 {
				regulator-name = "vcc_ddr";
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vcc_1v8: vcc_wl: DCDC_REG4 {
				regulator-name = "vcc_1v8";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			/* not used */
			LDO_REG1 {
			};

			/* not used */
			LDO_REG2 {
			};

			vcc1v8_pmupll: LDO_REG3 {
				regulator-name = "vcc1v8_pmupll";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			vcc_sdio: LDO_REG4 {
				regulator-name = "vcc_sdio";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3000000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3000000>;
				};
			};

			vcca3v0_codec: LDO_REG5 {
				regulator-name = "vcca3v0_codec";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_1v5: LDO_REG6 {
				regulator-name = "vcc_1v5";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1500000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1500000>;
				};
			};

			vcca1v8_codec: LDO_REG7 {
				regulator-name = "vcca1v8_codec";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_3v0: LDO_REG8 {
				regulator-name = "vcc_3v0";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3000000>;
				};
			};

			vcc3v3_s3: SWITCH_REG1 {
				regulator-name = "vcc3v3_s3";
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc3v3_s0: SWITCH_REG2 {
				regulator-name = "vcc3v3_s0";
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};
		};
	};

	vdd_cpu_b: regulator@40 {
		compatible = "silergy,syr827";
		reg = <0x40>;
		fcs,suspend-voltage-selector = <1>;
		pinctrl-names = "default";
		pinctrl-0 = <&vsel1_pin>;
		regulator-name = "vdd_cpu_b";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <712500>;
		regulator-max-microvolt = <1500000>;
		regulator-ramp-delay = <1000>;
		vin-supply = <&vcc_1v8>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};

	vdd_gpu: regulator@41 {
		compatible = "silergy,syr828";
		reg = <0x41>;
		fcs,suspend-voltage-selector = <1>;
		pinctrl-names = "default";
		pinctrl-0 = <&vsel2_pin>;
		regulator-name = "vdd_gpu";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <712500>;
		regulator-max-microvolt = <1500000>;
		regulator-ramp-delay = <1000>;
		vin-supply = <&vcc_1v8>;

		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};
};

&i2c1 {
	clock-frequency = <100000>;
	i2c-scl-falling-time-ns = <4>;
	i2c-scl-rising-time-ns = <168>;
	status = "okay";

	es8316: audio-codec@11 {
		compatible = "everest,es8316";
		reg = <0x11>;
		clocks = <&cru SCLK_I2S_8CH_OUT>;
		clock-names = "mclk";
		#sound-dai-cells = <0>;
	};
};

&i2c3 {
	i2c-scl-falling-time-ns = <15>;
	i2c-scl-rising-time-ns = <450>;
	status = "okay";
};

&i2c4 {
	i2c-scl-falling-time-ns = <20>;
	i2c-scl-rising-time-ns = <600>;
	status = "okay";

	fusb0: fusb30x@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;
		interrupt-parent = <&gpio1>;
		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&fusb0_int_pin>;
		vbus-supply = <&vbus_typec>;

		connector {
			compatible = "usb-c-connector";
			data-role = "dual";
			label = "USB-C";
			op-sink-microwatt = <1000000>;
			power-role = "dual";
			sink-pdos =
				<PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
			source-pdos =
				<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
			try-power-role = "sink";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;

					usbc_hs: endpoint {
						remote-endpoint =
							<&u2phy0_typec_hs>;
					};
				};

				port@1 {
					reg = <1>;

					usbc_ss: endpoint {
						remote-endpoint =
							<&tcphy0_typec_ss>;
					};
				};

				port@2 {
					reg = <2>;

					usbc_dp: endpoint {
						remote-endpoint =
							<&tcphy0_typec_dp>;
					};
				};
			};
		};
	};

	cw2015@62 {
		compatible = "cellwise,cw2015";
		reg = <0x62>;
		cellwise,battery-profile = /bits/ 8 <
			0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
			0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
			0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
			0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
			0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
			0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
			0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
			0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
		>;
		cellwise,monitor-interval-ms = <5000>;
		monitored-battery = <&bat>;
		power-supplies = <&mains_charger>, <&fusb0>;
	};
};

&i2s1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
	rockchip,capture-channels = <8>;
	rockchip,playback-channels = <8>;
	status = "okay";
};

&io_domains {
	audio-supply = <&vcc_3v0>;
	gpio1830-supply = <&vcc_3v0>;
	sdmmc-supply = <&vcc_sdio>;
	status = "okay";
};

&pcie_phy {
	status = "okay";
};

&pcie0 {
	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
	num-lanes = <4>;
	pinctrl-names = "default";
	pinctrl-0 = <&pcie_clkreqn_cpm>;
	vpcie0v9-supply = <&vcca0v9_s3>;
	vpcie1v8-supply = <&vcca1v8_s3>;
	vpcie3v3-supply = <&vcc3v3_ssd>;
	status = "okay";
};

&pinctrl {
	buttons {
		pwrbtn_pin: pwrbtn-pin {
			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
		};

		lidbtn_pin: lidbtn-pin {
			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	dc-charger {
		dc_det_pin: dc-det-pin {
			rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	es8316 {
		hp_det_pin: hp-det-pin {
			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	fusb302x {
		fusb0_int_pin: fusb0-int-pin {
			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	i2s1 {
		i2s_8ch_mclk_pin: i2s-8ch-mclk-pin {
			rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
		};
	};

	lcd-panel {
		lcdvcc_en_pin: lcdvcc-en-pin {
			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		panel_en_pin: panel-en-pin {
			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		lcd_panel_reset_pin: lcd-panel-reset-pin {
			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	leds {
		pwr_led_pin: pwr-led-pin {
			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		slp_led_pin: slp-led-pin {
			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pmic {
		pmic_int_l_pin: pmic-int-l-pin {
			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
		};

		vsel1_pin: vsel1-pin {
			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
		};

		vsel2_pin: vsel2-pin {
			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
		};
	};

	sdcard {
		sdmmc0_pwr_h_pin: sdmmc0-pwr-h-pin {
			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
		};

	};

	sdio-pwrseq {
		wifi_enable_h_pin: wifi-enable-h-pin {
			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb-typec {
		vcc5v0_typec0_en_pin: vcc5v0-typec0-en-pin {
			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	usb2 {
		pwr_5v_pin: pwr-5v-pin {
			rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		vcc5v0_host_en_pin: vcc5v0-host-en-pin {
			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	wireless-bluetooth {
		bt_wake_pin: bt-wake-pin {
			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		bt_host_wake_pin: bt-host-wake-pin {
			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		bt_reset_pin: bt-reset-pin {
			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&pmu_io_domains {
	pmu1830-supply = <&vcc_3v0>;
	status = "okay";
};

&pwm0 {
	status = "okay";
};

&pwm2 {
	status = "okay";
};

&saradc {
	vref-supply = <&vcca1v8_s3>;
	status = "okay";
};

&sdmmc {
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
	disable-wp;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
	sd-uhs-sdr50;
	vmmc-supply = <&vcc3v0_sd>;
	vqmmc-supply = <&vcc_sdio>;
	status = "okay";
};

&sdio0 {
	bus-width = <4>;
	cap-sd-highspeed;
	cap-sdio-irq;
	keep-power-in-suspend;
	mmc-pwrseq = <&sdio_pwrseq>;
	non-removable;
	pinctrl-names = "default";
	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
	sd-uhs-sdr104;
	status = "okay";
};

&sdhci {
	bus-width = <8>;
	mmc-hs200-1_8v;
	non-removable;
	status = "okay";
};

&spi1 {
	max-freq = <10000000>;
	status = "okay";

	spiflash: flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		m25p,fast-read;
		spi-max-frequency = <10000000>;
	};
};

&tcphy0 {
	status = "okay";
};

&tcphy0_dp {
	port {
		tcphy0_typec_dp: endpoint {
			remote-endpoint = <&usbc_dp>;
		};
	};
};

&tcphy0_usb3 {
	port {
		tcphy0_typec_ss: endpoint {
			remote-endpoint = <&usbc_ss>;
		};
	};
};

&tcphy1 {
	status = "okay";
};

&tsadc {
	/* tshut mode 0:CRU 1:GPIO */
	rockchip,hw-tshut-mode = <1>;
	/* tshut polarity 0:LOW 1:HIGH */
	rockchip,hw-tshut-polarity = <1>;
	status = "okay";
};

&u2phy0 {
	status = "okay";

	u2phy0_otg: otg-port {
		status = "okay";
	};

	u2phy0_host: host-port {
		phy-supply = <&vcc5v0_otg>;
		status = "okay";
	};

	port {
		u2phy0_typec_hs: endpoint {
			remote-endpoint = <&usbc_hs>;
		};
	};
};

&u2phy1 {
	status = "okay";

	u2phy1_otg: otg-port {
		status = "okay";
	};

	u2phy1_host: host-port {
		phy-supply = <&vcc5v0_otg>;
		status = "okay";
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
	uart-has-rtscts;
	status = "okay";

	bluetooth {
		compatible = "brcm,bcm4345c5";
		clocks = <&rk808 1>;
		clock-names = "lpo";
		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
		max-speed = <1500000>;
		pinctrl-names = "default";
		pinctrl-0 = <&bt_host_wake_pin &bt_wake_pin &bt_reset_pin>;
		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
		vbat-supply = <&wifi_bat>;
		vddio-supply = <&vcc_wl>;
	};
};

&uart2 {
	status = "okay";
};

&usb_host0_ehci {
	status = "okay";
};

&usb_host0_ohci {
	status = "okay";
};

&usb_host1_ehci {
	status = "okay";
};

&usb_host1_ohci {
	status = "okay";
};

&usbdrd3_0 {
	status = "okay";
};

&usbdrd_dwc3_0 {
	dr_mode = "host";
	status = "okay";
};

&usbdrd3_1 {
	status = "okay";
};

&usbdrd_dwc3_1 {
	dr_mode = "host";
	status = "okay";
};

&vopb {
	status = "okay";
};

&vopb_mmu {
	status = "okay";
};

&vopl {
	status = "okay";
};

&vopl_mmu {
	status = "okay";
};
