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

	wcn7850-pmu {
		compatible = "qcom,wcn7850-pmu";

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

		wlan-enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>;
		bt-enable-gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>;

		vdd-supply = <&vreg_s4i_0p85>;
		vddio-supply = <&vreg_l15b_1p8>;
		vddio1p2-supply = <&vreg_l3c_1p2>;
		vddaon-supply = <&vreg_s2c_0p8>;
		vdddig-supply = <&vreg_s3c_0p9>;
		vddrfa1p2-supply = <&vreg_s1c_1p2>;
		vddrfa1p8-supply = <&vreg_s6c_1p8>;

		clocks = <&rpmhcc RPMH_RF_CLK1>;

		regulators {
			vreg_pmu_rfa_cmn: ldo0 {
				regulator-name = "vreg_pmu_rfa_cmn";
			};

			vreg_pmu_aon_0p59: ldo1 {
				regulator-name = "vreg_pmu_aon_0p59";
			};

			vreg_pmu_wlcx_0p8: ldo2 {
				regulator-name = "vreg_pmu_wlcx_0p8";
			};

			vreg_pmu_wlmx_0p85: ldo3 {
				regulator-name = "vreg_pmu_wlmx_0p85";
			};

			vreg_pmu_btcmx_0p85: ldo4 {
				regulator-name = "vreg_pmu_btcmx_0p85";
			};

			vreg_pmu_rfa_0p8: ldo5 {
				regulator-name = "vreg_pmu_rfa_0p8";
			};

			vreg_pmu_rfa_1p2: ldo6 {
				regulator-name = "vreg_pmu_rfa_1p2";
			};

			vreg_pmu_rfa_1p8: ldo7 {
				regulator-name = "vreg_pmu_rfa_1p8";
			};

			vreg_pmu_pcie_0p9: ldo8 {
				regulator-name = "vreg_pmu_pcie_0p9";
			};

			vreg_pmu_pcie_1p8: ldo9 {
				regulator-name = "vreg_pmu_pcie_1p8";
			};
		};
	};
};

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

&gpu {
	status = "okay";

	zap-shader {
		firmware-name = "qcom/sm8650/gen70900_zap.mbn";
	};
};

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

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

&pcieport0 {
	wifi@0 {
		compatible = "pci17cb,1107";
		reg = <0x10000 0x0 0x0 0x0 0x0>;

		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
		vddaon-supply = <&vreg_pmu_aon_0p59>;
		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
	};
};

&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 Port 1 (DAC)     <=> SWR0 Port 1 (SPKR_L)
		 * WSA8845 Port 2 (COMP)    <=> SWR0 Port 2 (SPKR_L_COMP)
		 * WSA8845 Port 3 (BOOST)   <=> SWR0 Port 3 (SPKR_L_BOOST)
		 * WSA8845 Port 4 (PBR)     <=> SWR0 Port 7 (PBR)
		 * WSA8845 Port 5 (VISENSE) <=> SWR0 Port 10 (SPKR_L_VI)
		 * WSA8845 Port 6 (CPS)     <=> SWR0 Port 13 (CPS)
		 */
		qcom,port-mapping = <1 2 3 7 10 13>;
	};

	/* 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>;

		/*
		 * WSA8845 Port 1 (DAC)     <=> SWR0 Port 4 (SPKR_R)
		 * WSA8845 Port 2 (COMP)    <=> SWR0 Port 5 (SPKR_R_COMP)
		 * WSA8845 Port 3 (BOOST)   <=> SWR0 Port 6 (SPKR_R_BOOST)
		 * WSA8845 Port 4 (PBR)     <=> SWR0 Port 7 (PBR)
		 * WSA8845 Port 5 (VISENSE) <=> SWR0 Port 11 (SPKR_R_VI)
		 * WSA8845 Port 6 (CPS)     <=> SWR0 Port 13 (CPS)
		 */
		qcom,port-mapping = <4 5 6 7 11 13>;
	};
};

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

	wlan_en: wlan-en-state {
		pins = "gpio16";
		function = "gpio";
		drive-strength = <8>;
		bias-pull-down;
	};
};

&uart14 {
	status = "okay";

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

		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
		vddaon-supply = <&vreg_pmu_aon_0p59>;
		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;

		max-speed = <3200000>;
	};
};

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

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

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