162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Google Gru-scarlet board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2018 Google, Inc
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include "rk3399-gru.dtsi"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/{
1162306a36Sopenharmony_ci	chassis-type = "tablet";
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	/* Power tree */
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	/* ppvar_sys children, sorted by name */
1662306a36Sopenharmony_ci	pp1250_s3: pp1250-s3 {
1762306a36Sopenharmony_ci		compatible = "regulator-fixed";
1862306a36Sopenharmony_ci		regulator-name = "pp1250_s3";
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci		/* EC turns on w/ pp1250_s3_en; always on for AP */
2162306a36Sopenharmony_ci		regulator-always-on;
2262306a36Sopenharmony_ci		regulator-boot-on;
2362306a36Sopenharmony_ci		regulator-min-microvolt = <1250000>;
2462306a36Sopenharmony_ci		regulator-max-microvolt = <1250000>;
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci		vin-supply = <&ppvar_sys>;
2762306a36Sopenharmony_ci	};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	pp1250_cam: pp1250-dvdd {
3062306a36Sopenharmony_ci		compatible = "regulator-fixed";
3162306a36Sopenharmony_ci		regulator-name = "pp1250_dvdd";
3262306a36Sopenharmony_ci		pinctrl-names = "default";
3362306a36Sopenharmony_ci		pinctrl-0 = <&pp1250_cam_en>;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		enable-active-high;
3662306a36Sopenharmony_ci		gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		/* 740us delay from gpio output high to pp1250 stable,
3962306a36Sopenharmony_ci		 * rounding up to 1ms for safety.
4062306a36Sopenharmony_ci		 */
4162306a36Sopenharmony_ci		startup-delay-us = <1000>;
4262306a36Sopenharmony_ci		vin-supply = <&pp1250_s3>;
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	pp900_s0: pp900-s0 {
4662306a36Sopenharmony_ci		compatible = "regulator-fixed";
4762306a36Sopenharmony_ci		regulator-name = "pp900_s0";
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci		/* EC turns on w/ pp900_s0_en; always on for AP */
5062306a36Sopenharmony_ci		regulator-always-on;
5162306a36Sopenharmony_ci		regulator-boot-on;
5262306a36Sopenharmony_ci		regulator-min-microvolt = <900000>;
5362306a36Sopenharmony_ci		regulator-max-microvolt = <900000>;
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		vin-supply = <&ppvar_sys>;
5662306a36Sopenharmony_ci	};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	ppvarn_lcd: ppvarn-lcd {
5962306a36Sopenharmony_ci		compatible = "regulator-fixed";
6062306a36Sopenharmony_ci		regulator-name = "ppvarn_lcd";
6162306a36Sopenharmony_ci		pinctrl-names = "default";
6262306a36Sopenharmony_ci		pinctrl-0 = <&ppvarn_lcd_en>;
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci		enable-active-high;
6562306a36Sopenharmony_ci		gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
6662306a36Sopenharmony_ci		vin-supply = <&ppvar_sys>;
6762306a36Sopenharmony_ci	};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci	ppvarp_lcd: ppvarp-lcd {
7062306a36Sopenharmony_ci		compatible = "regulator-fixed";
7162306a36Sopenharmony_ci		regulator-name = "ppvarp_lcd";
7262306a36Sopenharmony_ci		pinctrl-names = "default";
7362306a36Sopenharmony_ci		pinctrl-0 = <&ppvarp_lcd_en>;
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		enable-active-high;
7662306a36Sopenharmony_ci		gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
7762306a36Sopenharmony_ci		vin-supply = <&ppvar_sys>;
7862306a36Sopenharmony_ci	};
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci	/* pp1800 children, sorted by name */
8162306a36Sopenharmony_ci	pp900_s3: pp900-s3 {
8262306a36Sopenharmony_ci		compatible = "regulator-fixed";
8362306a36Sopenharmony_ci		regulator-name = "pp900_s3";
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		/* EC turns on w/ pp900_s3_en; always on for AP */
8662306a36Sopenharmony_ci		regulator-always-on;
8762306a36Sopenharmony_ci		regulator-boot-on;
8862306a36Sopenharmony_ci		regulator-min-microvolt = <900000>;
8962306a36Sopenharmony_ci		regulator-max-microvolt = <900000>;
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci		vin-supply = <&pp1800>;
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	/* EC turns on pp1800_s3_en */
9562306a36Sopenharmony_ci	pp1800_s3: pp1800 {
9662306a36Sopenharmony_ci	};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci	/* pp3300 children, sorted by name */
9962306a36Sopenharmony_ci	pp2800_cam: pp2800-avdd {
10062306a36Sopenharmony_ci		compatible = "regulator-fixed";
10162306a36Sopenharmony_ci		regulator-name = "pp2800_avdd";
10262306a36Sopenharmony_ci		pinctrl-names = "default";
10362306a36Sopenharmony_ci		pinctrl-0 = <&pp2800_cam_en>;
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci		enable-active-high;
10662306a36Sopenharmony_ci		gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
10762306a36Sopenharmony_ci		startup-delay-us = <100>;
10862306a36Sopenharmony_ci		vin-supply = <&pp3300>;
10962306a36Sopenharmony_ci	};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	/* EC turns on pp3300_s0_en */
11262306a36Sopenharmony_ci	pp3300_s0: pp3300 {
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	/* EC turns on pp3300_s3_en */
11662306a36Sopenharmony_ci	pp3300_s3: pp3300 {
11762306a36Sopenharmony_ci	};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci	/*
12062306a36Sopenharmony_ci	 * See b/66922012
12162306a36Sopenharmony_ci	 *
12262306a36Sopenharmony_ci	 * This is a hack to make sure the Bluetooth part of the QCA6174A
12362306a36Sopenharmony_ci	 * is reset at boot by toggling BT_EN. At boot BT_EN is first set
12462306a36Sopenharmony_ci	 * to low when the bt_3v3 regulator is registered (in disabled
12562306a36Sopenharmony_ci	 * state). The fake regulator is configured as a supply of the
12662306a36Sopenharmony_ci	 * wlan_3v3 regulator below. When wlan_3v3 is enabled early in
12762306a36Sopenharmony_ci	 * the boot process it also enables its supply regulator bt_3v3,
12862306a36Sopenharmony_ci	 * which changes BT_EN to high.
12962306a36Sopenharmony_ci	 */
13062306a36Sopenharmony_ci	bt_3v3: bt-3v3 {
13162306a36Sopenharmony_ci		compatible = "regulator-fixed";
13262306a36Sopenharmony_ci		regulator-name = "bt_3v3";
13362306a36Sopenharmony_ci		pinctrl-names = "default";
13462306a36Sopenharmony_ci		pinctrl-0 = <&bt_en_1v8_l>;
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci		enable-active-high;
13762306a36Sopenharmony_ci		gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
13862306a36Sopenharmony_ci		vin-supply = <&pp3300_s3>;
13962306a36Sopenharmony_ci	};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci	wlan_3v3: wlan-3v3 {
14262306a36Sopenharmony_ci		compatible = "regulator-fixed";
14362306a36Sopenharmony_ci		regulator-name = "wlan_3v3";
14462306a36Sopenharmony_ci		pinctrl-names = "default";
14562306a36Sopenharmony_ci		pinctrl-0 = <&wlan_pd_1v8_l>;
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci		/*
14862306a36Sopenharmony_ci		 * The WL_EN pin is driven low when the regulator is
14962306a36Sopenharmony_ci		 * registered, and transitions to high when the PCIe bus
15062306a36Sopenharmony_ci		 * is powered up.
15162306a36Sopenharmony_ci		 */
15262306a36Sopenharmony_ci		enable-active-high;
15362306a36Sopenharmony_ci		gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci		/*
15662306a36Sopenharmony_ci		 * Require minimum 10ms from power-on (e.g., PD#) to init PCIe.
15762306a36Sopenharmony_ci		 * TODO (b/64444991): how long to assert PD#?
15862306a36Sopenharmony_ci		 */
15962306a36Sopenharmony_ci		regulator-enable-ramp-delay = <10000>;
16062306a36Sopenharmony_ci		/* See bt_3v3 hack above */
16162306a36Sopenharmony_ci		vin-supply = <&bt_3v3>;
16262306a36Sopenharmony_ci	};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci	backlight: backlight {
16562306a36Sopenharmony_ci		compatible = "pwm-backlight";
16662306a36Sopenharmony_ci		enable-gpios = <&gpio4 21 GPIO_ACTIVE_HIGH>;
16762306a36Sopenharmony_ci		pinctrl-names = "default";
16862306a36Sopenharmony_ci		pinctrl-0 = <&bl_en>;
16962306a36Sopenharmony_ci		pwms = <&pwm1 0 1000000 0>;
17062306a36Sopenharmony_ci	};
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci	dmic: dmic {
17362306a36Sopenharmony_ci		compatible = "dmic-codec";
17462306a36Sopenharmony_ci		dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
17562306a36Sopenharmony_ci		pinctrl-names = "default";
17662306a36Sopenharmony_ci		pinctrl-0 = <&dmic_en>;
17762306a36Sopenharmony_ci		wakeup-delay-ms = <250>;
17862306a36Sopenharmony_ci	};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	gpio_keys: gpio-keys {
18162306a36Sopenharmony_ci		compatible = "gpio-keys";
18262306a36Sopenharmony_ci		pinctrl-names = "default";
18362306a36Sopenharmony_ci		pinctrl-0 = <&pen_eject_odl>;
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci		switch-pen-insert {
18662306a36Sopenharmony_ci			label = "Pen Insert";
18762306a36Sopenharmony_ci			/* Insert = low, eject = high */
18862306a36Sopenharmony_ci			gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
18962306a36Sopenharmony_ci			linux,code = <SW_PEN_INSERTED>;
19062306a36Sopenharmony_ci			linux,input-type = <EV_SW>;
19162306a36Sopenharmony_ci			wakeup-source;
19262306a36Sopenharmony_ci		};
19362306a36Sopenharmony_ci	};
19462306a36Sopenharmony_ci};
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci/* pp900_s0 aliases */
19762306a36Sopenharmony_cipp900_ddrpll_ap: &pp900_s0 {
19862306a36Sopenharmony_ci};
19962306a36Sopenharmony_cipp900_pcie: &pp900_s0 {
20062306a36Sopenharmony_ci};
20162306a36Sopenharmony_cipp900_usb: &pp900_s0 {
20262306a36Sopenharmony_ci};
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci/* pp900_s3 aliases */
20562306a36Sopenharmony_cipp900_emmcpll: &pp900_s3 {
20662306a36Sopenharmony_ci};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci/* EC turns on; alias for pp1800_s0 */
20962306a36Sopenharmony_cipp1800_pcie: &pp1800_s0 {
21062306a36Sopenharmony_ci};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci/* On scarlet PPVAR(big_cpu, lit_cpu, gpu) need to adjust voltage ranges */
21362306a36Sopenharmony_ci&ppvar_bigcpu {
21462306a36Sopenharmony_ci	ctrl-voltage-range = <800074 1299226>;
21562306a36Sopenharmony_ci	regulator-min-microvolt = <800074>;
21662306a36Sopenharmony_ci	regulator-max-microvolt = <1299226>;
21762306a36Sopenharmony_ci};
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci&ppvar_bigcpu_pwm {
22062306a36Sopenharmony_ci	/* On scarlet ppvar big cpu use pwm3 */
22162306a36Sopenharmony_ci	pwms = <&pwm3 0 3337 0>;
22262306a36Sopenharmony_ci	regulator-min-microvolt = <800074>;
22362306a36Sopenharmony_ci	regulator-max-microvolt = <1299226>;
22462306a36Sopenharmony_ci};
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci&ppvar_litcpu {
22762306a36Sopenharmony_ci	ctrl-voltage-range = <802122 1199620>;
22862306a36Sopenharmony_ci	regulator-min-microvolt = <802122>;
22962306a36Sopenharmony_ci	regulator-max-microvolt = <1199620>;
23062306a36Sopenharmony_ci};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci&ppvar_litcpu_pwm {
23362306a36Sopenharmony_ci	regulator-min-microvolt = <802122>;
23462306a36Sopenharmony_ci	regulator-max-microvolt = <1199620>;
23562306a36Sopenharmony_ci};
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci&ppvar_gpu {
23862306a36Sopenharmony_ci	ctrl-voltage-range = <799600 1099600>;
23962306a36Sopenharmony_ci	regulator-min-microvolt = <799600>;
24062306a36Sopenharmony_ci	regulator-max-microvolt = <1099600>;
24162306a36Sopenharmony_ci};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci&ppvar_gpu_pwm {
24462306a36Sopenharmony_ci	regulator-min-microvolt = <799600>;
24562306a36Sopenharmony_ci	regulator-max-microvolt = <1099600>;
24662306a36Sopenharmony_ci};
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci&ppvar_sd_card_io {
24962306a36Sopenharmony_ci	states = <1800000 0x0>, <3300000 0x1>;
25062306a36Sopenharmony_ci	regulator-max-microvolt = <3300000>;
25162306a36Sopenharmony_ci};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci&pp3000_sd_slot {
25462306a36Sopenharmony_ci	vin-supply = <&pp3300>;
25562306a36Sopenharmony_ci};
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ciap_i2c_dig: &i2c2 {
25862306a36Sopenharmony_ci	status = "okay";
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci	clock-frequency = <400000>;
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ci	/* These are relatively safe rise/fall times. */
26362306a36Sopenharmony_ci	i2c-scl-falling-time-ns = <50>;
26462306a36Sopenharmony_ci	i2c-scl-rising-time-ns = <300>;
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ci	digitizer: digitizer@9 {
26762306a36Sopenharmony_ci		compatible = "hid-over-i2c";
26862306a36Sopenharmony_ci		reg = <0x9>;
26962306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
27062306a36Sopenharmony_ci		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
27162306a36Sopenharmony_ci		hid-descr-addr = <0x1>;
27262306a36Sopenharmony_ci		pinctrl-names = "default";
27362306a36Sopenharmony_ci		pinctrl-0 = <&pen_int_odl &pen_reset_l>;
27462306a36Sopenharmony_ci	};
27562306a36Sopenharmony_ci};
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci&ap_i2c_ts {
27862306a36Sopenharmony_ci	touchscreen: touchscreen@10 {
27962306a36Sopenharmony_ci		compatible = "elan,ekth3500";
28062306a36Sopenharmony_ci		reg = <0x10>;
28162306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
28262306a36Sopenharmony_ci		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
28362306a36Sopenharmony_ci		pinctrl-names = "default";
28462306a36Sopenharmony_ci		pinctrl-0 = <&touch_int_l &touch_reset_l>;
28562306a36Sopenharmony_ci		reset-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
28662306a36Sopenharmony_ci	};
28762306a36Sopenharmony_ci};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_cicamera: &i2c7 {
29062306a36Sopenharmony_ci	status = "okay";
29162306a36Sopenharmony_ci
29262306a36Sopenharmony_ci	clock-frequency = <400000>;
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci	/* These are relatively safe rise/fall times; TODO: measure */
29562306a36Sopenharmony_ci	i2c-scl-falling-time-ns = <50>;
29662306a36Sopenharmony_ci	i2c-scl-rising-time-ns = <300>;
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci	/* 24M mclk is shared between world and user cameras */
29962306a36Sopenharmony_ci	pinctrl-0 = <&i2c7_xfer &test_clkout1>;
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ci	/* Rear-facing camera */
30262306a36Sopenharmony_ci	wcam: camera@36 {
30362306a36Sopenharmony_ci		compatible = "ovti,ov5695";
30462306a36Sopenharmony_ci		reg = <0x36>;
30562306a36Sopenharmony_ci		pinctrl-names = "default";
30662306a36Sopenharmony_ci		pinctrl-0 = <&wcam_rst>;
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci		clocks = <&cru SCLK_TESTCLKOUT1>;
30962306a36Sopenharmony_ci		clock-names = "xvclk";
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci		avdd-supply = <&pp2800_cam>;
31262306a36Sopenharmony_ci		dvdd-supply = <&pp1250_cam>;
31362306a36Sopenharmony_ci		dovdd-supply = <&pp1800_s0>;
31462306a36Sopenharmony_ci		reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci		port {
31762306a36Sopenharmony_ci			wcam_out: endpoint {
31862306a36Sopenharmony_ci				remote-endpoint = <&mipi_in_wcam>;
31962306a36Sopenharmony_ci				data-lanes = <1 2>;
32062306a36Sopenharmony_ci			};
32162306a36Sopenharmony_ci		};
32262306a36Sopenharmony_ci	};
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci	/* Front-facing camera */
32562306a36Sopenharmony_ci	ucam: camera@3c {
32662306a36Sopenharmony_ci		compatible = "ovti,ov2685";
32762306a36Sopenharmony_ci		reg = <0x3c>;
32862306a36Sopenharmony_ci		pinctrl-names = "default";
32962306a36Sopenharmony_ci		pinctrl-0 = <&ucam_rst>;
33062306a36Sopenharmony_ci
33162306a36Sopenharmony_ci		clocks = <&cru SCLK_TESTCLKOUT1>;
33262306a36Sopenharmony_ci		clock-names = "xvclk";
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ci		avdd-supply = <&pp2800_cam>;
33562306a36Sopenharmony_ci		dovdd-supply = <&pp1800_s0>;
33662306a36Sopenharmony_ci		dvdd-supply = <&pp1800_s0>;
33762306a36Sopenharmony_ci		reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_ci		port {
34062306a36Sopenharmony_ci			ucam_out: endpoint {
34162306a36Sopenharmony_ci				remote-endpoint = <&mipi_in_ucam>;
34262306a36Sopenharmony_ci				data-lanes = <1>;
34362306a36Sopenharmony_ci			};
34462306a36Sopenharmony_ci		};
34562306a36Sopenharmony_ci	};
34662306a36Sopenharmony_ci};
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ci&cdn_dp {
34962306a36Sopenharmony_ci	extcon = <&usbc_extcon0>;
35062306a36Sopenharmony_ci	phys = <&tcphy0_dp>;
35162306a36Sopenharmony_ci};
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ci&cpu_alert0 {
35462306a36Sopenharmony_ci	temperature = <66000>;
35562306a36Sopenharmony_ci};
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci&cpu_alert1 {
35862306a36Sopenharmony_ci	temperature = <71000>;
35962306a36Sopenharmony_ci};
36062306a36Sopenharmony_ci
36162306a36Sopenharmony_ci&cros_ec {
36262306a36Sopenharmony_ci	interrupt-parent = <&gpio1>;
36362306a36Sopenharmony_ci	interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
36462306a36Sopenharmony_ci};
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ci&cru {
36762306a36Sopenharmony_ci	assigned-clocks =
36862306a36Sopenharmony_ci		<&cru PLL_GPLL>, <&cru PLL_CPLL>,
36962306a36Sopenharmony_ci		<&cru PLL_NPLL>,
37062306a36Sopenharmony_ci		<&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
37162306a36Sopenharmony_ci		<&cru PCLK_PERIHP>,
37262306a36Sopenharmony_ci		<&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
37362306a36Sopenharmony_ci		<&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
37462306a36Sopenharmony_ci		<&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>,
37562306a36Sopenharmony_ci		<&cru ACLK_VIO>,
37662306a36Sopenharmony_ci		<&cru ACLK_GIC_PRE>,
37762306a36Sopenharmony_ci		<&cru PCLK_DDR>,
37862306a36Sopenharmony_ci		<&cru ACLK_HDCP>,
37962306a36Sopenharmony_ci		<&cru ACLK_VDU>;
38062306a36Sopenharmony_ci	assigned-clock-rates =
38162306a36Sopenharmony_ci		<600000000>, <1600000000>,
38262306a36Sopenharmony_ci		<1000000000>,
38362306a36Sopenharmony_ci		<150000000>, <75000000>,
38462306a36Sopenharmony_ci		<37500000>,
38562306a36Sopenharmony_ci		<100000000>, <100000000>,
38662306a36Sopenharmony_ci		<50000000>, <800000000>,
38762306a36Sopenharmony_ci		<100000000>, <50000000>,
38862306a36Sopenharmony_ci		<400000000>,
38962306a36Sopenharmony_ci		<200000000>,
39062306a36Sopenharmony_ci		<200000000>,
39162306a36Sopenharmony_ci		<400000000>,
39262306a36Sopenharmony_ci		<400000000>;
39362306a36Sopenharmony_ci};
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci/* The center supply is fixed to .9V on scarlet */
39662306a36Sopenharmony_ci&dmc {
39762306a36Sopenharmony_ci	center-supply = <&pp900_s0>;
39862306a36Sopenharmony_ci};
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_ci/* We don't need .925 V for 928 MHz on scarlet */
40162306a36Sopenharmony_ci&dmc_opp_table {
40262306a36Sopenharmony_ci	opp03 {
40362306a36Sopenharmony_ci		opp-microvolt = <900000>;
40462306a36Sopenharmony_ci	};
40562306a36Sopenharmony_ci};
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_ci&gpio0 {
40862306a36Sopenharmony_ci	gpio-line-names = /* GPIO0 A 0-7 */
40962306a36Sopenharmony_ci			  "CLK_32K_AP",
41062306a36Sopenharmony_ci			  "EC_IN_RW_OD",
41162306a36Sopenharmony_ci			  "SPK_PA_EN",
41262306a36Sopenharmony_ci			  "WLAN_PERST_1V8_L",
41362306a36Sopenharmony_ci			  "WLAN_PD_1V8_L",
41462306a36Sopenharmony_ci			  "WLAN_RF_KILL_1V8_L",
41562306a36Sopenharmony_ci			  "BIGCPU_DVS_PWM",
41662306a36Sopenharmony_ci			  "SD_CD_L_JTAG_EN",
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ci			  /* GPIO0 B 0-5 */
41962306a36Sopenharmony_ci			  "BT_EN_BT_RF_KILL_1V8_L",
42062306a36Sopenharmony_ci			  "PMUIO2_33_18_L_PP3300_S0_EN",
42162306a36Sopenharmony_ci			  "TOUCH_RESET_L",
42262306a36Sopenharmony_ci			  "AP_EC_WARM_RESET_REQ",
42362306a36Sopenharmony_ci			  "PEN_RESET_L",
42462306a36Sopenharmony_ci			  /*
42562306a36Sopenharmony_ci			   * AP_FLASH_WP_L is crossystem ABI. Schematics call
42662306a36Sopenharmony_ci			   * it AP_FLASH_WP_R_ODL.
42762306a36Sopenharmony_ci			   */
42862306a36Sopenharmony_ci			  "AP_FLASH_WP_L";
42962306a36Sopenharmony_ci};
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_ci&gpio1 {
43262306a36Sopenharmony_ci	gpio-line-names = /* GPIO1 A 0-7 */
43362306a36Sopenharmony_ci			  "PEN_INT_ODL",
43462306a36Sopenharmony_ci			  "PEN_EJECT_ODL",
43562306a36Sopenharmony_ci			  "BT_HOST_WAKE_1V8_L",
43662306a36Sopenharmony_ci			  "WLAN_HOST_WAKE_1V8_L",
43762306a36Sopenharmony_ci			  "TOUCH_INT_ODL",
43862306a36Sopenharmony_ci			  "AP_EC_S3_S0_L",
43962306a36Sopenharmony_ci			  "AP_EC_OVERTEMP",
44062306a36Sopenharmony_ci			  "AP_SPI_FLASH_MISO",
44162306a36Sopenharmony_ci
44262306a36Sopenharmony_ci			  /* GPIO1 B 0-7 */
44362306a36Sopenharmony_ci			  "AP_SPI_FLASH_MOSI_R",
44462306a36Sopenharmony_ci			  "AP_SPI_FLASH_CLK_R",
44562306a36Sopenharmony_ci			  "AP_SPI_FLASH_CS_L_R",
44662306a36Sopenharmony_ci			  "SD_CARD_DET_ODL",
44762306a36Sopenharmony_ci			  "",
44862306a36Sopenharmony_ci			  "AP_EXPANSION_IO1",
44962306a36Sopenharmony_ci			  "AP_EXPANSION_IO2",
45062306a36Sopenharmony_ci			  "AP_I2C_DISP_SDA",
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_ci			  /* GPIO1 C 0-7 */
45362306a36Sopenharmony_ci			  "AP_I2C_DISP_SCL",
45462306a36Sopenharmony_ci			  "H1_INT_ODL",
45562306a36Sopenharmony_ci			  "EC_AP_INT_ODL",
45662306a36Sopenharmony_ci			  "LITCPU_DVS_PWM",
45762306a36Sopenharmony_ci			  "AP_I2C_AUDIO_SDA",
45862306a36Sopenharmony_ci			  "AP_I2C_AUDIO_SCL",
45962306a36Sopenharmony_ci			  "AP_EXPANSION_IO3",
46062306a36Sopenharmony_ci			  "HEADSET_INT_ODL",
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci			  /* GPIO1 D0 */
46362306a36Sopenharmony_ci			  "AP_EXPANSION_IO4";
46462306a36Sopenharmony_ci};
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci&gpio2 {
46762306a36Sopenharmony_ci	gpio-line-names = /* GPIO2 A 0-7 */
46862306a36Sopenharmony_ci			  "AP_I2C_PEN_SDA",
46962306a36Sopenharmony_ci			  "AP_I2C_PEN_SCL",
47062306a36Sopenharmony_ci			  "SD_IO_PWR_EN",
47162306a36Sopenharmony_ci			  "UCAM_RST_L",
47262306a36Sopenharmony_ci			  "PP1250_CAM_EN",
47362306a36Sopenharmony_ci			  "WCAM_RST_L",
47462306a36Sopenharmony_ci			  "AP_EXPANSION_IO5",
47562306a36Sopenharmony_ci			  "AP_I2C_CAM_SDA",
47662306a36Sopenharmony_ci
47762306a36Sopenharmony_ci			  /* GPIO2 B 0-7 */
47862306a36Sopenharmony_ci			  "AP_I2C_CAM_SCL",
47962306a36Sopenharmony_ci			  "AP_H1_SPI_MISO",
48062306a36Sopenharmony_ci			  "AP_H1_SPI_MOSI",
48162306a36Sopenharmony_ci			  "AP_H1_SPI_CLK",
48262306a36Sopenharmony_ci			  "AP_H1_SPI_CS_L",
48362306a36Sopenharmony_ci			  "",
48462306a36Sopenharmony_ci			  "",
48562306a36Sopenharmony_ci			  "",
48662306a36Sopenharmony_ci
48762306a36Sopenharmony_ci			  /* GPIO2 C 0-7 */
48862306a36Sopenharmony_ci			  "UART_EXPANSION_TX_AP_RX",
48962306a36Sopenharmony_ci			  "UART_AP_TX_EXPANSION_RX",
49062306a36Sopenharmony_ci			  "UART_EXPANSION_RTS_AP_CTS",
49162306a36Sopenharmony_ci			  "UART_AP_RTS_EXPANSION_CTS",
49262306a36Sopenharmony_ci			  "AP_SPI_EC_MISO",
49362306a36Sopenharmony_ci			  "AP_SPI_EC_MOSI",
49462306a36Sopenharmony_ci			  "AP_SPI_EC_CLK",
49562306a36Sopenharmony_ci			  "AP_SPI_EC_CS_L",
49662306a36Sopenharmony_ci
49762306a36Sopenharmony_ci			  /* GPIO2 D 0-4 */
49862306a36Sopenharmony_ci			  "PP2800_CAM_EN",
49962306a36Sopenharmony_ci			  "CLK_24M_CAM",
50062306a36Sopenharmony_ci			  "WLAN_PCIE_CLKREQ_1V8_L",
50162306a36Sopenharmony_ci			  "",
50262306a36Sopenharmony_ci			  "SD_PWR_3000_1800_L";
50362306a36Sopenharmony_ci};
50462306a36Sopenharmony_ci
50562306a36Sopenharmony_ci&gpio3 {
50662306a36Sopenharmony_ci	gpio-line-names = /* GPIO3 A 0-7 */
50762306a36Sopenharmony_ci			  "",
50862306a36Sopenharmony_ci			  "",
50962306a36Sopenharmony_ci			  "",
51062306a36Sopenharmony_ci			  "",
51162306a36Sopenharmony_ci			  "",
51262306a36Sopenharmony_ci			  "",
51362306a36Sopenharmony_ci			  "",
51462306a36Sopenharmony_ci			  "",
51562306a36Sopenharmony_ci
51662306a36Sopenharmony_ci			  /* GPIO3 B 0-7 */
51762306a36Sopenharmony_ci			  "",
51862306a36Sopenharmony_ci			  "",
51962306a36Sopenharmony_ci			  "",
52062306a36Sopenharmony_ci			  "",
52162306a36Sopenharmony_ci			  "",
52262306a36Sopenharmony_ci			  "",
52362306a36Sopenharmony_ci			  "",
52462306a36Sopenharmony_ci			  "",
52562306a36Sopenharmony_ci
52662306a36Sopenharmony_ci			  /* GPIO3 C 0-7 */
52762306a36Sopenharmony_ci			  "",
52862306a36Sopenharmony_ci			  "",
52962306a36Sopenharmony_ci			  "",
53062306a36Sopenharmony_ci			  "",
53162306a36Sopenharmony_ci			  "",
53262306a36Sopenharmony_ci			  "",
53362306a36Sopenharmony_ci			  "",
53462306a36Sopenharmony_ci			  "",
53562306a36Sopenharmony_ci
53662306a36Sopenharmony_ci			  /* GPIO3 D 0-7 */
53762306a36Sopenharmony_ci			  "I2S0_SCLK",
53862306a36Sopenharmony_ci			  "I2S0_LRCK_RX",
53962306a36Sopenharmony_ci			  "I2S0_LRCK_TX",
54062306a36Sopenharmony_ci			  "I2S0_SDI_0",
54162306a36Sopenharmony_ci			  "STRAP_LCDBIAS_L",
54262306a36Sopenharmony_ci			  "STRAP_FEATURE_1",
54362306a36Sopenharmony_ci			  "STRAP_FEATURE_2",
54462306a36Sopenharmony_ci			  "I2S0_SDO_0";
54562306a36Sopenharmony_ci};
54662306a36Sopenharmony_ci
54762306a36Sopenharmony_ci&gpio4 {
54862306a36Sopenharmony_ci	gpio-line-names = /* GPIO4 A 0-7 */
54962306a36Sopenharmony_ci			  "I2S_MCLK",
55062306a36Sopenharmony_ci			  "AP_I2C_EXPANSION_SDA",
55162306a36Sopenharmony_ci			  "AP_I2C_EXPANSION_SCL",
55262306a36Sopenharmony_ci			  "DMIC_EN",
55362306a36Sopenharmony_ci			  "",
55462306a36Sopenharmony_ci			  "",
55562306a36Sopenharmony_ci			  "",
55662306a36Sopenharmony_ci			  "",
55762306a36Sopenharmony_ci
55862306a36Sopenharmony_ci			  /* GPIO4 B 0-7 */
55962306a36Sopenharmony_ci			  "",
56062306a36Sopenharmony_ci			  "",
56162306a36Sopenharmony_ci			  "",
56262306a36Sopenharmony_ci			  "",
56362306a36Sopenharmony_ci			  "",
56462306a36Sopenharmony_ci			  "",
56562306a36Sopenharmony_ci			  "",
56662306a36Sopenharmony_ci			  "",
56762306a36Sopenharmony_ci
56862306a36Sopenharmony_ci			  /* GPIO4 C 0-7 */
56962306a36Sopenharmony_ci			  "AP_I2C_TS_SDA",
57062306a36Sopenharmony_ci			  "AP_I2C_TS_SCL",
57162306a36Sopenharmony_ci			  "GPU_DVS_PWM",
57262306a36Sopenharmony_ci			  "UART_DBG_TX_AP_RX",
57362306a36Sopenharmony_ci			  "UART_AP_TX_DBG_RX",
57462306a36Sopenharmony_ci			  "BL_EN",
57562306a36Sopenharmony_ci			  "BL_PWM",
57662306a36Sopenharmony_ci			  "",
57762306a36Sopenharmony_ci
57862306a36Sopenharmony_ci			  /* GPIO4 D 0-5 */
57962306a36Sopenharmony_ci			  "",
58062306a36Sopenharmony_ci			  "DISPLAY_RST_L",
58162306a36Sopenharmony_ci			  "",
58262306a36Sopenharmony_ci			  "PPVARP_LCD_EN",
58362306a36Sopenharmony_ci			  "PPVARN_LCD_EN",
58462306a36Sopenharmony_ci			  "SD_SLOT_PWR_EN";
58562306a36Sopenharmony_ci};
58662306a36Sopenharmony_ci
58762306a36Sopenharmony_ci&i2c_tunnel {
58862306a36Sopenharmony_ci	google,remote-bus = <0>;
58962306a36Sopenharmony_ci};
59062306a36Sopenharmony_ci
59162306a36Sopenharmony_ci&io_domains {
59262306a36Sopenharmony_ci	bt656-supply = <&pp1800_s0>;		/* APIO2_VDD;  2a 2b */
59362306a36Sopenharmony_ci	audio-supply = <&pp1800_s0>;		/* APIO5_VDD;  3d 4a */
59462306a36Sopenharmony_ci	gpio1830-supply = <&pp1800_s0>;		/* APIO4_VDD;  4c 4d */
59562306a36Sopenharmony_ci};
59662306a36Sopenharmony_ci
59762306a36Sopenharmony_ci&isp0 {
59862306a36Sopenharmony_ci	status = "okay";
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ci	ports {
60162306a36Sopenharmony_ci		port@0 {
60262306a36Sopenharmony_ci			mipi_in_wcam: endpoint@0 {
60362306a36Sopenharmony_ci				reg = <0>;
60462306a36Sopenharmony_ci				remote-endpoint = <&wcam_out>;
60562306a36Sopenharmony_ci				data-lanes = <1 2>;
60662306a36Sopenharmony_ci			};
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_ci			mipi_in_ucam: endpoint@1 {
60962306a36Sopenharmony_ci				reg = <1>;
61062306a36Sopenharmony_ci				remote-endpoint = <&ucam_out>;
61162306a36Sopenharmony_ci				data-lanes = <1>;
61262306a36Sopenharmony_ci			};
61362306a36Sopenharmony_ci		};
61462306a36Sopenharmony_ci	};
61562306a36Sopenharmony_ci};
61662306a36Sopenharmony_ci
61762306a36Sopenharmony_ci&isp0_mmu {
61862306a36Sopenharmony_ci	status = "okay";
61962306a36Sopenharmony_ci};
62062306a36Sopenharmony_ci
62162306a36Sopenharmony_ci&max98357a {
62262306a36Sopenharmony_ci	sdmode-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
62362306a36Sopenharmony_ci};
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_ci&mipi_dphy_rx0 {
62662306a36Sopenharmony_ci	status = "okay";
62762306a36Sopenharmony_ci};
62862306a36Sopenharmony_ci
62962306a36Sopenharmony_ci&mipi_dsi {
63062306a36Sopenharmony_ci	status = "okay";
63162306a36Sopenharmony_ci	clock-master;
63262306a36Sopenharmony_ci
63362306a36Sopenharmony_ci	ports {
63462306a36Sopenharmony_ci		mipi_out: port@1 {
63562306a36Sopenharmony_ci			reg = <1>;
63662306a36Sopenharmony_ci
63762306a36Sopenharmony_ci			mipi_out_panel: endpoint {
63862306a36Sopenharmony_ci				remote-endpoint = <&mipi_in_panel>;
63962306a36Sopenharmony_ci			};
64062306a36Sopenharmony_ci		};
64162306a36Sopenharmony_ci	};
64262306a36Sopenharmony_ci
64362306a36Sopenharmony_ci	mipi_panel: panel@0 {
64462306a36Sopenharmony_ci		/* 2 different panels are used, compatibles are in dts files */
64562306a36Sopenharmony_ci		reg = <0>;
64662306a36Sopenharmony_ci		backlight = <&backlight>;
64762306a36Sopenharmony_ci		enable-gpios = <&gpio4 25 GPIO_ACTIVE_HIGH>;
64862306a36Sopenharmony_ci		pinctrl-names = "default";
64962306a36Sopenharmony_ci		pinctrl-0 = <&display_rst_l>;
65062306a36Sopenharmony_ci
65162306a36Sopenharmony_ci		ports {
65262306a36Sopenharmony_ci			#address-cells = <1>;
65362306a36Sopenharmony_ci			#size-cells = <0>;
65462306a36Sopenharmony_ci
65562306a36Sopenharmony_ci			port@0 {
65662306a36Sopenharmony_ci				reg = <0>;
65762306a36Sopenharmony_ci
65862306a36Sopenharmony_ci				mipi_in_panel: endpoint {
65962306a36Sopenharmony_ci					remote-endpoint = <&mipi_out_panel>;
66062306a36Sopenharmony_ci				};
66162306a36Sopenharmony_ci			};
66262306a36Sopenharmony_ci
66362306a36Sopenharmony_ci			port@1 {
66462306a36Sopenharmony_ci				reg = <1>;
66562306a36Sopenharmony_ci
66662306a36Sopenharmony_ci				mipi1_in_panel: endpoint@1 {
66762306a36Sopenharmony_ci					remote-endpoint = <&mipi1_out_panel>;
66862306a36Sopenharmony_ci				};
66962306a36Sopenharmony_ci			};
67062306a36Sopenharmony_ci		};
67162306a36Sopenharmony_ci	};
67262306a36Sopenharmony_ci};
67362306a36Sopenharmony_ci
67462306a36Sopenharmony_ci&mipi_dsi1 {
67562306a36Sopenharmony_ci	status = "okay";
67662306a36Sopenharmony_ci
67762306a36Sopenharmony_ci	ports {
67862306a36Sopenharmony_ci		mipi1_out: port@1 {
67962306a36Sopenharmony_ci			reg = <1>;
68062306a36Sopenharmony_ci
68162306a36Sopenharmony_ci			mipi1_out_panel: endpoint {
68262306a36Sopenharmony_ci				remote-endpoint = <&mipi1_in_panel>;
68362306a36Sopenharmony_ci			};
68462306a36Sopenharmony_ci		};
68562306a36Sopenharmony_ci	};
68662306a36Sopenharmony_ci};
68762306a36Sopenharmony_ci
68862306a36Sopenharmony_ci&pcie0 {
68962306a36Sopenharmony_ci	ep-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
69062306a36Sopenharmony_ci
69162306a36Sopenharmony_ci	/* PERST# asserted in S3 */
69262306a36Sopenharmony_ci	pcie-reset-suspend = <1>;
69362306a36Sopenharmony_ci
69462306a36Sopenharmony_ci	vpcie3v3-supply = <&wlan_3v3>;
69562306a36Sopenharmony_ci	vpcie1v8-supply = <&pp1800_pcie>;
69662306a36Sopenharmony_ci};
69762306a36Sopenharmony_ci
69862306a36Sopenharmony_ci&sdmmc {
69962306a36Sopenharmony_ci	cd-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
70062306a36Sopenharmony_ci};
70162306a36Sopenharmony_ci
70262306a36Sopenharmony_ci&sound {
70362306a36Sopenharmony_ci	rockchip,codec = <&max98357a &dmic &codec &cdn_dp>;
70462306a36Sopenharmony_ci};
70562306a36Sopenharmony_ci
70662306a36Sopenharmony_ci&spi2 {
70762306a36Sopenharmony_ci	status = "okay";
70862306a36Sopenharmony_ci
70962306a36Sopenharmony_ci	cr50@0 {
71062306a36Sopenharmony_ci		compatible = "google,cr50";
71162306a36Sopenharmony_ci		reg = <0>;
71262306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
71362306a36Sopenharmony_ci		interrupts = <17 IRQ_TYPE_EDGE_RISING>;
71462306a36Sopenharmony_ci		pinctrl-names = "default";
71562306a36Sopenharmony_ci		pinctrl-0 = <&h1_int_od_l>;
71662306a36Sopenharmony_ci		spi-max-frequency = <800000>;
71762306a36Sopenharmony_ci	};
71862306a36Sopenharmony_ci};
71962306a36Sopenharmony_ci
72062306a36Sopenharmony_ci&usb_host0_ohci {
72162306a36Sopenharmony_ci	#address-cells = <1>;
72262306a36Sopenharmony_ci	#size-cells = <0>;
72362306a36Sopenharmony_ci
72462306a36Sopenharmony_ci	qca_bt: bluetooth@1 {
72562306a36Sopenharmony_ci		compatible = "usbcf3,e300", "usb4ca,301a";
72662306a36Sopenharmony_ci		reg = <1>;
72762306a36Sopenharmony_ci		pinctrl-names = "default";
72862306a36Sopenharmony_ci		pinctrl-0 = <&bt_host_wake_l>;
72962306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
73062306a36Sopenharmony_ci		interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
73162306a36Sopenharmony_ci		interrupt-names = "wakeup";
73262306a36Sopenharmony_ci	};
73362306a36Sopenharmony_ci};
73462306a36Sopenharmony_ci
73562306a36Sopenharmony_ci/* PINCTRL OVERRIDES */
73662306a36Sopenharmony_ci&ap_fw_wp {
73762306a36Sopenharmony_ci	rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
73862306a36Sopenharmony_ci};
73962306a36Sopenharmony_ci
74062306a36Sopenharmony_ci&bl_en {
74162306a36Sopenharmony_ci	rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
74262306a36Sopenharmony_ci};
74362306a36Sopenharmony_ci
74462306a36Sopenharmony_ci&bt_host_wake_l {
74562306a36Sopenharmony_ci	rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
74662306a36Sopenharmony_ci};
74762306a36Sopenharmony_ci
74862306a36Sopenharmony_ci&ec_ap_int_l {
74962306a36Sopenharmony_ci	rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>;
75062306a36Sopenharmony_ci};
75162306a36Sopenharmony_ci
75262306a36Sopenharmony_ci&headset_int_l {
75362306a36Sopenharmony_ci	rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
75462306a36Sopenharmony_ci};
75562306a36Sopenharmony_ci
75662306a36Sopenharmony_ci&i2s0_8ch_bus {
75762306a36Sopenharmony_ci	rockchip,pins =
75862306a36Sopenharmony_ci		<3 RK_PD0 1 &pcfg_pull_none_6ma>,
75962306a36Sopenharmony_ci		<3 RK_PD1 1 &pcfg_pull_none_6ma>,
76062306a36Sopenharmony_ci		<3 RK_PD2 1 &pcfg_pull_none_6ma>,
76162306a36Sopenharmony_ci		<3 RK_PD3 1 &pcfg_pull_none_6ma>,
76262306a36Sopenharmony_ci		<3 RK_PD7 1 &pcfg_pull_none_6ma>,
76362306a36Sopenharmony_ci		<4 RK_PA0 1 &pcfg_pull_none_6ma>;
76462306a36Sopenharmony_ci};
76562306a36Sopenharmony_ci
76662306a36Sopenharmony_ci&i2s0_8ch_bus_bclk_off {
76762306a36Sopenharmony_ci	rockchip,pins =
76862306a36Sopenharmony_ci		<3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none_6ma>,
76962306a36Sopenharmony_ci		<3 RK_PD1 1 &pcfg_pull_none_6ma>,
77062306a36Sopenharmony_ci		<3 RK_PD2 1 &pcfg_pull_none_6ma>,
77162306a36Sopenharmony_ci		<3 RK_PD3 1 &pcfg_pull_none_6ma>,
77262306a36Sopenharmony_ci		<3 RK_PD7 1 &pcfg_pull_none_6ma>,
77362306a36Sopenharmony_ci		<4 RK_PA0 1 &pcfg_pull_none_6ma>;
77462306a36Sopenharmony_ci};
77562306a36Sopenharmony_ci
77662306a36Sopenharmony_ci/* there is no external pull up, so need to set this pin pull up */
77762306a36Sopenharmony_ci&sdmmc_cd_pin {
77862306a36Sopenharmony_ci	rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>;
77962306a36Sopenharmony_ci};
78062306a36Sopenharmony_ci
78162306a36Sopenharmony_ci&sd_pwr_1800_sel {
78262306a36Sopenharmony_ci	rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
78362306a36Sopenharmony_ci};
78462306a36Sopenharmony_ci
78562306a36Sopenharmony_ci&sdmode_en {
78662306a36Sopenharmony_ci	rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_down>;
78762306a36Sopenharmony_ci};
78862306a36Sopenharmony_ci
78962306a36Sopenharmony_ci&touch_reset_l {
79062306a36Sopenharmony_ci	rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
79162306a36Sopenharmony_ci};
79262306a36Sopenharmony_ci
79362306a36Sopenharmony_ci&touch_int_l {
79462306a36Sopenharmony_ci	rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
79562306a36Sopenharmony_ci};
79662306a36Sopenharmony_ci
79762306a36Sopenharmony_ci&pinctrl {
79862306a36Sopenharmony_ci	pinctrl-0 = <
79962306a36Sopenharmony_ci		&ap_pwroff	/* AP will auto-assert this when in S3 */
80062306a36Sopenharmony_ci		&clk_32k	/* This pin is always 32k on gru boards */
80162306a36Sopenharmony_ci		&wlan_rf_kill_1v8_l
80262306a36Sopenharmony_ci	>;
80362306a36Sopenharmony_ci
80462306a36Sopenharmony_ci	pcfg_pull_none_6ma: pcfg-pull-none-6ma {
80562306a36Sopenharmony_ci		bias-disable;
80662306a36Sopenharmony_ci		drive-strength = <6>;
80762306a36Sopenharmony_ci	};
80862306a36Sopenharmony_ci
80962306a36Sopenharmony_ci	camera {
81062306a36Sopenharmony_ci		pp1250_cam_en: pp1250-dvdd {
81162306a36Sopenharmony_ci			rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
81262306a36Sopenharmony_ci		};
81362306a36Sopenharmony_ci
81462306a36Sopenharmony_ci		pp2800_cam_en: pp2800-avdd {
81562306a36Sopenharmony_ci			rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
81662306a36Sopenharmony_ci		};
81762306a36Sopenharmony_ci
81862306a36Sopenharmony_ci		ucam_rst: ucam_rst {
81962306a36Sopenharmony_ci			rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
82062306a36Sopenharmony_ci		};
82162306a36Sopenharmony_ci
82262306a36Sopenharmony_ci		wcam_rst: wcam_rst {
82362306a36Sopenharmony_ci			rockchip,pins = <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
82462306a36Sopenharmony_ci		};
82562306a36Sopenharmony_ci	};
82662306a36Sopenharmony_ci
82762306a36Sopenharmony_ci	digitizer {
82862306a36Sopenharmony_ci		pen_int_odl: pen-int-odl {
82962306a36Sopenharmony_ci			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
83062306a36Sopenharmony_ci		};
83162306a36Sopenharmony_ci
83262306a36Sopenharmony_ci		pen_reset_l: pen-reset-l {
83362306a36Sopenharmony_ci			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
83462306a36Sopenharmony_ci		};
83562306a36Sopenharmony_ci	};
83662306a36Sopenharmony_ci
83762306a36Sopenharmony_ci	discrete-regulators {
83862306a36Sopenharmony_ci		display_rst_l: display-rst-l {
83962306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_down>;
84062306a36Sopenharmony_ci		};
84162306a36Sopenharmony_ci
84262306a36Sopenharmony_ci		ppvarp_lcd_en: ppvarp-lcd-en {
84362306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
84462306a36Sopenharmony_ci		};
84562306a36Sopenharmony_ci
84662306a36Sopenharmony_ci		ppvarn_lcd_en: ppvarn-lcd-en {
84762306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
84862306a36Sopenharmony_ci		};
84962306a36Sopenharmony_ci	};
85062306a36Sopenharmony_ci
85162306a36Sopenharmony_ci	dmic {
85262306a36Sopenharmony_ci		dmic_en: dmic-en {
85362306a36Sopenharmony_ci			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
85462306a36Sopenharmony_ci		};
85562306a36Sopenharmony_ci	};
85662306a36Sopenharmony_ci
85762306a36Sopenharmony_ci	pen {
85862306a36Sopenharmony_ci		pen_eject_odl: pen-eject-odl {
85962306a36Sopenharmony_ci			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
86062306a36Sopenharmony_ci		};
86162306a36Sopenharmony_ci	};
86262306a36Sopenharmony_ci
86362306a36Sopenharmony_ci	tpm {
86462306a36Sopenharmony_ci		h1_int_od_l: h1-int-od-l {
86562306a36Sopenharmony_ci			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
86662306a36Sopenharmony_ci		};
86762306a36Sopenharmony_ci	};
86862306a36Sopenharmony_ci};
86962306a36Sopenharmony_ci
87062306a36Sopenharmony_ci&wifi {
87162306a36Sopenharmony_ci	bt_en_1v8_l: bt-en-1v8-l {
87262306a36Sopenharmony_ci		rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
87362306a36Sopenharmony_ci	};
87462306a36Sopenharmony_ci
87562306a36Sopenharmony_ci	wlan_pd_1v8_l: wlan-pd-1v8-l {
87662306a36Sopenharmony_ci		rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
87762306a36Sopenharmony_ci	};
87862306a36Sopenharmony_ci
87962306a36Sopenharmony_ci	/* Default pull-up, but just to be clear */
88062306a36Sopenharmony_ci	wlan_rf_kill_1v8_l: wlan-rf-kill-1v8-l {
88162306a36Sopenharmony_ci		rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
88262306a36Sopenharmony_ci	};
88362306a36Sopenharmony_ci
88462306a36Sopenharmony_ci	wifi_perst_l: wifi-perst-l {
88562306a36Sopenharmony_ci		rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
88662306a36Sopenharmony_ci	};
88762306a36Sopenharmony_ci
88862306a36Sopenharmony_ci	wlan_host_wake_l: wlan-host-wake-l {
88962306a36Sopenharmony_ci		rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
89062306a36Sopenharmony_ci	};
89162306a36Sopenharmony_ci};
892