162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * sc7280 Qcard device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Qcard PCB has the processor, RAM, eMMC (if stuffed), and eDP connector (if
662306a36Sopenharmony_ci * stuffed) on it. This device tree tries to encapsulate all the things that
762306a36Sopenharmony_ci * all boards using Qcard will have in common. Given that there are stuffing
862306a36Sopenharmony_ci * options, some things may be left with status "disabled" and enabled in
962306a36Sopenharmony_ci * the actual board device tree files.
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * Copyright 2022 Google LLC.
1262306a36Sopenharmony_ci */
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
1562306a36Sopenharmony_ci#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h>
1662306a36Sopenharmony_ci#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
1762306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#include "sc7280.dtsi"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci/* PMICs depend on spmi_bus label and so must come after SoC */
2262306a36Sopenharmony_ci#include "pm7325.dtsi"
2362306a36Sopenharmony_ci#include "pm8350c.dtsi"
2462306a36Sopenharmony_ci#include "pmk8350.dtsi"
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci/ {
2762306a36Sopenharmony_ci	aliases {
2862306a36Sopenharmony_ci		bluetooth0 = &bluetooth;
2962306a36Sopenharmony_ci		serial0 = &uart5;
3062306a36Sopenharmony_ci		serial1 = &uart7;
3162306a36Sopenharmony_ci		wifi0 = &wifi;
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	wcd9385: audio-codec-1 {
3562306a36Sopenharmony_ci		compatible = "qcom,wcd9385-codec";
3662306a36Sopenharmony_ci		pinctrl-names = "default", "sleep";
3762306a36Sopenharmony_ci		pinctrl-0 = <&wcd_reset_n>, <&us_euro_hs_sel>;
3862306a36Sopenharmony_ci		pinctrl-1 = <&wcd_reset_n_sleep>, <&us_euro_hs_sel>;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		reset-gpios = <&tlmm 83 GPIO_ACTIVE_LOW>;
4162306a36Sopenharmony_ci		us-euro-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci		qcom,rx-device = <&wcd_rx>;
4462306a36Sopenharmony_ci		qcom,tx-device = <&wcd_tx>;
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci		vdd-rxtx-supply = <&vreg_l18b_1p8>;
4762306a36Sopenharmony_ci		vdd-io-supply = <&vreg_l18b_1p8>;
4862306a36Sopenharmony_ci		vdd-buck-supply = <&vreg_l17b_1p8>;
4962306a36Sopenharmony_ci		vdd-mic-bias-supply = <&vreg_bob>;
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		qcom,micbias1-microvolt = <1800000>;
5262306a36Sopenharmony_ci		qcom,micbias2-microvolt = <1800000>;
5362306a36Sopenharmony_ci		qcom,micbias3-microvolt = <1800000>;
5462306a36Sopenharmony_ci		qcom,micbias4-microvolt = <1800000>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000
5762306a36Sopenharmony_ci							  500000 500000 500000>;
5862306a36Sopenharmony_ci		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
5962306a36Sopenharmony_ci		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
6062306a36Sopenharmony_ci		#sound-dai-cells = <1>;
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci		status = "disabled";
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci	pm8350c_pwm_backlight: backlight {
6662306a36Sopenharmony_ci		compatible = "pwm-backlight";
6762306a36Sopenharmony_ci		status = "disabled";
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci		enable-gpios = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
7062306a36Sopenharmony_ci		pinctrl-names = "default";
7162306a36Sopenharmony_ci		pinctrl-0 = <&pmic_edp_bl_en>;
7262306a36Sopenharmony_ci		pwms = <&pm8350c_pwm 3 65535>;
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci&apps_rsc {
7762306a36Sopenharmony_ci	/*
7862306a36Sopenharmony_ci	 * Regulators are given labels corresponding to the various names
7962306a36Sopenharmony_ci	 * they are referred to on schematics. They are also given labels
8062306a36Sopenharmony_ci	 * corresponding to named voltage inputs on the SoC or components
8162306a36Sopenharmony_ci	 * bundled with the SoC (like radio companion chips). We totally
8262306a36Sopenharmony_ci	 * ignore it when one regulator is the input to another regulator.
8362306a36Sopenharmony_ci	 * That's handled automatically by the initial config given to
8462306a36Sopenharmony_ci	 * RPMH by the firmware.
8562306a36Sopenharmony_ci	 *
8662306a36Sopenharmony_ci	 * Regulators that the HLOS (High Level OS) doesn't touch at all
8762306a36Sopenharmony_ci	 * are left out of here since they are managed elsewhere.
8862306a36Sopenharmony_ci	 */
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	regulators-0 {
9162306a36Sopenharmony_ci		compatible = "qcom,pm7325-rpmh-regulators";
9262306a36Sopenharmony_ci		qcom,pmic-id = "b";
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci		vdd19_pmu_pcie_i:
9562306a36Sopenharmony_ci		vdd19_pmu_rfa_i:
9662306a36Sopenharmony_ci		vreg_s1b_1p856: smps1 {
9762306a36Sopenharmony_ci			regulator-min-microvolt = <1856000>;
9862306a36Sopenharmony_ci			regulator-max-microvolt = <2040000>;
9962306a36Sopenharmony_ci		};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci		vdd_pmu_aon_i:
10262306a36Sopenharmony_ci		vdd09_pmu_rfa_i:
10362306a36Sopenharmony_ci		vdd095_mx_pmu:
10462306a36Sopenharmony_ci		vdd095_pmu:
10562306a36Sopenharmony_ci		vreg_s7b_0p952: smps7 {
10662306a36Sopenharmony_ci			regulator-min-microvolt = <535000>;
10762306a36Sopenharmony_ci			regulator-max-microvolt = <1120000>;
10862306a36Sopenharmony_ci		};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci		vdd13_pmu_rfa_i:
11162306a36Sopenharmony_ci		vdd13_pmu_pcie_i:
11262306a36Sopenharmony_ci		vreg_s8b_1p256: smps8 {
11362306a36Sopenharmony_ci			regulator-min-microvolt = <1256000>;
11462306a36Sopenharmony_ci			regulator-max-microvolt = <1500000>;
11562306a36Sopenharmony_ci		};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci		vdd_a_usbssdp_0_core:
11862306a36Sopenharmony_ci		vreg_l1b_0p912: ldo1 {
11962306a36Sopenharmony_ci			regulator-min-microvolt = <825000>;
12062306a36Sopenharmony_ci			regulator-max-microvolt = <925000>;
12162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
12262306a36Sopenharmony_ci		};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci		vdd_a_usbhs_3p1:
12562306a36Sopenharmony_ci		vreg_l2b_3p072: ldo2 {
12662306a36Sopenharmony_ci			regulator-min-microvolt = <2700000>;
12762306a36Sopenharmony_ci			regulator-max-microvolt = <3544000>;
12862306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
12962306a36Sopenharmony_ci		};
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci		vdd_a_csi_0_1_1p2:
13262306a36Sopenharmony_ci		vdd_a_csi_2_3_1p2:
13362306a36Sopenharmony_ci		vdd_a_csi_4_1p2:
13462306a36Sopenharmony_ci		vdd_a_dsi_0_1p2:
13562306a36Sopenharmony_ci		vdd_a_edp_0_1p2:
13662306a36Sopenharmony_ci		vdd_a_qlink_0_1p2:
13762306a36Sopenharmony_ci		vdd_a_qlink_1_1p2:
13862306a36Sopenharmony_ci		vdd_a_pcie_0_1p2:
13962306a36Sopenharmony_ci		vdd_a_pcie_1_1p2:
14062306a36Sopenharmony_ci		vdd_a_ufs_0_1p2:
14162306a36Sopenharmony_ci		vdd_a_usbssdp_0_1p2:
14262306a36Sopenharmony_ci		vreg_l6b_1p2: ldo6 {
14362306a36Sopenharmony_ci			regulator-min-microvolt = <1140000>;
14462306a36Sopenharmony_ci			regulator-max-microvolt = <1260000>;
14562306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
14662306a36Sopenharmony_ci		};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci		/*
14962306a36Sopenharmony_ci		 * Despite the fact that this is named to be 2.5V on the
15062306a36Sopenharmony_ci		 * schematic, it powers eMMC which doesn't accept 2.5V
15162306a36Sopenharmony_ci		 */
15262306a36Sopenharmony_ci		vreg_l7b_2p5: ldo7 {
15362306a36Sopenharmony_ci			regulator-min-microvolt = <2960000>;
15462306a36Sopenharmony_ci			regulator-max-microvolt = <2960000>;
15562306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci		vreg_l17b_1p8: ldo17 {
15962306a36Sopenharmony_ci			regulator-min-microvolt = <1700000>;
16062306a36Sopenharmony_ci			regulator-max-microvolt = <1900000>;
16162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
16262306a36Sopenharmony_ci		};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci		vdd_px_wcd9385:
16562306a36Sopenharmony_ci		vdd_txrx:
16662306a36Sopenharmony_ci		vddpx_0:
16762306a36Sopenharmony_ci		vddpx_3:
16862306a36Sopenharmony_ci		vddpx_7:
16962306a36Sopenharmony_ci		vreg_l18b_1p8: ldo18 {
17062306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
17162306a36Sopenharmony_ci			regulator-max-microvolt = <2000000>;
17262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
17362306a36Sopenharmony_ci		};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci		vdd_1p8:
17662306a36Sopenharmony_ci		vdd_px_sdr735:
17762306a36Sopenharmony_ci		vdd_pxm:
17862306a36Sopenharmony_ci		vdd18_io:
17962306a36Sopenharmony_ci		vddio_px_1:
18062306a36Sopenharmony_ci		vddio_px_2:
18162306a36Sopenharmony_ci		vddio_px_3:
18262306a36Sopenharmony_ci		vddpx_ts:
18362306a36Sopenharmony_ci		vddpx_wl4otp:
18462306a36Sopenharmony_ci		vreg_l19b_1p8: ldo19 {
18562306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
18662306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
18762306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
18862306a36Sopenharmony_ci		};
18962306a36Sopenharmony_ci	};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci	regulators-1 {
19262306a36Sopenharmony_ci		compatible = "qcom,pm8350c-rpmh-regulators";
19362306a36Sopenharmony_ci		qcom,pmic-id = "c";
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci		vdd22_wlbtpa_ch0:
19662306a36Sopenharmony_ci		vdd22_wlbtpa_ch1:
19762306a36Sopenharmony_ci		vdd22_wlbtppa_ch0:
19862306a36Sopenharmony_ci		vdd22_wlbtppa_ch1:
19962306a36Sopenharmony_ci		vdd22_wlpa5g_ch0:
20062306a36Sopenharmony_ci		vdd22_wlpa5g_ch1:
20162306a36Sopenharmony_ci		vdd22_wlppa5g_ch0:
20262306a36Sopenharmony_ci		vdd22_wlppa5g_ch1:
20362306a36Sopenharmony_ci		vreg_s1c_2p2: smps1 {
20462306a36Sopenharmony_ci			regulator-min-microvolt = <2190000>;
20562306a36Sopenharmony_ci			regulator-max-microvolt = <2210000>;
20662306a36Sopenharmony_ci		};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci		lp4_vdd2_1p052:
20962306a36Sopenharmony_ci		vreg_s9c_0p676: smps9 {
21062306a36Sopenharmony_ci			regulator-min-microvolt = <1010000>;
21162306a36Sopenharmony_ci			regulator-max-microvolt = <1170000>;
21262306a36Sopenharmony_ci		};
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci		vdda_apc_cs_1p8:
21562306a36Sopenharmony_ci		vdda_gfx_cs_1p8:
21662306a36Sopenharmony_ci		vdda_turing_q6_cs_1p8:
21762306a36Sopenharmony_ci		vdd_a_cxo_1p8:
21862306a36Sopenharmony_ci		vdd_a_qrefs_1p8:
21962306a36Sopenharmony_ci		vdd_a_usbhs_1p8:
22062306a36Sopenharmony_ci		vdd_qfprom:
22162306a36Sopenharmony_ci		vreg_l1c_1p8: ldo1 {
22262306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
22362306a36Sopenharmony_ci			regulator-max-microvolt = <1980000>;
22462306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22562306a36Sopenharmony_ci		};
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci		vreg_l2c_1p8: ldo2 {
22862306a36Sopenharmony_ci			regulator-min-microvolt = <1620000>;
22962306a36Sopenharmony_ci			regulator-max-microvolt = <1980000>;
23062306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23162306a36Sopenharmony_ci		};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci		/*
23462306a36Sopenharmony_ci		 * The initial design of this regulator was to use it as 3.3V,
23562306a36Sopenharmony_ci		 * but due to later changes in design it was changed to 1.8V.
23662306a36Sopenharmony_ci		 * The original name is kept due to same schematic.
23762306a36Sopenharmony_ci		 */
23862306a36Sopenharmony_ci		ts_avccio:
23962306a36Sopenharmony_ci		vreg_l3c_3p0: ldo3 {
24062306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
24162306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
24262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24362306a36Sopenharmony_ci		};
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci		vddpx_5:
24662306a36Sopenharmony_ci		vreg_l4c_1p8_3p0: ldo4 {
24762306a36Sopenharmony_ci			regulator-min-microvolt = <1620000>;
24862306a36Sopenharmony_ci			regulator-max-microvolt = <3300000>;
24962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25062306a36Sopenharmony_ci		};
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci		vddpx_6:
25362306a36Sopenharmony_ci		vreg_l5c_1p8_3p0: ldo5 {
25462306a36Sopenharmony_ci			regulator-min-microvolt = <1620000>;
25562306a36Sopenharmony_ci			regulator-max-microvolt = <3300000>;
25662306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25762306a36Sopenharmony_ci		};
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci		vddpx_2:
26062306a36Sopenharmony_ci		vreg_l6c_2p96: ldo6 {
26162306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
26262306a36Sopenharmony_ci			regulator-max-microvolt = <2950000>;
26362306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26462306a36Sopenharmony_ci		};
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ci		vreg_l7c_3p0: ldo7 {
26762306a36Sopenharmony_ci			regulator-min-microvolt = <3000000>;
26862306a36Sopenharmony_ci			regulator-max-microvolt = <3544000>;
26962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
27062306a36Sopenharmony_ci		};
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci		vreg_l8c_1p8: ldo8 {
27362306a36Sopenharmony_ci			regulator-min-microvolt = <1620000>;
27462306a36Sopenharmony_ci			regulator-max-microvolt = <2000000>;
27562306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
27662306a36Sopenharmony_ci		};
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci		vreg_l9c_2p96: ldo9 {
27962306a36Sopenharmony_ci			regulator-min-microvolt = <2960000>;
28062306a36Sopenharmony_ci			regulator-max-microvolt = <2960000>;
28162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
28262306a36Sopenharmony_ci		};
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci		vdd_a_csi_0_1_0p9:
28562306a36Sopenharmony_ci		vdd_a_csi_2_3_0p9:
28662306a36Sopenharmony_ci		vdd_a_csi_4_0p9:
28762306a36Sopenharmony_ci		vdd_a_dsi_0_0p9:
28862306a36Sopenharmony_ci		vdd_a_dsi_0_pll_0p9:
28962306a36Sopenharmony_ci		vdd_a_edp_0_0p9:
29062306a36Sopenharmony_ci		vdd_a_gnss_0p9:
29162306a36Sopenharmony_ci		vdd_a_pcie_0_core:
29262306a36Sopenharmony_ci		vdd_a_pcie_1_core:
29362306a36Sopenharmony_ci		vdd_a_qlink_0_0p9:
29462306a36Sopenharmony_ci		vdd_a_qlink_0_0p9_ck:
29562306a36Sopenharmony_ci		vdd_a_qlink_1_0p9:
29662306a36Sopenharmony_ci		vdd_a_qlink_1_0p9_ck:
29762306a36Sopenharmony_ci		vdd_a_qrefs_0p875_0:
29862306a36Sopenharmony_ci		vdd_a_qrefs_0p875_1:
29962306a36Sopenharmony_ci		vdd_a_qrefs_0p875_2:
30062306a36Sopenharmony_ci		vdd_a_qrefs_0p875_3:
30162306a36Sopenharmony_ci		vdd_a_qrefs_0p875_4_5:
30262306a36Sopenharmony_ci		vdd_a_qrefs_0p875_6:
30362306a36Sopenharmony_ci		vdd_a_qrefs_0p875_7:
30462306a36Sopenharmony_ci		vdd_a_qrefs_0p875_8:
30562306a36Sopenharmony_ci		vdd_a_qrefs_0p875_9:
30662306a36Sopenharmony_ci		vdd_a_ufs_0_core:
30762306a36Sopenharmony_ci		vdd_a_usbhs_core:
30862306a36Sopenharmony_ci		vreg_l10c_0p88: ldo10 {
30962306a36Sopenharmony_ci			regulator-min-microvolt = <720000>;
31062306a36Sopenharmony_ci			regulator-max-microvolt = <1050000>;
31162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
31262306a36Sopenharmony_ci		};
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ci		vreg_l11c_2p8: ldo11 {
31562306a36Sopenharmony_ci			regulator-min-microvolt = <2800000>;
31662306a36Sopenharmony_ci			regulator-max-microvolt = <3544000>;
31762306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
31862306a36Sopenharmony_ci		};
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci		vreg_l12c_1p8: ldo12 {
32162306a36Sopenharmony_ci			regulator-min-microvolt = <1650000>;
32262306a36Sopenharmony_ci			regulator-max-microvolt = <2000000>;
32362306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
32462306a36Sopenharmony_ci		};
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci		vreg_l13c_3p0: ldo13 {
32762306a36Sopenharmony_ci			regulator-min-microvolt = <2700000>;
32862306a36Sopenharmony_ci			regulator-max-microvolt = <3544000>;
32962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
33062306a36Sopenharmony_ci		};
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ci		vdd_flash:
33362306a36Sopenharmony_ci		vdd_iris_rgb:
33462306a36Sopenharmony_ci		vdd_mic_bias:
33562306a36Sopenharmony_ci		vreg_bob: bob {
33662306a36Sopenharmony_ci			regulator-min-microvolt = <3008000>;
33762306a36Sopenharmony_ci			regulator-max-microvolt = <3960000>;
33862306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
33962306a36Sopenharmony_ci		};
34062306a36Sopenharmony_ci	};
34162306a36Sopenharmony_ci};
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ci&lpass_va_macro {
34662306a36Sopenharmony_ci	vdd-micb-supply = <&vreg_bob>;
34762306a36Sopenharmony_ci};
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci/* NOTE: Not all Qcards have eDP connector stuffed */
35062306a36Sopenharmony_ci&mdss_edp {
35162306a36Sopenharmony_ci	aux-bus {
35262306a36Sopenharmony_ci		edp_panel: panel {
35362306a36Sopenharmony_ci			compatible = "edp-panel";
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci			backlight = <&pm8350c_pwm_backlight>;
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci			port {
35862306a36Sopenharmony_ci				edp_panel_in: endpoint {
35962306a36Sopenharmony_ci					remote-endpoint = <&mdss_edp_out>;
36062306a36Sopenharmony_ci				};
36162306a36Sopenharmony_ci			};
36262306a36Sopenharmony_ci		};
36362306a36Sopenharmony_ci	};
36462306a36Sopenharmony_ci};
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ci&mdss_edp_out {
36762306a36Sopenharmony_ci	remote-endpoint = <&edp_panel_in>;
36862306a36Sopenharmony_ci};
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci&mdss_edp_phy {
37162306a36Sopenharmony_ci	vdda-pll-supply = <&vdd_a_edp_0_0p9>;
37262306a36Sopenharmony_ci	vdda-phy-supply = <&vdd_a_edp_0_1p2>;
37362306a36Sopenharmony_ci};
37462306a36Sopenharmony_ci
37562306a36Sopenharmony_ci&pcie1_phy {
37662306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l10c_0p88>;
37762306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l6b_1p2>;
37862306a36Sopenharmony_ci};
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_ci&pm8350c_pwm {
38162306a36Sopenharmony_ci	pinctrl-names = "default";
38262306a36Sopenharmony_ci	pinctrl-0 = <&pmic_edp_bl_pwm>;
38362306a36Sopenharmony_ci};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci&pmk8350_vadc {
38662306a36Sopenharmony_ci	channel@3 {
38762306a36Sopenharmony_ci		reg = <PMK8350_ADC7_DIE_TEMP>;
38862306a36Sopenharmony_ci		label = "pmk8350_die_temp";
38962306a36Sopenharmony_ci		qcom,pre-scaling = <1 1>;
39062306a36Sopenharmony_ci	};
39162306a36Sopenharmony_ci
39262306a36Sopenharmony_ci	channel@403 {
39362306a36Sopenharmony_ci		reg = <PMR735A_ADC7_DIE_TEMP>;
39462306a36Sopenharmony_ci		label = "pmr735a_die_temp";
39562306a36Sopenharmony_ci		qcom,pre-scaling = <1 1>;
39662306a36Sopenharmony_ci	};
39762306a36Sopenharmony_ci};
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci&qfprom {
40062306a36Sopenharmony_ci	vcc-supply = <&vdd_qfprom>;
40162306a36Sopenharmony_ci};
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci/* For eMMC. NOTE: not all Qcards have eMMC stuffed */
40462306a36Sopenharmony_ci&sdhc_1 {
40562306a36Sopenharmony_ci	vmmc-supply = <&vreg_l7b_2p5>;
40662306a36Sopenharmony_ci	vqmmc-supply = <&vreg_l19b_1p8>;
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ci	non-removable;
40962306a36Sopenharmony_ci	no-sd;
41062306a36Sopenharmony_ci	no-sdio;
41162306a36Sopenharmony_ci};
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci&swr0 {
41462306a36Sopenharmony_ci	wcd_rx: codec@0,4 {
41562306a36Sopenharmony_ci		compatible = "sdw20217010d00";
41662306a36Sopenharmony_ci		reg = <0 4>;
41762306a36Sopenharmony_ci		qcom,rx-port-mapping = <1 2 3 4 5>;
41862306a36Sopenharmony_ci	};
41962306a36Sopenharmony_ci};
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_ci&swr1 {
42262306a36Sopenharmony_ci	wcd_tx: codec@0,3 {
42362306a36Sopenharmony_ci		compatible = "sdw20217010d00";
42462306a36Sopenharmony_ci		reg = <0 3>;
42562306a36Sopenharmony_ci		qcom,tx-port-mapping = <1 2 3 4>;
42662306a36Sopenharmony_ci	};
42762306a36Sopenharmony_ci};
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ciuart_dbg: &uart5 {
43062306a36Sopenharmony_ci	compatible = "qcom,geni-debug-uart";
43162306a36Sopenharmony_ci	status = "okay";
43262306a36Sopenharmony_ci};
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_cimos_bt_uart: &uart7 {
43562306a36Sopenharmony_ci	status = "okay";
43662306a36Sopenharmony_ci
43762306a36Sopenharmony_ci	/delete-property/ interrupts;
43862306a36Sopenharmony_ci	interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
43962306a36Sopenharmony_ci				<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
44062306a36Sopenharmony_ci	pinctrl-names = "default", "sleep";
44162306a36Sopenharmony_ci	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ci	bluetooth: bluetooth {
44462306a36Sopenharmony_ci		compatible = "qcom,wcn6750-bt";
44562306a36Sopenharmony_ci		pinctrl-names = "default";
44662306a36Sopenharmony_ci		pinctrl-0 = <&mos_bt_en>;
44762306a36Sopenharmony_ci		enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
44862306a36Sopenharmony_ci		swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
44962306a36Sopenharmony_ci		vddaon-supply = <&vreg_s7b_0p952>;
45062306a36Sopenharmony_ci		vddbtcxmx-supply = <&vreg_s7b_0p952>;
45162306a36Sopenharmony_ci		vddrfacmn-supply = <&vreg_s7b_0p952>;
45262306a36Sopenharmony_ci		vddrfa0p8-supply = <&vreg_s7b_0p952>;
45362306a36Sopenharmony_ci		vddrfa1p7-supply = <&vdd19_pmu_rfa_i>;
45462306a36Sopenharmony_ci		vddrfa1p2-supply = <&vdd13_pmu_rfa_i>;
45562306a36Sopenharmony_ci		vddrfa2p2-supply = <&vreg_s1c_2p2>;
45662306a36Sopenharmony_ci		vddasd-supply = <&vreg_l11c_2p8>;
45762306a36Sopenharmony_ci		vddio-supply = <&vreg_l18b_1p8>;
45862306a36Sopenharmony_ci		max-speed = <3200000>;
45962306a36Sopenharmony_ci	};
46062306a36Sopenharmony_ci};
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci&usb_1_hsphy {
46362306a36Sopenharmony_ci	vdda-pll-supply = <&vdd_a_usbhs_core>;
46462306a36Sopenharmony_ci	vdda33-supply = <&vdd_a_usbhs_3p1>;
46562306a36Sopenharmony_ci	vdda18-supply = <&vdd_a_usbhs_1p8>;
46662306a36Sopenharmony_ci};
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ci&usb_1_qmpphy {
46962306a36Sopenharmony_ci	vdda-phy-supply = <&vdd_a_usbssdp_0_1p2>;
47062306a36Sopenharmony_ci	vdda-pll-supply = <&vdd_a_usbssdp_0_core>;
47162306a36Sopenharmony_ci};
47262306a36Sopenharmony_ci
47362306a36Sopenharmony_ci&usb_2_hsphy {
47462306a36Sopenharmony_ci	vdda-pll-supply = <&vdd_a_usbhs_core>;
47562306a36Sopenharmony_ci	vdda33-supply = <&vdd_a_usbhs_3p1>;
47662306a36Sopenharmony_ci	vdda18-supply = <&vdd_a_usbhs_1p8>;
47762306a36Sopenharmony_ci};
47862306a36Sopenharmony_ci
47962306a36Sopenharmony_ci/*
48062306a36Sopenharmony_ci * PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES
48162306a36Sopenharmony_ci *
48262306a36Sopenharmony_ci * NOTE: In general if pins leave the Qcard then the pinctrl goes in the
48362306a36Sopenharmony_ci * baseboard or board device tree, not here.
48462306a36Sopenharmony_ci */
48562306a36Sopenharmony_ci
48662306a36Sopenharmony_ci/* No external pull for eDP HPD, so set the internal one. */
48762306a36Sopenharmony_ci&edp_hot_plug_det {
48862306a36Sopenharmony_ci	bias-pull-down;
48962306a36Sopenharmony_ci};
49062306a36Sopenharmony_ci
49162306a36Sopenharmony_ci/*
49262306a36Sopenharmony_ci * For ts_i2c
49362306a36Sopenharmony_ci *
49462306a36Sopenharmony_ci * Technically this i2c bus actually leaves the Qcard, but it leaves directly
49562306a36Sopenharmony_ci * via the eDP connector (it doesn't hit the baseboard). The external pulls
49662306a36Sopenharmony_ci * are on Qcard.
49762306a36Sopenharmony_ci */
49862306a36Sopenharmony_ci&qup_i2c13_data_clk {
49962306a36Sopenharmony_ci	/* Has external pull */
50062306a36Sopenharmony_ci	bias-disable;
50162306a36Sopenharmony_ci	drive-strength = <2>;
50262306a36Sopenharmony_ci};
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ci/* For mos_bt_uart */
50562306a36Sopenharmony_ci&qup_uart7_cts {
50662306a36Sopenharmony_ci	/*
50762306a36Sopenharmony_ci	 * Configure a bias-bus-hold on CTS to lower power
50862306a36Sopenharmony_ci	 * usage when Bluetooth is turned off. Bus hold will
50962306a36Sopenharmony_ci	 * maintain a low power state regardless of whether
51062306a36Sopenharmony_ci	 * the Bluetooth module drives the pin in either
51162306a36Sopenharmony_ci	 * direction or leaves the pin fully unpowered.
51262306a36Sopenharmony_ci	 */
51362306a36Sopenharmony_ci	bias-bus-hold;
51462306a36Sopenharmony_ci};
51562306a36Sopenharmony_ci
51662306a36Sopenharmony_ci/* For mos_bt_uart */
51762306a36Sopenharmony_ci&qup_uart7_rts {
51862306a36Sopenharmony_ci	/* We'll drive RTS, so no pull */
51962306a36Sopenharmony_ci	bias-disable;
52062306a36Sopenharmony_ci	drive-strength = <2>;
52162306a36Sopenharmony_ci};
52262306a36Sopenharmony_ci
52362306a36Sopenharmony_ci/* For mos_bt_uart */
52462306a36Sopenharmony_ci&qup_uart7_tx {
52562306a36Sopenharmony_ci	/* We'll drive TX, so no pull */
52662306a36Sopenharmony_ci	bias-disable;
52762306a36Sopenharmony_ci	drive-strength = <2>;
52862306a36Sopenharmony_ci};
52962306a36Sopenharmony_ci
53062306a36Sopenharmony_ci/* For mos_bt_uart */
53162306a36Sopenharmony_ci&qup_uart7_rx {
53262306a36Sopenharmony_ci	/*
53362306a36Sopenharmony_ci	 * Configure a pull-up on RX. This is needed to avoid
53462306a36Sopenharmony_ci	 * garbage data when the TX pin of the Bluetooth module is
53562306a36Sopenharmony_ci	 * in tri-state (module powered off or not driving the
53662306a36Sopenharmony_ci	 * signal yet).
53762306a36Sopenharmony_ci	 */
53862306a36Sopenharmony_ci	bias-pull-up;
53962306a36Sopenharmony_ci};
54062306a36Sopenharmony_ci
54162306a36Sopenharmony_ci/* eMMC, if stuffed, is straight on the Qcard */
54262306a36Sopenharmony_ci&sdc1_clk {
54362306a36Sopenharmony_ci	bias-disable;
54462306a36Sopenharmony_ci	drive-strength = <16>;
54562306a36Sopenharmony_ci};
54662306a36Sopenharmony_ci
54762306a36Sopenharmony_ci&sdc1_cmd {
54862306a36Sopenharmony_ci	bias-pull-up;
54962306a36Sopenharmony_ci	drive-strength = <10>;
55062306a36Sopenharmony_ci};
55162306a36Sopenharmony_ci
55262306a36Sopenharmony_ci&sdc1_data {
55362306a36Sopenharmony_ci	bias-pull-up;
55462306a36Sopenharmony_ci	drive-strength = <10>;
55562306a36Sopenharmony_ci};
55662306a36Sopenharmony_ci
55762306a36Sopenharmony_ci&sdc1_rclk {
55862306a36Sopenharmony_ci	bias-pull-down;
55962306a36Sopenharmony_ci};
56062306a36Sopenharmony_ci
56162306a36Sopenharmony_ci/*
56262306a36Sopenharmony_ci * PINCTRL - QCARD
56362306a36Sopenharmony_ci *
56462306a36Sopenharmony_ci * This has entries that are defined by Qcard even if they go to the main
56562306a36Sopenharmony_ci * board. In cases where the pulls may be board dependent we defer those
56662306a36Sopenharmony_ci * settings to the board device tree. Drive strengths tend to be assinged here
56762306a36Sopenharmony_ci * but could conceivably be overwridden by board device trees.
56862306a36Sopenharmony_ci */
56962306a36Sopenharmony_ci
57062306a36Sopenharmony_ci&pm8350c_gpios {
57162306a36Sopenharmony_ci	pmic_edp_bl_en: pmic-edp-bl-en-state {
57262306a36Sopenharmony_ci		pins = "gpio7";
57362306a36Sopenharmony_ci		function = "normal";
57462306a36Sopenharmony_ci		bias-disable;
57562306a36Sopenharmony_ci		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
57662306a36Sopenharmony_ci
57762306a36Sopenharmony_ci		/* Force backlight to be disabled to match state at boot. */
57862306a36Sopenharmony_ci		output-low;
57962306a36Sopenharmony_ci	};
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ci	pmic_edp_bl_pwm: pmic-edp-bl-pwm-state {
58262306a36Sopenharmony_ci		pins = "gpio8";
58362306a36Sopenharmony_ci		function = "func1";
58462306a36Sopenharmony_ci		bias-disable;
58562306a36Sopenharmony_ci		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
58662306a36Sopenharmony_ci		output-low;
58762306a36Sopenharmony_ci		power-source = <0>;
58862306a36Sopenharmony_ci	};
58962306a36Sopenharmony_ci};
59062306a36Sopenharmony_ci
59162306a36Sopenharmony_ci&tlmm {
59262306a36Sopenharmony_ci	mos_bt_en: mos-bt-en-state {
59362306a36Sopenharmony_ci		pins = "gpio85";
59462306a36Sopenharmony_ci		function = "gpio";
59562306a36Sopenharmony_ci		drive-strength = <2>;
59662306a36Sopenharmony_ci		output-low;
59762306a36Sopenharmony_ci	};
59862306a36Sopenharmony_ci
59962306a36Sopenharmony_ci	/* For mos_bt_uart */
60062306a36Sopenharmony_ci	qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
60162306a36Sopenharmony_ci		pins = "gpio28";
60262306a36Sopenharmony_ci		function = "gpio";
60362306a36Sopenharmony_ci		/*
60462306a36Sopenharmony_ci		 * Configure a bias-bus-hold on CTS to lower power
60562306a36Sopenharmony_ci		 * usage when Bluetooth is turned off. Bus hold will
60662306a36Sopenharmony_ci		 * maintain a low power state regardless of whether
60762306a36Sopenharmony_ci		 * the Bluetooth module drives the pin in either
60862306a36Sopenharmony_ci		 * direction or leaves the pin fully unpowered.
60962306a36Sopenharmony_ci		 */
61062306a36Sopenharmony_ci		bias-bus-hold;
61162306a36Sopenharmony_ci	};
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci	/* For mos_bt_uart */
61462306a36Sopenharmony_ci	qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
61562306a36Sopenharmony_ci		pins = "gpio29";
61662306a36Sopenharmony_ci		function = "gpio";
61762306a36Sopenharmony_ci		/*
61862306a36Sopenharmony_ci		 * Configure pull-down on RTS. As RTS is active low
61962306a36Sopenharmony_ci		 * signal, pull it low to indicate the BT SoC that it
62062306a36Sopenharmony_ci		 * can wakeup the system anytime from suspend state by
62162306a36Sopenharmony_ci		 * pulling RX low (by sending wakeup bytes).
62262306a36Sopenharmony_ci		 */
62362306a36Sopenharmony_ci		bias-pull-down;
62462306a36Sopenharmony_ci	};
62562306a36Sopenharmony_ci
62662306a36Sopenharmony_ci	/* For mos_bt_uart */
62762306a36Sopenharmony_ci	qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
62862306a36Sopenharmony_ci		pins = "gpio31";
62962306a36Sopenharmony_ci		function = "gpio";
63062306a36Sopenharmony_ci		/*
63162306a36Sopenharmony_ci		 * Configure a pull-up on RX. This is needed to avoid
63262306a36Sopenharmony_ci		 * garbage data when the TX pin of the Bluetooth module
63362306a36Sopenharmony_ci		 * is floating which may cause spurious wakeups.
63462306a36Sopenharmony_ci		 */
63562306a36Sopenharmony_ci		bias-pull-up;
63662306a36Sopenharmony_ci	};
63762306a36Sopenharmony_ci
63862306a36Sopenharmony_ci	/* For mos_bt_uart */
63962306a36Sopenharmony_ci	qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
64062306a36Sopenharmony_ci		pins = "gpio30";
64162306a36Sopenharmony_ci		function = "gpio";
64262306a36Sopenharmony_ci		/*
64362306a36Sopenharmony_ci		 * Configure pull-up on TX when it isn't actively driven
64462306a36Sopenharmony_ci		 * to prevent BT SoC from receiving garbage during sleep.
64562306a36Sopenharmony_ci		 */
64662306a36Sopenharmony_ci		bias-pull-up;
64762306a36Sopenharmony_ci	};
64862306a36Sopenharmony_ci
64962306a36Sopenharmony_ci	ts_int_conn: ts-int-conn-state {
65062306a36Sopenharmony_ci		pins = "gpio55";
65162306a36Sopenharmony_ci		function = "gpio";
65262306a36Sopenharmony_ci		bias-pull-up;
65362306a36Sopenharmony_ci	};
65462306a36Sopenharmony_ci
65562306a36Sopenharmony_ci	ts_rst_conn: ts-rst-conn-state {
65662306a36Sopenharmony_ci		pins = "gpio54";
65762306a36Sopenharmony_ci		function = "gpio";
65862306a36Sopenharmony_ci		drive-strength = <2>;
65962306a36Sopenharmony_ci	};
66062306a36Sopenharmony_ci
66162306a36Sopenharmony_ci	us_euro_hs_sel: us-euro-hs-sel-state {
66262306a36Sopenharmony_ci		pins = "gpio81";
66362306a36Sopenharmony_ci		function = "gpio";
66462306a36Sopenharmony_ci		bias-pull-down;
66562306a36Sopenharmony_ci		drive-strength = <2>;
66662306a36Sopenharmony_ci	};
66762306a36Sopenharmony_ci
66862306a36Sopenharmony_ci	wcd_reset_n: wcd-reset-n-state {
66962306a36Sopenharmony_ci		pins = "gpio83";
67062306a36Sopenharmony_ci		function = "gpio";
67162306a36Sopenharmony_ci		drive-strength = <8>;
67262306a36Sopenharmony_ci	};
67362306a36Sopenharmony_ci
67462306a36Sopenharmony_ci	wcd_reset_n_sleep: wcd-reset-n-sleep-state {
67562306a36Sopenharmony_ci		pins = "gpio83";
67662306a36Sopenharmony_ci		function = "gpio";
67762306a36Sopenharmony_ci		drive-strength = <8>;
67862306a36Sopenharmony_ci		bias-disable;
67962306a36Sopenharmony_ci	};
68062306a36Sopenharmony_ci};
681