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

/dts-v1/;

#include <dt-bindings/leds/common.h>
#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 QRD";
	compatible = "qcom,sm8650-qrd", "qcom,sm8650";

	aliases {
		serial0 = &uart15;
		serial1 = &uart14;
	};

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

	gpio-keys {
		compatible = "gpio-keys";

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

		key-volume-up {
			label = "Volume Up";
			linux,code = <KEY_VOLUMEUP>;
			gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
			debounce-interval = <15>;
			linux,can-disable;
			wakeup-source;
		};
	};

	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 = <&redriver_ss_out>;
					};
				};

				port@2 {
					reg = <2>;

					pmic_glink_sbu: endpoint {
						remote-endpoint = <&wcd_usbss_sbu_mux>;
				    };
				};
			};
		};
	};

	sound {
		compatible = "qcom,sm8650-sndcard", "qcom,sm8450-sndcard";
		model = "SM8650-QRD";
		audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
				"SpkrRight IN", "WSA_SPK2 OUT",
				"IN1_HPHL", "HPHL_OUT",
				"IN2_HPHR", "HPHR_OUT",
				"AMIC1", "MIC BIAS1",
				"AMIC2", "MIC BIAS2",
				"AMIC3", "MIC BIAS3",
				"AMIC4", "MIC BIAS3",
				"AMIC5", "MIC BIAS4",
				"TX SWR_INPUT0", "ADC1_OUTPUT",
				"TX SWR_INPUT1", "ADC2_OUTPUT",
				"TX SWR_INPUT2", "ADC3_OUTPUT",
				"TX SWR_INPUT3", "ADC4_OUTPUT";

		wcd-playback-dai-link {
			link-name = "WCD Playback";

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

			codec {
				sound-dai = <&wcd939x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
			};

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

		wcd-capture-dai-link {
			link-name = "WCD Capture";

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

			codec {
				sound-dai = <&wcd939x 1>, <&swr2 0>, <&lpass_txmacro 0>;
			};

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

		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;
	};

	wcd939x: audio-codec {
		compatible = "qcom,wcd9395-codec", "qcom,wcd9390-codec";

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

		qcom,micbias1-microvolt = <1800000>;
		qcom,micbias2-microvolt = <1800000>;
		qcom,micbias3-microvolt = <1800000>;
		qcom,micbias4-microvolt = <1800000>;
		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
		qcom,rx-device = <&wcd_rx>;
		qcom,tx-device = <&wcd_tx>;

		reset-gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;

		vdd-buck-supply = <&vreg_l15b_1p8>;
		vdd-rxtx-supply = <&vreg_l15b_1p8>;
		vdd-io-supply = <&vreg_l15b_1p8>;
		vdd-mic-bias-supply = <&vreg_bob1>;

		#sound-dai-cells = <1>;

		mode-switch;
		orientation-switch;

		port {
			wcd_codec_headset_in: endpoint {
				remote-endpoint = <&wcd_usbss_headset_out>;
			};
		};
	};
};

&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_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";
};

&gpi_dma1 {
	status = "okay";
};

&i2c3 {
       status = "okay";

       wcd_usbss: typec-mux@e {
		compatible = "qcom,wcd9395-usbss", "qcom,wcd9390-usbss";
		reg = <0xe>;

		vdd-supply = <&vreg_l15b_1p8>;
		reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>;

		mode-switch;
		orientation-switch;

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

			port@0 {
				reg = <0>;

				wcd_usbss_sbu_mux: endpoint {
					remote-endpoint = <&pmic_glink_sbu>;
				};
			};

			port@1 {
				reg = <1>;

				wcd_usbss_headset_out: endpoint {
					remote-endpoint = <&wcd_codec_headset_in>;
				};
			};
		};
       };
};

&i2c6 {
	status = "okay";

	typec-mux@1c {
		compatible = "onnn,nb7vpq904m";
		reg = <0x1c>;

		vcc-supply = <&vreg_l15b_1p8>;

		retimer-switch;
		orientation-switch;

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

			port@0 {
				reg = <0>;

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

			port@1 {
				reg = <1>;

				redriver_ss_in: endpoint {
					data-lanes = <3 2 1 0>;
					remote-endpoint = <&usb_dp_qmpphy_out>;
				};
			};
		};
	};
};

&ipa {
	qcom,gsi-loader = "self";
	memory-region = <&ipa_fw_mem>;
	firmware-name = "qcom/sm8650/ipa_fws.mbn";
	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_dp0 {
	status = "okay";
};

&mdss_dp0_out {
	data-lanes = <0 1>;
	remote-endpoint = <&usb_dp_qmpphy_dp_in>;
};

&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";
};

&pon_pwrkey {
	status = "okay";
};

&pon_resin {
	linux,code = <KEY_VOLUMEDOWN>;

	status = "okay";
};

&pm8550_flash {
	status = "okay";

	led-0 {
		function = LED_FUNCTION_FLASH;
		color = <LED_COLOR_ID_YELLOW>;
		led-sources = <1>, <4>;
		led-max-microamp = <500000>;
		flash-max-microamp = <2000000>;
		flash-max-timeout-us = <1280000>;
		function-enumerator = <0>;
	};

	led-1 {
		function = LED_FUNCTION_FLASH;
		color = <LED_COLOR_ID_WHITE>;
		led-sources = <2>, <3>;
		led-max-microamp = <500000>;
		flash-max-microamp = <2000000>;
		flash-max-timeout-us = <1280000>;
		function-enumerator = <1>;
	};
};

&pm8550_gpios {
	volume_up_n: volume-up-n-state {
		pins = "gpio6";
		function = "normal";
		bias-pull-up;
		input-enable;
		power-source = <1>;
	};
};

&pm8550_pwm {
	status = "okay";

	multi-led {
		color = <LED_COLOR_ID_RGB>;
		function = LED_FUNCTION_STATUS;

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

		led@1 {
			reg = <1>;
			color = <LED_COLOR_ID_RED>;
		};

		led@2 {
			reg = <2>;
			color = <LED_COLOR_ID_GREEN>;
		};

		led@3 {
			reg = <3>;
			color = <LED_COLOR_ID_BLUE>;
		};
	};
};

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

&pmk8550_rtc {
	status = "okay";
};

&qup_i2c3_data_clk {
	/* Use internal I2C pull-up */
	bias-pull-up = <2200>;
};

&qupv3_id_0 {
	status = "okay";
};

&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";
};

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

&spi4 {
	status = "okay";

	touchscreen@0 {
		compatible = "goodix,gt9916";
		reg = <0>;

		interrupt-parent = <&tlmm>;
		interrupts = <162 IRQ_TYPE_LEVEL_LOW>;

		reset-gpios = <&tlmm 161 GPIO_ACTIVE_LOW>;

		avdd-supply = <&vreg_l14b_3p2>;

		spi-max-frequency = <1000000>;

		touchscreen-size-x = <1080>;
		touchscreen-size-y = <2400>;

		pinctrl-0 = <&ts_irq>, <&ts_reset>;
		pinctrl-names = "default";
	};
};

&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>;
	};
};

&swr1 {
	status = "okay";

	/* WCD9395 RX */
	wcd_rx: codec@0,4 {
		compatible = "sdw20217010e00";
		reg = <0 4>;

		/*
		 * WCD9395 RX Port 1 (HPH_L/R)      <=> SWR1 Port 1 (HPH_L/R)
		 * WCD9395 RX Port 2 (CLSH)         <=> SWR1 Port 2 (CLSH)
		 * WCD9395 RX Port 3 (COMP_L/R)     <=> SWR1 Port 3 (COMP_L/R)
		 * WCD9395 RX Port 4 (LO)           <=> SWR1 Port 4 (LO)
		 * WCD9395 RX Port 5 (DSD_L/R)      <=> SWR1 Port 5 (DSD_L/R)
		 * WCD9395 RX Port 6 (HIFI_PCM_L/R) <=> SWR1 Port 9 (HIFI_PCM_L/R)
		 */
		qcom,rx-port-mapping = <1 2 3 4 5 9>;
	};
};

&swr2 {
	status = "okay";

	/* WCD9395 TX */
	wcd_tx: codec@0,3 {
		compatible = "sdw20217010e00";
		reg = <0 3>;

		/*
		 * WCD9395 TX Port 1 (ADC1,2,3,4)         <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
		 * WCD9395 TX Port 2 (ADC3,4 & DMIC0,1)   <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
		 * WCD9395 TX Port 3 (DMIC0,1,2,3 & MBHC) <=> SWR2 Port 3 (TX SWR_INPUT 4,5,6,7)
		 * WCD9395 TX Port 4 (DMIC4,5,6,7)        <=> SWR2 Port 4 (TX SWR_INPUT 8,9,10,11)
		 */
		qcom,tx-port-mapping = <2 2 3 4>;
	};
};

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

	bt_default: bt-default-state {
		bt-en-pins {
			pins = "gpio17";
			function = "gpio";
			drive-strength = <16>;
			bias-disable;
		};

		sw-ctrl-pins {
			pins = "gpio18";
			function = "gpio";
			bias-pull-down;
		};
	};

	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;
	};

	ts_irq: ts-irq-state {
		pins = "gpio161";
		function = "gpio";
		drive-strength = <8>;
		bias-pull-up;
		output-disable;
	};

	ts_reset: ts-reset-state {
		pins = "gpio162";
		function = "gpio";
		drive-strength = <8>;
		bias-pull-up;
	};

	wcd_default: wcd-reset-n-active-state {
		pins = "gpio107";
		function = "gpio";
		drive-strength = <16>;
		bias-disable;
		output-low;
	};
};

&uart14 {
	status = "okay";

	bluetooth {
		compatible = "qcom,wcn7850-bt";

		clocks = <&rpmhcc RPMH_RF_CLK1>;

		vddio-supply = <&vreg_l3c_1p2>;
		vddaon-supply = <&vreg_l15b_1p8>;
		vdddig-supply = <&vreg_s3c_0p9>;
		vddrfa0p8-supply = <&vreg_s3c_0p9>;
		vddrfa1p2-supply = <&vreg_s1c_1p2>;
		vddrfa1p9-supply = <&vreg_s6c_1p8>;

		max-speed = <3200000>;

		enable-gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>;
		swctrl-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;

		pinctrl-0 = <&bt_default>;
		pinctrl-names = "default";
	};
};

&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 -> WCD9395 -> USB-C
 * USB SS -> NB7VPQ904MMUTWG -> 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 = <&usb_dp_qmpphy_usb_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>;

	orientation-switch;

	status = "okay";
};

&usb_dp_qmpphy_dp_in {
	remote-endpoint = <&mdss_dp0_out>;
};

&usb_dp_qmpphy_out {
	remote-endpoint = <&redriver_ss_in>;
};

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

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