162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
462306a36Sopenharmony_ci * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
562306a36Sopenharmony_ci * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/dts-v1/;
962306a36Sopenharmony_ci#include <dt-bindings/input/gpio-keys.h>
1062306a36Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h>
1162306a36Sopenharmony_ci#include <dt-bindings/pwm/pwm.h>
1262306a36Sopenharmony_ci#include <dt-bindings/usb/pd.h>
1362306a36Sopenharmony_ci#include <dt-bindings/leds/common.h>
1462306a36Sopenharmony_ci#include "rk3399.dtsi"
1562306a36Sopenharmony_ci#include "rk3399-opp.dtsi"
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci/ {
1862306a36Sopenharmony_ci	model = "Pine64 Pinebook Pro";
1962306a36Sopenharmony_ci	compatible = "pine64,pinebook-pro", "rockchip,rk3399";
2062306a36Sopenharmony_ci	chassis-type = "laptop";
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	aliases {
2362306a36Sopenharmony_ci		mmc0 = &sdio0;
2462306a36Sopenharmony_ci		mmc1 = &sdmmc;
2562306a36Sopenharmony_ci		mmc2 = &sdhci;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	chosen {
2962306a36Sopenharmony_ci		stdout-path = "serial2:1500000n8";
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	backlight: edp-backlight {
3362306a36Sopenharmony_ci		compatible = "pwm-backlight";
3462306a36Sopenharmony_ci		power-supply = <&vcc_12v>;
3562306a36Sopenharmony_ci		pwms = <&pwm0 0 740740 0>;
3662306a36Sopenharmony_ci	};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	bat: battery {
3962306a36Sopenharmony_ci		compatible = "simple-battery";
4062306a36Sopenharmony_ci		charge-full-design-microamp-hours = <9800000>;
4162306a36Sopenharmony_ci		voltage-max-design-microvolt = <4350000>;
4262306a36Sopenharmony_ci		voltage-min-design-microvolt = <3000000>;
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	edp_panel: edp-panel {
4662306a36Sopenharmony_ci		compatible = "boe,nv140fhmn49";
4762306a36Sopenharmony_ci		backlight = <&backlight>;
4862306a36Sopenharmony_ci		enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
4962306a36Sopenharmony_ci		pinctrl-names = "default";
5062306a36Sopenharmony_ci		pinctrl-0 = <&panel_en_pin>;
5162306a36Sopenharmony_ci		power-supply = <&vcc3v3_panel>;
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci		port {
5462306a36Sopenharmony_ci			panel_in_edp: endpoint {
5562306a36Sopenharmony_ci				remote-endpoint = <&edp_out_panel>;
5662306a36Sopenharmony_ci			};
5762306a36Sopenharmony_ci		};
5862306a36Sopenharmony_ci	};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	/*
6162306a36Sopenharmony_ci	 * Use separate nodes for gpio-keys to allow for selective deactivation
6262306a36Sopenharmony_ci	 * of wakeup sources via sysfs without disabling the whole key
6362306a36Sopenharmony_ci	 */
6462306a36Sopenharmony_ci	gpio-key-lid {
6562306a36Sopenharmony_ci		compatible = "gpio-keys";
6662306a36Sopenharmony_ci		pinctrl-names = "default";
6762306a36Sopenharmony_ci		pinctrl-0 = <&lidbtn_pin>;
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci		switch-lid {
7062306a36Sopenharmony_ci			debounce-interval = <20>;
7162306a36Sopenharmony_ci			gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
7262306a36Sopenharmony_ci			label = "Lid";
7362306a36Sopenharmony_ci			linux,code = <SW_LID>;
7462306a36Sopenharmony_ci			linux,input-type = <EV_SW>;
7562306a36Sopenharmony_ci			wakeup-event-action = <EV_ACT_DEASSERTED>;
7662306a36Sopenharmony_ci			wakeup-source;
7762306a36Sopenharmony_ci		};
7862306a36Sopenharmony_ci	};
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci	gpio-key-power {
8162306a36Sopenharmony_ci		compatible = "gpio-keys";
8262306a36Sopenharmony_ci		pinctrl-names = "default";
8362306a36Sopenharmony_ci		pinctrl-0 = <&pwrbtn_pin>;
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		key-power {
8662306a36Sopenharmony_ci			debounce-interval = <20>;
8762306a36Sopenharmony_ci			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
8862306a36Sopenharmony_ci			label = "Power";
8962306a36Sopenharmony_ci			linux,code = <KEY_POWER>;
9062306a36Sopenharmony_ci			wakeup-source;
9162306a36Sopenharmony_ci		};
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	leds {
9562306a36Sopenharmony_ci		compatible = "gpio-leds";
9662306a36Sopenharmony_ci		pinctrl-names = "default";
9762306a36Sopenharmony_ci		pinctrl-0 = <&pwr_led_pin &slp_led_pin>;
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci		green_led: led-0 {
10062306a36Sopenharmony_ci			color = <LED_COLOR_ID_GREEN>;
10162306a36Sopenharmony_ci			default-state = "on";
10262306a36Sopenharmony_ci			function = LED_FUNCTION_POWER;
10362306a36Sopenharmony_ci			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
10462306a36Sopenharmony_ci			label = "green:power";
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci		red_led: led-1 {
10862306a36Sopenharmony_ci			color = <LED_COLOR_ID_RED>;
10962306a36Sopenharmony_ci			default-state = "off";
11062306a36Sopenharmony_ci			function = LED_FUNCTION_STANDBY;
11162306a36Sopenharmony_ci			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
11262306a36Sopenharmony_ci			label = "red:standby";
11362306a36Sopenharmony_ci			panic-indicator;
11462306a36Sopenharmony_ci			retain-state-suspended;
11562306a36Sopenharmony_ci		};
11662306a36Sopenharmony_ci	};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	/* Power sequence for SDIO WiFi module */
11962306a36Sopenharmony_ci	sdio_pwrseq: sdio-pwrseq {
12062306a36Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
12162306a36Sopenharmony_ci		clocks = <&rk808 1>;
12262306a36Sopenharmony_ci		clock-names = "ext_clock";
12362306a36Sopenharmony_ci		pinctrl-names = "default";
12462306a36Sopenharmony_ci		pinctrl-0 = <&wifi_enable_h_pin>;
12562306a36Sopenharmony_ci		post-power-on-delay-ms = <100>;
12662306a36Sopenharmony_ci		power-off-delay-us = <500000>;
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		/* WL_REG_ON on module */
12962306a36Sopenharmony_ci		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
13062306a36Sopenharmony_ci	};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci	/* Audio components */
13362306a36Sopenharmony_ci	es8316-sound {
13462306a36Sopenharmony_ci		compatible = "simple-audio-card";
13562306a36Sopenharmony_ci		pinctrl-names = "default";
13662306a36Sopenharmony_ci		pinctrl-0 = <&hp_det_pin>;
13762306a36Sopenharmony_ci		simple-audio-card,name = "rockchip,es8316-codec";
13862306a36Sopenharmony_ci		simple-audio-card,format = "i2s";
13962306a36Sopenharmony_ci		simple-audio-card,mclk-fs = <256>;
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci		simple-audio-card,widgets =
14262306a36Sopenharmony_ci			"Microphone", "Mic Jack",
14362306a36Sopenharmony_ci			"Headphone", "Headphones",
14462306a36Sopenharmony_ci			"Speaker", "Speaker";
14562306a36Sopenharmony_ci		simple-audio-card,routing =
14662306a36Sopenharmony_ci			"MIC1", "Mic Jack",
14762306a36Sopenharmony_ci			"Headphones", "HPOL",
14862306a36Sopenharmony_ci			"Headphones", "HPOR",
14962306a36Sopenharmony_ci			"Speaker Amplifier INL", "HPOL",
15062306a36Sopenharmony_ci			"Speaker Amplifier INR", "HPOR",
15162306a36Sopenharmony_ci			"Speaker", "Speaker Amplifier OUTL",
15262306a36Sopenharmony_ci			"Speaker", "Speaker Amplifier OUTR";
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci		simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
15562306a36Sopenharmony_ci		simple-audio-card,aux-devs = <&speaker_amp>;
15662306a36Sopenharmony_ci		simple-audio-card,pin-switches = "Speaker";
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci		simple-audio-card,cpu {
15962306a36Sopenharmony_ci			sound-dai = <&i2s1>;
16062306a36Sopenharmony_ci		};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci		simple-audio-card,codec {
16362306a36Sopenharmony_ci			sound-dai = <&es8316>;
16462306a36Sopenharmony_ci		};
16562306a36Sopenharmony_ci	};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci	speaker_amp: speaker-amplifier {
16862306a36Sopenharmony_ci		compatible = "simple-audio-amplifier";
16962306a36Sopenharmony_ci		enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
17062306a36Sopenharmony_ci		sound-name-prefix = "Speaker Amplifier";
17162306a36Sopenharmony_ci		VCC-supply = <&pa_5v>;
17262306a36Sopenharmony_ci	};
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci	/* Power tree */
17562306a36Sopenharmony_ci	/* Root power source */
17662306a36Sopenharmony_ci	vcc_sysin: vcc-sysin {
17762306a36Sopenharmony_ci		compatible = "regulator-fixed";
17862306a36Sopenharmony_ci		regulator-name = "vcc_sysin";
17962306a36Sopenharmony_ci		regulator-always-on;
18062306a36Sopenharmony_ci		regulator-boot-on;
18162306a36Sopenharmony_ci	};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci	/* Regulators supplied by vcc_sysin */
18462306a36Sopenharmony_ci	/* LCD backlight supply */
18562306a36Sopenharmony_ci	vcc_12v: vcc-12v {
18662306a36Sopenharmony_ci		compatible = "regulator-fixed";
18762306a36Sopenharmony_ci		regulator-name = "vcc_12v";
18862306a36Sopenharmony_ci		regulator-always-on;
18962306a36Sopenharmony_ci		regulator-boot-on;
19062306a36Sopenharmony_ci		regulator-min-microvolt = <12000000>;
19162306a36Sopenharmony_ci		regulator-max-microvolt = <12000000>;
19262306a36Sopenharmony_ci		vin-supply = <&vcc_sysin>;
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci		regulator-state-mem {
19562306a36Sopenharmony_ci			regulator-off-in-suspend;
19662306a36Sopenharmony_ci		};
19762306a36Sopenharmony_ci	};
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci	/* Main 3.3 V supply */
20062306a36Sopenharmony_ci	vcc3v3_sys: wifi_bat: vcc3v3-sys {
20162306a36Sopenharmony_ci		compatible = "regulator-fixed";
20262306a36Sopenharmony_ci		regulator-name = "vcc3v3_sys";
20362306a36Sopenharmony_ci		regulator-always-on;
20462306a36Sopenharmony_ci		regulator-boot-on;
20562306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
20662306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
20762306a36Sopenharmony_ci		vin-supply = <&vcc_sysin>;
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci		regulator-state-mem {
21062306a36Sopenharmony_ci			regulator-on-in-suspend;
21162306a36Sopenharmony_ci		};
21262306a36Sopenharmony_ci	};
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci	/* 5 V USB power supply */
21562306a36Sopenharmony_ci	vcc5v0_usb: pa_5v: vcc5v0-usb-regulator {
21662306a36Sopenharmony_ci		compatible = "regulator-fixed";
21762306a36Sopenharmony_ci		enable-active-high;
21862306a36Sopenharmony_ci		gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
21962306a36Sopenharmony_ci		pinctrl-names = "default";
22062306a36Sopenharmony_ci		pinctrl-0 = <&pwr_5v_pin>;
22162306a36Sopenharmony_ci		regulator-name = "vcc5v0_usb";
22262306a36Sopenharmony_ci		regulator-always-on;
22362306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
22462306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
22562306a36Sopenharmony_ci		vin-supply = <&vcc_sysin>;
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci		regulator-state-mem {
22862306a36Sopenharmony_ci			regulator-off-in-suspend;
22962306a36Sopenharmony_ci		};
23062306a36Sopenharmony_ci	};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci	/* RK3399 logic supply */
23362306a36Sopenharmony_ci	vdd_log: vdd-log {
23462306a36Sopenharmony_ci		compatible = "pwm-regulator";
23562306a36Sopenharmony_ci		pwms = <&pwm2 0 25000 1>;
23662306a36Sopenharmony_ci		pwm-supply = <&vcc_sysin>;
23762306a36Sopenharmony_ci		regulator-name = "vdd_log";
23862306a36Sopenharmony_ci		regulator-always-on;
23962306a36Sopenharmony_ci		regulator-boot-on;
24062306a36Sopenharmony_ci		regulator-min-microvolt = <800000>;
24162306a36Sopenharmony_ci		regulator-max-microvolt = <1400000>;
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci		regulator-state-mem {
24462306a36Sopenharmony_ci			regulator-on-in-suspend;
24562306a36Sopenharmony_ci		};
24662306a36Sopenharmony_ci	};
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci	/* Regulators supplied by vcc3v3_sys */
24962306a36Sopenharmony_ci	/* 0.9 V supply, always on */
25062306a36Sopenharmony_ci	vcc_0v9: vcc-0v9 {
25162306a36Sopenharmony_ci		compatible = "regulator-fixed";
25262306a36Sopenharmony_ci		regulator-name = "vcc_0v9";
25362306a36Sopenharmony_ci		regulator-always-on;
25462306a36Sopenharmony_ci		regulator-boot-on;
25562306a36Sopenharmony_ci		regulator-min-microvolt = <900000>;
25662306a36Sopenharmony_ci		regulator-max-microvolt = <900000>;
25762306a36Sopenharmony_ci		vin-supply = <&vcc3v3_sys>;
25862306a36Sopenharmony_ci	};
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci	/* S3 1.8 V supply, switched by vcc1v8_s3 */
26162306a36Sopenharmony_ci	vcca1v8_s3: vcc1v8-s3 {
26262306a36Sopenharmony_ci		compatible = "regulator-fixed";
26362306a36Sopenharmony_ci		regulator-name = "vcca1v8_s3";
26462306a36Sopenharmony_ci		regulator-always-on;
26562306a36Sopenharmony_ci		regulator-boot-on;
26662306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
26762306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
26862306a36Sopenharmony_ci		vin-supply = <&vcc3v3_sys>;
26962306a36Sopenharmony_ci	};
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci	/* micro SD card power */
27262306a36Sopenharmony_ci	vcc3v0_sd: vcc3v0-sd {
27362306a36Sopenharmony_ci		compatible = "regulator-fixed";
27462306a36Sopenharmony_ci		enable-active-high;
27562306a36Sopenharmony_ci		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
27662306a36Sopenharmony_ci		pinctrl-names = "default";
27762306a36Sopenharmony_ci		pinctrl-0 = <&sdmmc0_pwr_h_pin>;
27862306a36Sopenharmony_ci		regulator-name = "vcc3v0_sd";
27962306a36Sopenharmony_ci		regulator-always-on;
28062306a36Sopenharmony_ci		regulator-min-microvolt = <3000000>;
28162306a36Sopenharmony_ci		regulator-max-microvolt = <3000000>;
28262306a36Sopenharmony_ci		vin-supply = <&vcc3v3_sys>;
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci		regulator-state-mem {
28562306a36Sopenharmony_ci			regulator-off-in-suspend;
28662306a36Sopenharmony_ci		};
28762306a36Sopenharmony_ci	};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci	/* LCD panel power, called VCC3V3_S0 in schematic */
29062306a36Sopenharmony_ci	vcc3v3_panel: vcc3v3-panel {
29162306a36Sopenharmony_ci		compatible = "regulator-fixed";
29262306a36Sopenharmony_ci		enable-active-high;
29362306a36Sopenharmony_ci		gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
29462306a36Sopenharmony_ci		pinctrl-names = "default";
29562306a36Sopenharmony_ci		pinctrl-0 = <&lcdvcc_en_pin>;
29662306a36Sopenharmony_ci		regulator-name = "vcc3v3_panel";
29762306a36Sopenharmony_ci		regulator-always-on;
29862306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
29962306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
30062306a36Sopenharmony_ci		regulator-enable-ramp-delay = <100000>;
30162306a36Sopenharmony_ci		vin-supply = <&vcc3v3_sys>;
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci		regulator-state-mem {
30462306a36Sopenharmony_ci			regulator-off-in-suspend;
30562306a36Sopenharmony_ci		};
30662306a36Sopenharmony_ci	};
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci	/* M.2 adapter power, switched by vcc1v8_s3 */
30962306a36Sopenharmony_ci	vcc3v3_ssd: vcc3v3-ssd {
31062306a36Sopenharmony_ci		compatible = "regulator-fixed";
31162306a36Sopenharmony_ci		regulator-name = "vcc3v3_ssd";
31262306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
31362306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
31462306a36Sopenharmony_ci		vin-supply = <&vcc3v3_sys>;
31562306a36Sopenharmony_ci	};
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_ci	/* Regulators supplied by vcc5v0_usb */
31862306a36Sopenharmony_ci	/* USB 3 port power supply regulator  */
31962306a36Sopenharmony_ci	vcc5v0_otg: vcc5v0-otg {
32062306a36Sopenharmony_ci		compatible = "regulator-fixed";
32162306a36Sopenharmony_ci		enable-active-high;
32262306a36Sopenharmony_ci		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
32362306a36Sopenharmony_ci		pinctrl-names = "default";
32462306a36Sopenharmony_ci		pinctrl-0 = <&vcc5v0_host_en_pin>;
32562306a36Sopenharmony_ci		regulator-name = "vcc5v0_otg";
32662306a36Sopenharmony_ci		regulator-always-on;
32762306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
32862306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
32962306a36Sopenharmony_ci		vin-supply = <&vcc5v0_usb>;
33062306a36Sopenharmony_ci
33162306a36Sopenharmony_ci		regulator-state-mem {
33262306a36Sopenharmony_ci			regulator-off-in-suspend;
33362306a36Sopenharmony_ci		};
33462306a36Sopenharmony_ci	};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci	/* Regulators supplied by vcc5v0_usb */
33762306a36Sopenharmony_ci	/* Type C port power supply regulator */
33862306a36Sopenharmony_ci	vbus_5vout: vbus_typec: vbus-5vout {
33962306a36Sopenharmony_ci		compatible = "regulator-fixed";
34062306a36Sopenharmony_ci		enable-active-high;
34162306a36Sopenharmony_ci		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
34262306a36Sopenharmony_ci		pinctrl-names = "default";
34362306a36Sopenharmony_ci		pinctrl-0 = <&vcc5v0_typec0_en_pin>;
34462306a36Sopenharmony_ci		regulator-name = "vbus_5vout";
34562306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
34662306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
34762306a36Sopenharmony_ci		vin-supply = <&vcc5v0_usb>;
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci		regulator-state-mem {
35062306a36Sopenharmony_ci			regulator-off-in-suspend;
35162306a36Sopenharmony_ci		};
35262306a36Sopenharmony_ci	};
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci	/* Regulators supplied by vcc_1v8 */
35562306a36Sopenharmony_ci	/* Primary 0.9 V LDO */
35662306a36Sopenharmony_ci	vcca0v9_s3: vcca0v9-s3 {
35762306a36Sopenharmony_ci		compatible = "regulator-fixed";
35862306a36Sopenharmony_ci		regulator-name = "vcc0v9_s3";
35962306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
36062306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
36162306a36Sopenharmony_ci		vin-supply = <&vcc_1v8>;
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ci		regulator-state-mem {
36462306a36Sopenharmony_ci			regulator-on-in-suspend;
36562306a36Sopenharmony_ci		};
36662306a36Sopenharmony_ci	};
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ci	mains_charger: dc-charger {
36962306a36Sopenharmony_ci		compatible = "gpio-charger";
37062306a36Sopenharmony_ci		charger-type = "mains";
37162306a36Sopenharmony_ci		gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
37262306a36Sopenharmony_ci
37362306a36Sopenharmony_ci		/* Also triggered by USB charger */
37462306a36Sopenharmony_ci		pinctrl-names = "default";
37562306a36Sopenharmony_ci		pinctrl-0 = <&dc_det_pin>;
37662306a36Sopenharmony_ci	};
37762306a36Sopenharmony_ci};
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci&cpu_b0 {
38062306a36Sopenharmony_ci	cpu-supply = <&vdd_cpu_b>;
38162306a36Sopenharmony_ci};
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci&cpu_b1 {
38462306a36Sopenharmony_ci	cpu-supply = <&vdd_cpu_b>;
38562306a36Sopenharmony_ci};
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci&cpu_l0 {
38862306a36Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
38962306a36Sopenharmony_ci};
39062306a36Sopenharmony_ci
39162306a36Sopenharmony_ci&cpu_l1 {
39262306a36Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
39362306a36Sopenharmony_ci};
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci&cpu_l2 {
39662306a36Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
39762306a36Sopenharmony_ci};
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci&cpu_l3 {
40062306a36Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
40162306a36Sopenharmony_ci};
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci&edp {
40462306a36Sopenharmony_ci	force-hpd;
40562306a36Sopenharmony_ci	pinctrl-names = "default";
40662306a36Sopenharmony_ci	pinctrl-0 = <&edp_hpd>;
40762306a36Sopenharmony_ci	status = "okay";
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ci	ports {
41062306a36Sopenharmony_ci		edp_out: port@1 {
41162306a36Sopenharmony_ci			reg = <1>;
41262306a36Sopenharmony_ci			#address-cells = <1>;
41362306a36Sopenharmony_ci			#size-cells = <0>;
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_ci			edp_out_panel: endpoint@0 {
41662306a36Sopenharmony_ci				reg = <0>;
41762306a36Sopenharmony_ci				remote-endpoint = <&panel_in_edp>;
41862306a36Sopenharmony_ci			};
41962306a36Sopenharmony_ci		};
42062306a36Sopenharmony_ci	};
42162306a36Sopenharmony_ci};
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci&emmc_phy {
42462306a36Sopenharmony_ci	status = "okay";
42562306a36Sopenharmony_ci};
42662306a36Sopenharmony_ci
42762306a36Sopenharmony_ci&gpu {
42862306a36Sopenharmony_ci	mali-supply = <&vdd_gpu>;
42962306a36Sopenharmony_ci	status = "okay";
43062306a36Sopenharmony_ci};
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ci&hdmi_sound {
43362306a36Sopenharmony_ci	status = "okay";
43462306a36Sopenharmony_ci};
43562306a36Sopenharmony_ci
43662306a36Sopenharmony_ci&i2c0 {
43762306a36Sopenharmony_ci	clock-frequency = <400000>;
43862306a36Sopenharmony_ci	i2c-scl-falling-time-ns = <4>;
43962306a36Sopenharmony_ci	i2c-scl-rising-time-ns = <168>;
44062306a36Sopenharmony_ci	status = "okay";
44162306a36Sopenharmony_ci
44262306a36Sopenharmony_ci	rk808: pmic@1b {
44362306a36Sopenharmony_ci		compatible = "rockchip,rk808";
44462306a36Sopenharmony_ci		reg = <0x1b>;
44562306a36Sopenharmony_ci		#clock-cells = <1>;
44662306a36Sopenharmony_ci		clock-output-names = "xin32k", "rk808-clkout2";
44762306a36Sopenharmony_ci		interrupt-parent = <&gpio3>;
44862306a36Sopenharmony_ci		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
44962306a36Sopenharmony_ci		pinctrl-names = "default";
45062306a36Sopenharmony_ci		pinctrl-0 = <&pmic_int_l_pin>;
45162306a36Sopenharmony_ci		rockchip,system-power-controller;
45262306a36Sopenharmony_ci		wakeup-source;
45362306a36Sopenharmony_ci
45462306a36Sopenharmony_ci		vcc1-supply = <&vcc_sysin>;
45562306a36Sopenharmony_ci		vcc2-supply = <&vcc_sysin>;
45662306a36Sopenharmony_ci		vcc3-supply = <&vcc_sysin>;
45762306a36Sopenharmony_ci		vcc4-supply = <&vcc_sysin>;
45862306a36Sopenharmony_ci		vcc6-supply = <&vcc_sysin>;
45962306a36Sopenharmony_ci		vcc7-supply = <&vcc_sysin>;
46062306a36Sopenharmony_ci		vcc8-supply = <&vcc3v3_sys>;
46162306a36Sopenharmony_ci		vcc9-supply = <&vcc_sysin>;
46262306a36Sopenharmony_ci		vcc10-supply = <&vcc_sysin>;
46362306a36Sopenharmony_ci		vcc11-supply = <&vcc_sysin>;
46462306a36Sopenharmony_ci		vcc12-supply = <&vcc3v3_sys>;
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci		regulators {
46762306a36Sopenharmony_ci			/* rk3399 center logic supply */
46862306a36Sopenharmony_ci			vdd_center: DCDC_REG1 {
46962306a36Sopenharmony_ci				regulator-name = "vdd_center";
47062306a36Sopenharmony_ci				regulator-always-on;
47162306a36Sopenharmony_ci				regulator-boot-on;
47262306a36Sopenharmony_ci				regulator-min-microvolt = <750000>;
47362306a36Sopenharmony_ci				regulator-max-microvolt = <1350000>;
47462306a36Sopenharmony_ci				regulator-ramp-delay = <6001>;
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_ci				regulator-state-mem {
47762306a36Sopenharmony_ci					regulator-off-in-suspend;
47862306a36Sopenharmony_ci				};
47962306a36Sopenharmony_ci			};
48062306a36Sopenharmony_ci
48162306a36Sopenharmony_ci			vdd_cpu_l: DCDC_REG2 {
48262306a36Sopenharmony_ci				regulator-name = "vdd_cpu_l";
48362306a36Sopenharmony_ci				regulator-always-on;
48462306a36Sopenharmony_ci				regulator-boot-on;
48562306a36Sopenharmony_ci				regulator-min-microvolt = <750000>;
48662306a36Sopenharmony_ci				regulator-max-microvolt = <1350000>;
48762306a36Sopenharmony_ci				regulator-ramp-delay = <6001>;
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci				regulator-state-mem {
49062306a36Sopenharmony_ci					regulator-off-in-suspend;
49162306a36Sopenharmony_ci				};
49262306a36Sopenharmony_ci			};
49362306a36Sopenharmony_ci
49462306a36Sopenharmony_ci			vcc_ddr: DCDC_REG3 {
49562306a36Sopenharmony_ci				regulator-name = "vcc_ddr";
49662306a36Sopenharmony_ci				regulator-always-on;
49762306a36Sopenharmony_ci				regulator-boot-on;
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ci				regulator-state-mem {
50062306a36Sopenharmony_ci					regulator-on-in-suspend;
50162306a36Sopenharmony_ci				};
50262306a36Sopenharmony_ci			};
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ci			vcc_1v8: vcc_wl: DCDC_REG4 {
50562306a36Sopenharmony_ci				regulator-name = "vcc_1v8";
50662306a36Sopenharmony_ci				regulator-always-on;
50762306a36Sopenharmony_ci				regulator-boot-on;
50862306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
50962306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci				regulator-state-mem {
51262306a36Sopenharmony_ci					regulator-on-in-suspend;
51362306a36Sopenharmony_ci					regulator-suspend-microvolt = <1800000>;
51462306a36Sopenharmony_ci				};
51562306a36Sopenharmony_ci			};
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ci			/* not used */
51862306a36Sopenharmony_ci			LDO_REG1 {
51962306a36Sopenharmony_ci			};
52062306a36Sopenharmony_ci
52162306a36Sopenharmony_ci			/* not used */
52262306a36Sopenharmony_ci			LDO_REG2 {
52362306a36Sopenharmony_ci			};
52462306a36Sopenharmony_ci
52562306a36Sopenharmony_ci			vcc1v8_pmupll: LDO_REG3 {
52662306a36Sopenharmony_ci				regulator-name = "vcc1v8_pmupll";
52762306a36Sopenharmony_ci				regulator-always-on;
52862306a36Sopenharmony_ci				regulator-boot-on;
52962306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
53062306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
53162306a36Sopenharmony_ci
53262306a36Sopenharmony_ci				regulator-state-mem {
53362306a36Sopenharmony_ci					regulator-on-in-suspend;
53462306a36Sopenharmony_ci					regulator-suspend-microvolt = <1800000>;
53562306a36Sopenharmony_ci				};
53662306a36Sopenharmony_ci			};
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_ci			vcc_sdio: LDO_REG4 {
53962306a36Sopenharmony_ci				regulator-name = "vcc_sdio";
54062306a36Sopenharmony_ci				regulator-always-on;
54162306a36Sopenharmony_ci				regulator-boot-on;
54262306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
54362306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci				regulator-state-mem {
54662306a36Sopenharmony_ci					regulator-on-in-suspend;
54762306a36Sopenharmony_ci					regulator-suspend-microvolt = <3000000>;
54862306a36Sopenharmony_ci				};
54962306a36Sopenharmony_ci			};
55062306a36Sopenharmony_ci
55162306a36Sopenharmony_ci			vcca3v0_codec: LDO_REG5 {
55262306a36Sopenharmony_ci				regulator-name = "vcca3v0_codec";
55362306a36Sopenharmony_ci				regulator-always-on;
55462306a36Sopenharmony_ci				regulator-boot-on;
55562306a36Sopenharmony_ci				regulator-min-microvolt = <3000000>;
55662306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
55762306a36Sopenharmony_ci
55862306a36Sopenharmony_ci				regulator-state-mem {
55962306a36Sopenharmony_ci					regulator-off-in-suspend;
56062306a36Sopenharmony_ci				};
56162306a36Sopenharmony_ci			};
56262306a36Sopenharmony_ci
56362306a36Sopenharmony_ci			vcc_1v5: LDO_REG6 {
56462306a36Sopenharmony_ci				regulator-name = "vcc_1v5";
56562306a36Sopenharmony_ci				regulator-always-on;
56662306a36Sopenharmony_ci				regulator-boot-on;
56762306a36Sopenharmony_ci				regulator-min-microvolt = <1500000>;
56862306a36Sopenharmony_ci				regulator-max-microvolt = <1500000>;
56962306a36Sopenharmony_ci
57062306a36Sopenharmony_ci				regulator-state-mem {
57162306a36Sopenharmony_ci					regulator-on-in-suspend;
57262306a36Sopenharmony_ci					regulator-suspend-microvolt = <1500000>;
57362306a36Sopenharmony_ci				};
57462306a36Sopenharmony_ci			};
57562306a36Sopenharmony_ci
57662306a36Sopenharmony_ci			vcca1v8_codec: LDO_REG7 {
57762306a36Sopenharmony_ci				regulator-name = "vcca1v8_codec";
57862306a36Sopenharmony_ci				regulator-always-on;
57962306a36Sopenharmony_ci				regulator-boot-on;
58062306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
58162306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
58262306a36Sopenharmony_ci
58362306a36Sopenharmony_ci				regulator-state-mem {
58462306a36Sopenharmony_ci					regulator-off-in-suspend;
58562306a36Sopenharmony_ci				};
58662306a36Sopenharmony_ci			};
58762306a36Sopenharmony_ci
58862306a36Sopenharmony_ci			vcc_3v0: LDO_REG8 {
58962306a36Sopenharmony_ci				regulator-name = "vcc_3v0";
59062306a36Sopenharmony_ci				regulator-always-on;
59162306a36Sopenharmony_ci				regulator-boot-on;
59262306a36Sopenharmony_ci				regulator-min-microvolt = <3000000>;
59362306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
59462306a36Sopenharmony_ci
59562306a36Sopenharmony_ci				regulator-state-mem {
59662306a36Sopenharmony_ci					regulator-on-in-suspend;
59762306a36Sopenharmony_ci					regulator-suspend-microvolt = <3000000>;
59862306a36Sopenharmony_ci				};
59962306a36Sopenharmony_ci			};
60062306a36Sopenharmony_ci
60162306a36Sopenharmony_ci			vcc3v3_s3: SWITCH_REG1 {
60262306a36Sopenharmony_ci				regulator-name = "vcc3v3_s3";
60362306a36Sopenharmony_ci				regulator-always-on;
60462306a36Sopenharmony_ci				regulator-boot-on;
60562306a36Sopenharmony_ci
60662306a36Sopenharmony_ci				regulator-state-mem {
60762306a36Sopenharmony_ci					regulator-off-in-suspend;
60862306a36Sopenharmony_ci				};
60962306a36Sopenharmony_ci			};
61062306a36Sopenharmony_ci
61162306a36Sopenharmony_ci			vcc3v3_s0: SWITCH_REG2 {
61262306a36Sopenharmony_ci				regulator-name = "vcc3v3_s0";
61362306a36Sopenharmony_ci				regulator-always-on;
61462306a36Sopenharmony_ci				regulator-boot-on;
61562306a36Sopenharmony_ci
61662306a36Sopenharmony_ci				regulator-state-mem {
61762306a36Sopenharmony_ci					regulator-off-in-suspend;
61862306a36Sopenharmony_ci				};
61962306a36Sopenharmony_ci			};
62062306a36Sopenharmony_ci		};
62162306a36Sopenharmony_ci	};
62262306a36Sopenharmony_ci
62362306a36Sopenharmony_ci	vdd_cpu_b: regulator@40 {
62462306a36Sopenharmony_ci		compatible = "silergy,syr827";
62562306a36Sopenharmony_ci		reg = <0x40>;
62662306a36Sopenharmony_ci		fcs,suspend-voltage-selector = <1>;
62762306a36Sopenharmony_ci		pinctrl-names = "default";
62862306a36Sopenharmony_ci		pinctrl-0 = <&vsel1_pin>;
62962306a36Sopenharmony_ci		regulator-name = "vdd_cpu_b";
63062306a36Sopenharmony_ci		regulator-always-on;
63162306a36Sopenharmony_ci		regulator-boot-on;
63262306a36Sopenharmony_ci		regulator-min-microvolt = <712500>;
63362306a36Sopenharmony_ci		regulator-max-microvolt = <1500000>;
63462306a36Sopenharmony_ci		regulator-ramp-delay = <1000>;
63562306a36Sopenharmony_ci		vin-supply = <&vcc_1v8>;
63662306a36Sopenharmony_ci
63762306a36Sopenharmony_ci		regulator-state-mem {
63862306a36Sopenharmony_ci			regulator-off-in-suspend;
63962306a36Sopenharmony_ci		};
64062306a36Sopenharmony_ci	};
64162306a36Sopenharmony_ci
64262306a36Sopenharmony_ci	vdd_gpu: regulator@41 {
64362306a36Sopenharmony_ci		compatible = "silergy,syr828";
64462306a36Sopenharmony_ci		reg = <0x41>;
64562306a36Sopenharmony_ci		fcs,suspend-voltage-selector = <1>;
64662306a36Sopenharmony_ci		pinctrl-names = "default";
64762306a36Sopenharmony_ci		pinctrl-0 = <&vsel2_pin>;
64862306a36Sopenharmony_ci		regulator-name = "vdd_gpu";
64962306a36Sopenharmony_ci		regulator-always-on;
65062306a36Sopenharmony_ci		regulator-boot-on;
65162306a36Sopenharmony_ci		regulator-min-microvolt = <712500>;
65262306a36Sopenharmony_ci		regulator-max-microvolt = <1500000>;
65362306a36Sopenharmony_ci		regulator-ramp-delay = <1000>;
65462306a36Sopenharmony_ci		vin-supply = <&vcc_1v8>;
65562306a36Sopenharmony_ci
65662306a36Sopenharmony_ci		regulator-state-mem {
65762306a36Sopenharmony_ci			regulator-off-in-suspend;
65862306a36Sopenharmony_ci		};
65962306a36Sopenharmony_ci	};
66062306a36Sopenharmony_ci};
66162306a36Sopenharmony_ci
66262306a36Sopenharmony_ci&i2c1 {
66362306a36Sopenharmony_ci	clock-frequency = <100000>;
66462306a36Sopenharmony_ci	i2c-scl-falling-time-ns = <4>;
66562306a36Sopenharmony_ci	i2c-scl-rising-time-ns = <168>;
66662306a36Sopenharmony_ci	status = "okay";
66762306a36Sopenharmony_ci
66862306a36Sopenharmony_ci	es8316: audio-codec@11 {
66962306a36Sopenharmony_ci		compatible = "everest,es8316";
67062306a36Sopenharmony_ci		reg = <0x11>;
67162306a36Sopenharmony_ci		clocks = <&cru SCLK_I2S_8CH_OUT>;
67262306a36Sopenharmony_ci		clock-names = "mclk";
67362306a36Sopenharmony_ci		#sound-dai-cells = <0>;
67462306a36Sopenharmony_ci	};
67562306a36Sopenharmony_ci};
67662306a36Sopenharmony_ci
67762306a36Sopenharmony_ci&i2c3 {
67862306a36Sopenharmony_ci	i2c-scl-falling-time-ns = <15>;
67962306a36Sopenharmony_ci	i2c-scl-rising-time-ns = <450>;
68062306a36Sopenharmony_ci	status = "okay";
68162306a36Sopenharmony_ci};
68262306a36Sopenharmony_ci
68362306a36Sopenharmony_ci&i2c4 {
68462306a36Sopenharmony_ci	i2c-scl-falling-time-ns = <20>;
68562306a36Sopenharmony_ci	i2c-scl-rising-time-ns = <600>;
68662306a36Sopenharmony_ci	status = "okay";
68762306a36Sopenharmony_ci
68862306a36Sopenharmony_ci	fusb0: fusb30x@22 {
68962306a36Sopenharmony_ci		compatible = "fcs,fusb302";
69062306a36Sopenharmony_ci		reg = <0x22>;
69162306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
69262306a36Sopenharmony_ci		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
69362306a36Sopenharmony_ci		pinctrl-names = "default";
69462306a36Sopenharmony_ci		pinctrl-0 = <&fusb0_int_pin>;
69562306a36Sopenharmony_ci		vbus-supply = <&vbus_typec>;
69662306a36Sopenharmony_ci
69762306a36Sopenharmony_ci		connector {
69862306a36Sopenharmony_ci			compatible = "usb-c-connector";
69962306a36Sopenharmony_ci			data-role = "dual";
70062306a36Sopenharmony_ci			label = "USB-C";
70162306a36Sopenharmony_ci			op-sink-microwatt = <1000000>;
70262306a36Sopenharmony_ci			power-role = "dual";
70362306a36Sopenharmony_ci			sink-pdos =
70462306a36Sopenharmony_ci				<PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
70562306a36Sopenharmony_ci			source-pdos =
70662306a36Sopenharmony_ci				<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
70762306a36Sopenharmony_ci			try-power-role = "sink";
70862306a36Sopenharmony_ci
70962306a36Sopenharmony_ci			ports {
71062306a36Sopenharmony_ci				#address-cells = <1>;
71162306a36Sopenharmony_ci				#size-cells = <0>;
71262306a36Sopenharmony_ci
71362306a36Sopenharmony_ci				port@0 {
71462306a36Sopenharmony_ci					reg = <0>;
71562306a36Sopenharmony_ci
71662306a36Sopenharmony_ci					usbc_hs: endpoint {
71762306a36Sopenharmony_ci						remote-endpoint =
71862306a36Sopenharmony_ci							<&u2phy0_typec_hs>;
71962306a36Sopenharmony_ci					};
72062306a36Sopenharmony_ci				};
72162306a36Sopenharmony_ci
72262306a36Sopenharmony_ci				port@1 {
72362306a36Sopenharmony_ci					reg = <1>;
72462306a36Sopenharmony_ci
72562306a36Sopenharmony_ci					usbc_ss: endpoint {
72662306a36Sopenharmony_ci						remote-endpoint =
72762306a36Sopenharmony_ci							<&tcphy0_typec_ss>;
72862306a36Sopenharmony_ci					};
72962306a36Sopenharmony_ci				};
73062306a36Sopenharmony_ci
73162306a36Sopenharmony_ci				port@2 {
73262306a36Sopenharmony_ci					reg = <2>;
73362306a36Sopenharmony_ci
73462306a36Sopenharmony_ci					usbc_dp: endpoint {
73562306a36Sopenharmony_ci						remote-endpoint =
73662306a36Sopenharmony_ci							<&tcphy0_typec_dp>;
73762306a36Sopenharmony_ci					};
73862306a36Sopenharmony_ci				};
73962306a36Sopenharmony_ci			};
74062306a36Sopenharmony_ci		};
74162306a36Sopenharmony_ci	};
74262306a36Sopenharmony_ci
74362306a36Sopenharmony_ci	cw2015@62 {
74462306a36Sopenharmony_ci		compatible = "cellwise,cw2015";
74562306a36Sopenharmony_ci		reg = <0x62>;
74662306a36Sopenharmony_ci		cellwise,battery-profile = /bits/ 8 <
74762306a36Sopenharmony_ci			0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
74862306a36Sopenharmony_ci			0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
74962306a36Sopenharmony_ci			0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
75062306a36Sopenharmony_ci			0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
75162306a36Sopenharmony_ci			0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
75262306a36Sopenharmony_ci			0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
75362306a36Sopenharmony_ci			0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
75462306a36Sopenharmony_ci			0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
75562306a36Sopenharmony_ci		>;
75662306a36Sopenharmony_ci		cellwise,monitor-interval-ms = <5000>;
75762306a36Sopenharmony_ci		monitored-battery = <&bat>;
75862306a36Sopenharmony_ci		power-supplies = <&mains_charger>, <&fusb0>;
75962306a36Sopenharmony_ci	};
76062306a36Sopenharmony_ci};
76162306a36Sopenharmony_ci
76262306a36Sopenharmony_ci&i2s1 {
76362306a36Sopenharmony_ci	pinctrl-names = "default";
76462306a36Sopenharmony_ci	pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
76562306a36Sopenharmony_ci	rockchip,capture-channels = <8>;
76662306a36Sopenharmony_ci	rockchip,playback-channels = <8>;
76762306a36Sopenharmony_ci	status = "okay";
76862306a36Sopenharmony_ci};
76962306a36Sopenharmony_ci
77062306a36Sopenharmony_ci&io_domains {
77162306a36Sopenharmony_ci	audio-supply = <&vcc_3v0>;
77262306a36Sopenharmony_ci	gpio1830-supply = <&vcc_3v0>;
77362306a36Sopenharmony_ci	sdmmc-supply = <&vcc_sdio>;
77462306a36Sopenharmony_ci	status = "okay";
77562306a36Sopenharmony_ci};
77662306a36Sopenharmony_ci
77762306a36Sopenharmony_ci&pcie_phy {
77862306a36Sopenharmony_ci	status = "okay";
77962306a36Sopenharmony_ci};
78062306a36Sopenharmony_ci
78162306a36Sopenharmony_ci&pcie0 {
78262306a36Sopenharmony_ci	bus-scan-delay-ms = <1000>;
78362306a36Sopenharmony_ci	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
78462306a36Sopenharmony_ci	num-lanes = <4>;
78562306a36Sopenharmony_ci	pinctrl-names = "default";
78662306a36Sopenharmony_ci	pinctrl-0 = <&pcie_clkreqn_cpm>;
78762306a36Sopenharmony_ci	vpcie0v9-supply = <&vcca0v9_s3>;
78862306a36Sopenharmony_ci	vpcie1v8-supply = <&vcca1v8_s3>;
78962306a36Sopenharmony_ci	vpcie3v3-supply = <&vcc3v3_ssd>;
79062306a36Sopenharmony_ci	status = "okay";
79162306a36Sopenharmony_ci};
79262306a36Sopenharmony_ci
79362306a36Sopenharmony_ci&pinctrl {
79462306a36Sopenharmony_ci	buttons {
79562306a36Sopenharmony_ci		pwrbtn_pin: pwrbtn-pin {
79662306a36Sopenharmony_ci			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
79762306a36Sopenharmony_ci		};
79862306a36Sopenharmony_ci
79962306a36Sopenharmony_ci		lidbtn_pin: lidbtn-pin {
80062306a36Sopenharmony_ci			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
80162306a36Sopenharmony_ci		};
80262306a36Sopenharmony_ci	};
80362306a36Sopenharmony_ci
80462306a36Sopenharmony_ci	dc-charger {
80562306a36Sopenharmony_ci		dc_det_pin: dc-det-pin {
80662306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
80762306a36Sopenharmony_ci		};
80862306a36Sopenharmony_ci	};
80962306a36Sopenharmony_ci
81062306a36Sopenharmony_ci	es8316 {
81162306a36Sopenharmony_ci		hp_det_pin: hp-det-pin {
81262306a36Sopenharmony_ci			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
81362306a36Sopenharmony_ci		};
81462306a36Sopenharmony_ci	};
81562306a36Sopenharmony_ci
81662306a36Sopenharmony_ci	fusb302x {
81762306a36Sopenharmony_ci		fusb0_int_pin: fusb0-int-pin {
81862306a36Sopenharmony_ci			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
81962306a36Sopenharmony_ci		};
82062306a36Sopenharmony_ci	};
82162306a36Sopenharmony_ci
82262306a36Sopenharmony_ci	i2s1 {
82362306a36Sopenharmony_ci		i2s_8ch_mclk_pin: i2s-8ch-mclk-pin {
82462306a36Sopenharmony_ci			rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
82562306a36Sopenharmony_ci		};
82662306a36Sopenharmony_ci	};
82762306a36Sopenharmony_ci
82862306a36Sopenharmony_ci	lcd-panel {
82962306a36Sopenharmony_ci		lcdvcc_en_pin: lcdvcc-en-pin {
83062306a36Sopenharmony_ci			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
83162306a36Sopenharmony_ci		};
83262306a36Sopenharmony_ci
83362306a36Sopenharmony_ci		panel_en_pin: panel-en-pin {
83462306a36Sopenharmony_ci			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
83562306a36Sopenharmony_ci		};
83662306a36Sopenharmony_ci
83762306a36Sopenharmony_ci		lcd_panel_reset_pin: lcd-panel-reset-pin {
83862306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
83962306a36Sopenharmony_ci		};
84062306a36Sopenharmony_ci	};
84162306a36Sopenharmony_ci
84262306a36Sopenharmony_ci	leds {
84362306a36Sopenharmony_ci		pwr_led_pin: pwr-led-pin {
84462306a36Sopenharmony_ci			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
84562306a36Sopenharmony_ci		};
84662306a36Sopenharmony_ci
84762306a36Sopenharmony_ci		slp_led_pin: slp-led-pin {
84862306a36Sopenharmony_ci			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
84962306a36Sopenharmony_ci		};
85062306a36Sopenharmony_ci	};
85162306a36Sopenharmony_ci
85262306a36Sopenharmony_ci	pmic {
85362306a36Sopenharmony_ci		pmic_int_l_pin: pmic-int-l-pin {
85462306a36Sopenharmony_ci			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
85562306a36Sopenharmony_ci		};
85662306a36Sopenharmony_ci
85762306a36Sopenharmony_ci		vsel1_pin: vsel1-pin {
85862306a36Sopenharmony_ci			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
85962306a36Sopenharmony_ci		};
86062306a36Sopenharmony_ci
86162306a36Sopenharmony_ci		vsel2_pin: vsel2-pin {
86262306a36Sopenharmony_ci			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
86362306a36Sopenharmony_ci		};
86462306a36Sopenharmony_ci	};
86562306a36Sopenharmony_ci
86662306a36Sopenharmony_ci	sdcard {
86762306a36Sopenharmony_ci		sdmmc0_pwr_h_pin: sdmmc0-pwr-h-pin {
86862306a36Sopenharmony_ci			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
86962306a36Sopenharmony_ci		};
87062306a36Sopenharmony_ci
87162306a36Sopenharmony_ci	};
87262306a36Sopenharmony_ci
87362306a36Sopenharmony_ci	sdio-pwrseq {
87462306a36Sopenharmony_ci		wifi_enable_h_pin: wifi-enable-h-pin {
87562306a36Sopenharmony_ci			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
87662306a36Sopenharmony_ci		};
87762306a36Sopenharmony_ci	};
87862306a36Sopenharmony_ci
87962306a36Sopenharmony_ci	usb-typec {
88062306a36Sopenharmony_ci		vcc5v0_typec0_en_pin: vcc5v0-typec0-en-pin {
88162306a36Sopenharmony_ci			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
88262306a36Sopenharmony_ci		};
88362306a36Sopenharmony_ci	};
88462306a36Sopenharmony_ci
88562306a36Sopenharmony_ci	usb2 {
88662306a36Sopenharmony_ci		pwr_5v_pin: pwr-5v-pin {
88762306a36Sopenharmony_ci			rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
88862306a36Sopenharmony_ci		};
88962306a36Sopenharmony_ci
89062306a36Sopenharmony_ci		vcc5v0_host_en_pin: vcc5v0-host-en-pin {
89162306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
89262306a36Sopenharmony_ci		};
89362306a36Sopenharmony_ci	};
89462306a36Sopenharmony_ci
89562306a36Sopenharmony_ci	wireless-bluetooth {
89662306a36Sopenharmony_ci		bt_wake_pin: bt-wake-pin {
89762306a36Sopenharmony_ci			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
89862306a36Sopenharmony_ci		};
89962306a36Sopenharmony_ci
90062306a36Sopenharmony_ci		bt_host_wake_pin: bt-host-wake-pin {
90162306a36Sopenharmony_ci			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
90262306a36Sopenharmony_ci		};
90362306a36Sopenharmony_ci
90462306a36Sopenharmony_ci		bt_reset_pin: bt-reset-pin {
90562306a36Sopenharmony_ci			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
90662306a36Sopenharmony_ci		};
90762306a36Sopenharmony_ci	};
90862306a36Sopenharmony_ci};
90962306a36Sopenharmony_ci
91062306a36Sopenharmony_ci&pmu_io_domains {
91162306a36Sopenharmony_ci	pmu1830-supply = <&vcc_3v0>;
91262306a36Sopenharmony_ci	status = "okay";
91362306a36Sopenharmony_ci};
91462306a36Sopenharmony_ci
91562306a36Sopenharmony_ci&pwm0 {
91662306a36Sopenharmony_ci	status = "okay";
91762306a36Sopenharmony_ci};
91862306a36Sopenharmony_ci
91962306a36Sopenharmony_ci&pwm2 {
92062306a36Sopenharmony_ci	status = "okay";
92162306a36Sopenharmony_ci};
92262306a36Sopenharmony_ci
92362306a36Sopenharmony_ci&saradc {
92462306a36Sopenharmony_ci	vref-supply = <&vcca1v8_s3>;
92562306a36Sopenharmony_ci	status = "okay";
92662306a36Sopenharmony_ci};
92762306a36Sopenharmony_ci
92862306a36Sopenharmony_ci&sdmmc {
92962306a36Sopenharmony_ci	bus-width = <4>;
93062306a36Sopenharmony_ci	cap-mmc-highspeed;
93162306a36Sopenharmony_ci	cap-sd-highspeed;
93262306a36Sopenharmony_ci	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
93362306a36Sopenharmony_ci	disable-wp;
93462306a36Sopenharmony_ci	pinctrl-names = "default";
93562306a36Sopenharmony_ci	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
93662306a36Sopenharmony_ci	sd-uhs-sdr50;
93762306a36Sopenharmony_ci	vmmc-supply = <&vcc3v0_sd>;
93862306a36Sopenharmony_ci	vqmmc-supply = <&vcc_sdio>;
93962306a36Sopenharmony_ci	status = "okay";
94062306a36Sopenharmony_ci};
94162306a36Sopenharmony_ci
94262306a36Sopenharmony_ci&sdio0 {
94362306a36Sopenharmony_ci	bus-width = <4>;
94462306a36Sopenharmony_ci	cap-sd-highspeed;
94562306a36Sopenharmony_ci	cap-sdio-irq;
94662306a36Sopenharmony_ci	keep-power-in-suspend;
94762306a36Sopenharmony_ci	mmc-pwrseq = <&sdio_pwrseq>;
94862306a36Sopenharmony_ci	non-removable;
94962306a36Sopenharmony_ci	pinctrl-names = "default";
95062306a36Sopenharmony_ci	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
95162306a36Sopenharmony_ci	sd-uhs-sdr104;
95262306a36Sopenharmony_ci	status = "okay";
95362306a36Sopenharmony_ci};
95462306a36Sopenharmony_ci
95562306a36Sopenharmony_ci&sdhci {
95662306a36Sopenharmony_ci	bus-width = <8>;
95762306a36Sopenharmony_ci	mmc-hs200-1_8v;
95862306a36Sopenharmony_ci	non-removable;
95962306a36Sopenharmony_ci	status = "okay";
96062306a36Sopenharmony_ci};
96162306a36Sopenharmony_ci
96262306a36Sopenharmony_ci&spi1 {
96362306a36Sopenharmony_ci	max-freq = <10000000>;
96462306a36Sopenharmony_ci	status = "okay";
96562306a36Sopenharmony_ci
96662306a36Sopenharmony_ci	spiflash: flash@0 {
96762306a36Sopenharmony_ci		compatible = "jedec,spi-nor";
96862306a36Sopenharmony_ci		reg = <0>;
96962306a36Sopenharmony_ci		m25p,fast-read;
97062306a36Sopenharmony_ci		spi-max-frequency = <10000000>;
97162306a36Sopenharmony_ci	};
97262306a36Sopenharmony_ci};
97362306a36Sopenharmony_ci
97462306a36Sopenharmony_ci&tcphy0 {
97562306a36Sopenharmony_ci	status = "okay";
97662306a36Sopenharmony_ci};
97762306a36Sopenharmony_ci
97862306a36Sopenharmony_ci&tcphy0_dp {
97962306a36Sopenharmony_ci	port {
98062306a36Sopenharmony_ci		tcphy0_typec_dp: endpoint {
98162306a36Sopenharmony_ci			remote-endpoint = <&usbc_dp>;
98262306a36Sopenharmony_ci		};
98362306a36Sopenharmony_ci	};
98462306a36Sopenharmony_ci};
98562306a36Sopenharmony_ci
98662306a36Sopenharmony_ci&tcphy0_usb3 {
98762306a36Sopenharmony_ci	port {
98862306a36Sopenharmony_ci		tcphy0_typec_ss: endpoint {
98962306a36Sopenharmony_ci			remote-endpoint = <&usbc_ss>;
99062306a36Sopenharmony_ci		};
99162306a36Sopenharmony_ci	};
99262306a36Sopenharmony_ci};
99362306a36Sopenharmony_ci
99462306a36Sopenharmony_ci&tcphy1 {
99562306a36Sopenharmony_ci	status = "okay";
99662306a36Sopenharmony_ci};
99762306a36Sopenharmony_ci
99862306a36Sopenharmony_ci&tsadc {
99962306a36Sopenharmony_ci	/* tshut mode 0:CRU 1:GPIO */
100062306a36Sopenharmony_ci	rockchip,hw-tshut-mode = <1>;
100162306a36Sopenharmony_ci	/* tshut polarity 0:LOW 1:HIGH */
100262306a36Sopenharmony_ci	rockchip,hw-tshut-polarity = <1>;
100362306a36Sopenharmony_ci	status = "okay";
100462306a36Sopenharmony_ci};
100562306a36Sopenharmony_ci
100662306a36Sopenharmony_ci&u2phy0 {
100762306a36Sopenharmony_ci	status = "okay";
100862306a36Sopenharmony_ci
100962306a36Sopenharmony_ci	u2phy0_otg: otg-port {
101062306a36Sopenharmony_ci		status = "okay";
101162306a36Sopenharmony_ci	};
101262306a36Sopenharmony_ci
101362306a36Sopenharmony_ci	u2phy0_host: host-port {
101462306a36Sopenharmony_ci		phy-supply = <&vcc5v0_otg>;
101562306a36Sopenharmony_ci		status = "okay";
101662306a36Sopenharmony_ci	};
101762306a36Sopenharmony_ci
101862306a36Sopenharmony_ci	port {
101962306a36Sopenharmony_ci		u2phy0_typec_hs: endpoint {
102062306a36Sopenharmony_ci			remote-endpoint = <&usbc_hs>;
102162306a36Sopenharmony_ci		};
102262306a36Sopenharmony_ci	};
102362306a36Sopenharmony_ci};
102462306a36Sopenharmony_ci
102562306a36Sopenharmony_ci&u2phy1 {
102662306a36Sopenharmony_ci	status = "okay";
102762306a36Sopenharmony_ci
102862306a36Sopenharmony_ci	u2phy1_otg: otg-port {
102962306a36Sopenharmony_ci		status = "okay";
103062306a36Sopenharmony_ci	};
103162306a36Sopenharmony_ci
103262306a36Sopenharmony_ci	u2phy1_host: host-port {
103362306a36Sopenharmony_ci		phy-supply = <&vcc5v0_otg>;
103462306a36Sopenharmony_ci		status = "okay";
103562306a36Sopenharmony_ci	};
103662306a36Sopenharmony_ci};
103762306a36Sopenharmony_ci
103862306a36Sopenharmony_ci&uart0 {
103962306a36Sopenharmony_ci	pinctrl-names = "default";
104062306a36Sopenharmony_ci	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
104162306a36Sopenharmony_ci	uart-has-rtscts;
104262306a36Sopenharmony_ci	status = "okay";
104362306a36Sopenharmony_ci
104462306a36Sopenharmony_ci	bluetooth {
104562306a36Sopenharmony_ci		compatible = "brcm,bcm4345c5";
104662306a36Sopenharmony_ci		clocks = <&rk808 1>;
104762306a36Sopenharmony_ci		clock-names = "lpo";
104862306a36Sopenharmony_ci		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
104962306a36Sopenharmony_ci		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
105062306a36Sopenharmony_ci		max-speed = <1500000>;
105162306a36Sopenharmony_ci		pinctrl-names = "default";
105262306a36Sopenharmony_ci		pinctrl-0 = <&bt_host_wake_pin &bt_wake_pin &bt_reset_pin>;
105362306a36Sopenharmony_ci		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
105462306a36Sopenharmony_ci		vbat-supply = <&wifi_bat>;
105562306a36Sopenharmony_ci		vddio-supply = <&vcc_wl>;
105662306a36Sopenharmony_ci	};
105762306a36Sopenharmony_ci};
105862306a36Sopenharmony_ci
105962306a36Sopenharmony_ci&uart2 {
106062306a36Sopenharmony_ci	status = "okay";
106162306a36Sopenharmony_ci};
106262306a36Sopenharmony_ci
106362306a36Sopenharmony_ci&usb_host0_ehci {
106462306a36Sopenharmony_ci	status = "okay";
106562306a36Sopenharmony_ci};
106662306a36Sopenharmony_ci
106762306a36Sopenharmony_ci&usb_host0_ohci {
106862306a36Sopenharmony_ci	status = "okay";
106962306a36Sopenharmony_ci};
107062306a36Sopenharmony_ci
107162306a36Sopenharmony_ci&usb_host1_ehci {
107262306a36Sopenharmony_ci	status = "okay";
107362306a36Sopenharmony_ci};
107462306a36Sopenharmony_ci
107562306a36Sopenharmony_ci&usb_host1_ohci {
107662306a36Sopenharmony_ci	status = "okay";
107762306a36Sopenharmony_ci};
107862306a36Sopenharmony_ci
107962306a36Sopenharmony_ci&usbdrd3_0 {
108062306a36Sopenharmony_ci	status = "okay";
108162306a36Sopenharmony_ci};
108262306a36Sopenharmony_ci
108362306a36Sopenharmony_ci&usbdrd_dwc3_0 {
108462306a36Sopenharmony_ci	dr_mode = "host";
108562306a36Sopenharmony_ci	status = "okay";
108662306a36Sopenharmony_ci};
108762306a36Sopenharmony_ci
108862306a36Sopenharmony_ci&usbdrd3_1 {
108962306a36Sopenharmony_ci	status = "okay";
109062306a36Sopenharmony_ci};
109162306a36Sopenharmony_ci
109262306a36Sopenharmony_ci&usbdrd_dwc3_1 {
109362306a36Sopenharmony_ci	dr_mode = "host";
109462306a36Sopenharmony_ci	status = "okay";
109562306a36Sopenharmony_ci};
109662306a36Sopenharmony_ci
109762306a36Sopenharmony_ci&vopb {
109862306a36Sopenharmony_ci	status = "okay";
109962306a36Sopenharmony_ci};
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_ci&vopb_mmu {
110262306a36Sopenharmony_ci	status = "okay";
110362306a36Sopenharmony_ci};
110462306a36Sopenharmony_ci
110562306a36Sopenharmony_ci&vopl {
110662306a36Sopenharmony_ci	status = "okay";
110762306a36Sopenharmony_ci};
110862306a36Sopenharmony_ci
110962306a36Sopenharmony_ci&vopl_mmu {
111062306a36Sopenharmony_ci	status = "okay";
111162306a36Sopenharmony_ci};
1112