// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2023, Linaro Limited
 */

/dts-v1/;

#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8650.dtsi"
#include "pm8010.dtsi"
#include "pm8550.dtsi"
#include "pm8550b.dtsi"
#define PMK8550VE_SID 8
#include "pm8550ve.dtsi"
#include "pm8550vs.dtsi"
#include "pmk8550.dtsi"
#include "pmr735d_a.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. SM8650 MTP";
	compatible = "qcom,sm8650-mtp", "qcom,sm8650";

	aliases {
		serial0 = &uart15;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	pmic-glink {
		compatible = "qcom,sm8650-pmic-glink",
			     "qcom,sm8550-pmic-glink",
			     "qcom,pmic-glink";
		#address-cells = <1>;
		#size-cells = <0>;
		orientation-gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>;

		connector@0 {
			compatible = "usb-c-connector";
			reg = <0>;

			power-role = "dual";
			data-role = "dual";

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

				port@0 {
					reg = <0>;

					pmic_glink_hs_in: endpoint {
						remote-endpoint = <&usb_1_dwc3_hs>;
					};
				};

				port@1 {
					reg = <1>;

					pmic_glink_ss_in: endpoint {
						remote-endpoint = <&usb_1_dwc3_ss>;
					};
				};
			};
		};
	};

	sound {
		compatible = "qcom,sm8650-sndcard", "qcom,sm8450-sndcard";
		model = "SM8650-MTP";
		audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
				"SpkrRight IN", "WSA_SPK2 OUT";

		wsa-dai-link {
			link-name = "WSA Playback";

			cpu {
				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
			};

			codec {
				sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
			};

			platform {
				sound-dai = <&q6apm>;
			};
		};
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";

		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3700000>;
		regulator-max-microvolt = <3700000>;

		regulator-always-on;
		regulator-boot-on;
	};
};

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm8550-rpmh-regulators";

		vdd-bob1-supply = <&vph_pwr>;
		vdd-bob2-supply = <&vph_pwr>;
		vdd-l2-l13-l14-supply = <&vreg_bob1>;
		vdd-l3-supply = <&vreg_s1c_1p2>;
		vdd-l5-l16-supply = <&vreg_bob1>;
		vdd-l6-l7-supply = <&vreg_bob1>;
		vdd-l8-l9-supply = <&vreg_bob1>;
		vdd-l11-supply = <&vreg_s1c_1p2>;
		vdd-l12-supply = <&vreg_s6c_1p8>;
		vdd-l15-supply = <&vreg_s6c_1p8>;
		vdd-l17-supply = <&vreg_bob2>;

		qcom,pmic-id = "b";

		vreg_bob1: bob1 {
			regulator-name = "vreg_bob1";
			regulator-min-microvolt = <3296000>;
			regulator-max-microvolt = <3960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_bob2: bob2 {
			regulator-name = "vreg_bob2";
			regulator-min-microvolt = <2720000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2b_3p0: ldo2 {
			regulator-name = "vreg_l2b_3p0";
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5b_3p1: ldo5 {
			regulator-name = "vreg_l5b_3p1";
			regulator-min-microvolt = <3104000>;
			regulator-max-microvolt = <3104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6b_1p8: ldo6 {
			regulator-name = "vreg_l6b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7b_1p8: ldo7 {
			regulator-name = "vreg_l7b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8b_1p8: ldo8 {
			regulator-name = "vreg_l8b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9b_2p9: ldo9 {
			regulator-name = "vreg_l9b_2p9";
			regulator-min-microvolt = <2960000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11b_1p2: ldo11 {
			regulator-name = "vreg_l11b_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1504000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12b_1p8: ldo12 {
			regulator-name = "vreg_l12b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l13b_3p0: ldo13 {
			regulator-name = "vreg_l13b_3p0";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l14b_3p2: ldo14 {
			regulator-name = "vreg_l14b_3p2";
			regulator-min-microvolt = <3200000>;
			regulator-max-microvolt = <3200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l15b_1p8: ldo15 {
			regulator-name = "vreg_l15b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l16b_2p8: ldo16 {
			regulator-name = "vreg_l16b_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l17b_2p5: ldo17 {
			regulator-name = "vreg_l17b_2p5";
			regulator-min-microvolt = <2504000>;
			regulator-max-microvolt = <2504000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-1 {
		compatible = "qcom,pm8550vs-rpmh-regulators";

		vdd-l1-supply = <&vreg_s1c_1p2>;
		vdd-l2-supply = <&vreg_s1c_1p2>;
		vdd-l3-supply = <&vreg_s1c_1p2>;
		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-s6-supply = <&vph_pwr>;

		qcom,pmic-id = "c";

		vreg_s1c_1p2: smps1 {
			regulator-name = "vreg_s1c_1p2";
			regulator-min-microvolt = <1256000>;
			regulator-max-microvolt = <1348000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s2c_0p8: smps2 {
			regulator-name = "vreg_s2c_0p8";
			regulator-min-microvolt = <852000>;
			regulator-max-microvolt = <1036000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s3c_0p9: smps3 {
			regulator-name = "vreg_s3c_0p9";
			regulator-min-microvolt = <976000>;
			regulator-max-microvolt = <1064000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s4c_1p2: smps4 {
			regulator-name = "vreg_s4c_1p2";
			regulator-min-microvolt = <1224000>;
			regulator-max-microvolt = <1280000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s5c_0p7: smps5 {
			regulator-name = "vreg_s5c_0p7";
			regulator-min-microvolt = <752000>;
			regulator-max-microvolt = <900000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s6c_1p8: smps6 {
			regulator-name = "vreg_s6c_1p8";
			regulator-min-microvolt = <1856000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1c_1p2: ldo1 {
			regulator-name = "vreg_l1c_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_1p2: ldo3 {
			regulator-name = "vreg_l3c_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-2 {
		compatible = "qcom,pm8550vs-rpmh-regulators";

		vdd-l1-supply = <&vreg_s3c_0p9>;

		qcom,pmic-id = "d";

		vreg_l1d_0p88: ldo1 {
			regulator-name = "vreg_l1d_0p88";
			regulator-min-microvolt = <912000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-3 {
		compatible = "qcom,pm8550vs-rpmh-regulators";

		vdd-l3-supply = <&vreg_s3c_0p9>;

		qcom,pmic-id = "e";

		vreg_l3e_0p9: ldo3 {
			regulator-name = "vreg_l3e_0p9";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-4 {
		compatible = "qcom,pm8550vs-rpmh-regulators";

		vdd-l1-supply = <&vreg_s3c_0p9>;
		vdd-l3-supply = <&vreg_s3c_0p9>;

		qcom,pmic-id = "g";

		vreg_l1g_0p91: ldo1 {
			regulator-name = "vreg_l1g_0p91";
			regulator-min-microvolt = <912000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3g_0p91: ldo3 {
			regulator-name = "vreg_l3g_0p91";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-5 {
		compatible = "qcom,pm8550ve-rpmh-regulators";

		vdd-l1-supply = <&vreg_s3c_0p9>;
		vdd-l2-supply = <&vreg_s3c_0p9>;
		vdd-l3-supply = <&vreg_s1c_1p2>;
		vdd-s4-supply = <&vph_pwr>;

		qcom,pmic-id = "i";

		vreg_s4i_0p85: smps4 {
			regulator-name = "vreg_s4i_0p85";
			regulator-min-microvolt = <852000>;
			regulator-max-microvolt = <1004000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1i_0p88: ldo1 {
			regulator-name = "vreg_l1i_0p88";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2i_0p88: ldo2 {
			regulator-name = "vreg_l2i_0p88";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3i_1p2: ldo3 {
			regulator-name = "vreg_l3i_0p91";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-6 {
		compatible = "qcom,pm8010-rpmh-regulators";
		qcom,pmic-id = "m";

		vdd-l1-l2-supply = <&vreg_s1c_1p2>;
		vdd-l3-l4-supply = <&vreg_bob2>;
		vdd-l5-supply = <&vreg_s6c_1p8>;
		vdd-l6-supply = <&vreg_bob1>;
		vdd-l7-supply = <&vreg_bob1>;

		vreg_l1m_1p1: ldo1 {
			regulator-name = "vreg_l1m_1p1";
			regulator-min-microvolt = <1104000>;
			regulator-max-microvolt = <1104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2m_1p056: ldo2 {
			regulator-name = "vreg_l2m_1p056";
			regulator-min-microvolt = <1056000>;
			regulator-max-microvolt = <1056000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3m_2p8: ldo3 {
			regulator-name = "vreg_l3m_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4m_2p8: ldo4 {
			regulator-name = "vreg_l4m_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5m_1p8: ldo5 {
			regulator-name = "vreg_l5m_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6m_2p8: ldo6 {
			regulator-name = "vreg_l6m_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7m_2p96: ldo7 {
			regulator-name = "vreg_l7m_2p96";
			regulator-min-microvolt = <2960000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-7 {
		compatible = "qcom,pm8010-rpmh-regulators";
		qcom,pmic-id = "n";

		vdd-l1-l2-supply = <&vreg_s1c_1p2>;
		vdd-l3-l4-supply = <&vreg_s6c_1p8>;
		vdd-l5-supply = <&vreg_bob2>;
		vdd-l6-supply = <&vreg_bob2>;
		vdd-l7-supply = <&vreg_bob1>;

		vreg_l1n_1p1: ldo1 {
			regulator-name = "vreg_l1n_1p1";
			regulator-min-microvolt = <1104000>;
			regulator-max-microvolt = <1104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2n_1p056: ldo2 {
			regulator-name = "vreg_l2n_1p056";
			regulator-min-microvolt = <1056000>;
			regulator-max-microvolt = <1056000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3n_1p8: ldo3 {
			regulator-name = "vreg_l3n_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4n_1p8: ldo4 {
			regulator-name = "vreg_l4n_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5n_2p8: ldo5 {
			regulator-name = "vreg_l5n_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6n_2p8: ldo6 {
			regulator-name = "vreg_l6n_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7n_3p3: ldo7 {
			regulator-name = "vreg_l7n_3p3";
			regulator-min-microvolt = <3304000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};
};

&dispcc {
	status = "okay";
};

&lpass_tlmm {
	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
		pins = "gpio21";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
		output-low;
	};
};

&mdss {
	status = "okay";
};

&mdss_dsi0 {
	vdda-supply = <&vreg_l3i_1p2>;

	status = "okay";

	panel@0 {
		compatible = "visionox,vtdr6130";
		reg = <0>;

		reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;

		vddio-supply = <&vreg_l12b_1p8>;
		vci-supply = <&vreg_l13b_3p0>;
		vdd-supply = <&vreg_l11b_1p2>;

		pinctrl-0 = <&disp0_reset_n_active>, <&mdp_vsync_active>;
		pinctrl-1 = <&disp0_reset_n_suspend>, <&mdp_vsync_suspend>;
		pinctrl-names = "default", "sleep";

		port {
			panel0_in: endpoint {
				remote-endpoint = <&mdss_dsi0_out>;
			};
		};
	};
};

&mdss_dsi0_out {
	remote-endpoint = <&panel0_in>;
	data-lanes = <0 1 2 3>;
};

&mdss_dsi0_phy {
	vdds-supply = <&vreg_l1i_0p88>;

	status = "okay";
};

&mdss_mdp {
	status = "okay";
};

&pcie_1_phy_aux_clk {
	clock-frequency = <1000>;
};

&pcie0 {
	wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
	perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;

	pinctrl-0 = <&pcie0_default_state>;
	pinctrl-names = "default";

	status = "okay";
};

&pcie0_phy {
	vdda-phy-supply = <&vreg_l1i_0p88>;
	vdda-pll-supply = <&vreg_l3i_1p2>;

	status = "okay";
};

&pcie1 {
	wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>;
	perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;

	pinctrl-0 = <&pcie1_default_state>;
	pinctrl-names = "default";

	status = "okay";
};

&pcie1_phy {
	vdda-phy-supply = <&vreg_l3e_0p9>;
	vdda-pll-supply = <&vreg_l3i_1p2>;
	vdda-qref-supply = <&vreg_l1i_0p88>;

	status = "okay";
};

&pm8550_gpios {
	sdc2_card_det_n: sdc2-card-det-state {
		pins = "gpio12";
		function = "normal";
		bias-pull-up;
		input-enable;
		output-disable;
		power-source = <1>; /* 1.8 V */
	};
};

&pm8550b_eusb2_repeater {
	vdd18-supply = <&vreg_l15b_1p8>;
	vdd3-supply = <&vreg_l5b_3p1>;
};

&qupv3_id_1 {
	status = "okay";
};

&remoteproc_adsp {
	firmware-name = "qcom/sm8650/adsp.mbn",
			"qcom/sm8650/adsp_dtb.mbn";

	status = "okay";
};

&remoteproc_cdsp {
	firmware-name = "qcom/sm8650/cdsp.mbn",
			"qcom/sm8650/cdsp_dtb.mbn";

	status = "okay";
};

&remoteproc_mpss {
	firmware-name = "qcom/sm8650/modem.mbn",
			"qcom/sm8650/modem_dtb.mbn";

	status = "okay";
};

&sdhc_2 {
	cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>;

	vmmc-supply = <&vreg_l9b_2p9>;
	vqmmc-supply = <&vreg_l8b_1p8>;
	bus-width = <4>;
	no-sdio;
	no-mmc;

	pinctrl-0 = <&sdc2_default>, <&sdc2_card_det_n>;
	pinctrl-1 = <&sdc2_sleep>, <&sdc2_card_det_n>;
	pinctrl-names = "default", "sleep";

	status = "okay";
};

&sleep_clk {
	clock-frequency = <32000>;
};

&swr0 {
	status = "okay";

	/* WSA8845, Speaker Left */
	left_spkr: speaker@0,0 {
		compatible = "sdw20217020400";
		reg = <0 0>;
		pinctrl-0 = <&spkr_1_sd_n_active>;
		pinctrl-names = "default";
		powerdown-gpios = <&lpass_tlmm 21 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "SpkrLeft";
		vdd-1p8-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l3c_1p2>;
	};

	/* WSA8845, Speaker Right */
	right_spkr: speaker@0,1 {
		compatible = "sdw20217020400";
		reg = <0 1>;
		pinctrl-0 = <&spkr_2_sd_n_active>;
		pinctrl-names = "default";
		powerdown-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "SpkrRight";
		vdd-1p8-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l3c_1p2>;
	};
};

&tlmm {
	/* Reserved I/Os for NFC */
	gpio-reserved-ranges = <32 8>, <74 1>;

	disp0_reset_n_active: disp0-reset-n-active-state {
		pins = "gpio133";
		function = "gpio";
		drive-strength = <8>;
		bias-disable;
	};

	disp0_reset_n_suspend: disp0-reset-n-suspend-state {
		pins = "gpio133";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-down;
	};

	mdp_vsync_active: mdp-vsync-active-state {
		pins = "gpio86";
		function = "mdp_vsync";
		drive-strength = <2>;
		bias-pull-down;
	};

	mdp_vsync_suspend: mdp-vsync-suspend-state {
		pins = "gpio86";
		function = "mdp_vsync";
		drive-strength = <2>;
		bias-pull-down;
	};

	spkr_2_sd_n_active: spkr-2-sd-n-active-state {
		pins = "gpio77";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
		output-low;
	};
};

&uart15 {
	status = "okay";
};

&ufs_mem_hc {
	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;

	vcc-supply = <&vreg_l17b_2p5>;
	vcc-max-microamp = <1300000>;
	vccq-supply = <&vreg_l1c_1p2>;
	vccq-max-microamp = <1200000>;

	status = "okay";
};

&ufs_mem_phy {
	vdda-phy-supply = <&vreg_l1d_0p88>;
	vdda-pll-supply = <&vreg_l3i_1p2>;

	status = "okay";
};

/*
 * DPAUX -> WCD9395 -> USB_SBU -> USB-C
 * eUSB2 DP/DM -> PM85550HS -> eUSB2 DP/DM -> USB-C
 * USB SS -> USB-C
 */

&usb_1 {
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "otg";
	usb-role-switch;
};

&usb_1_dwc3_hs {
	remote-endpoint = <&pmic_glink_hs_in>;
};

&usb_1_dwc3_ss {
	remote-endpoint = <&pmic_glink_ss_in>;
};

&usb_1_hsphy {
	vdd-supply = <&vreg_l1i_0p88>;
	vdda12-supply = <&vreg_l3i_1p2>;

	phys = <&pm8550b_eusb2_repeater>;

	status = "okay";
};

&usb_dp_qmpphy {
	vdda-phy-supply = <&vreg_l3i_1p2>;
	vdda-pll-supply = <&vreg_l3g_0p91>;

	status = "okay";
};

&xo_board {
	clock-frequency = <76800000>;
};
