// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2024, 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"

/ {
	model = "Qualcomm Technologies, Inc. SM8650 HDK";
	compatible = "qcom,sm8650-hdk", "qcom,sm8650";
	chassis-type = "embedded";

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

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

	hdmi-out {
		compatible = "hdmi-connector";
		type = "a";

		port {
			hdmi_connector_out: endpoint {
				remote-endpoint = <&lt9611_out>;
			};
		};
	};

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

	leds {
		compatible = "gpio-leds";

		led-0 {
			function = LED_FUNCTION_BLUETOOTH;
			color = <LED_COLOR_ID_BLUE>;
			gpios = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "bluetooth-power";
			default-state = "off";
		};

		led-1 {
			function = LED_FUNCTION_INDICATOR;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&pm8550b_gpios 9 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			panic-indicator;
		};

		led-2 {
			function = LED_FUNCTION_WLAN;
			color = <LED_COLOR_ID_ORANGE>;
			gpios = <&pm8550b_gpios 10 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "phy0tx";
			default-state = "off";
		};
	};

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

				port@2 {
					reg = <2>;

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

	lt9611_1v2: regulator-lt9611-1v2 {
		compatible = "regulator-fixed";

		regulator-name = "LT9611_1V2";
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;

		vin-supply = <&vph_pwr>;
		gpio = <&tlmm 79 GPIO_ACTIVE_HIGH>;

		enable-active-high;
	};

	lt9611_3v3: regulator-lt9611-3v3 {
		compatible = "regulator-fixed";

		regulator-name = "LT9611_3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		vin-supply = <&vreg_bob_3v3>;
		gpio = <&tlmm 78 GPIO_ACTIVE_HIGH>;

		enable-active-high;
	};

	sound {
		compatible = "qcom,sm8650-sndcard", "qcom,sm8450-sndcard";
		model = "SM8650-HDK";
		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",
				"AMIC5", "MIC BIAS4",
				"TX SWR_INPUT0", "ADC1_OUTPUT",
				"TX SWR_INPUT1", "ADC2_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 = <&north_spkr>, <&south_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
			};

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

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

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

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

	vreg_bob_3v3: regulator-vreg-bob-3v3 {
		compatible = "regulator-fixed";

		regulator-name = "VREG_BOB_3P3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		vin-supply = <&vph_pwr>;
	};

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

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

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

&i2c6 {
	clock-frequency = <400000>;
	status = "okay";

	lt9611_codec: hdmi-bridge@2b {
		compatible = "lontium,lt9611uxc";
		reg = <0x2b>;

		interrupts-extended = <&tlmm 85 IRQ_TYPE_EDGE_FALLING>;

		reset-gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;

		vdd-supply = <&lt9611_1v2>;
		vcc-supply = <&lt9611_3v3>;

		pinctrl-0 = <&lt9611_irq_pin>, <&lt9611_rst_pin>;
		pinctrl-names = "default";

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

			port@0 {
				reg = <0>;

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

			port@2 {
				reg = <2>;

				lt9611_out: endpoint {
					remote-endpoint = <&hdmi_connector_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";
};

&mdss_dsi0_out {
	remote-endpoint = <&lt9611_a>;
	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";
};

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

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

/* The RGB signals are routed to 3 separate LEDs on the HDK8650 */
&pm8550_pwm {
	#address-cells = <1>;
	#size-cells = <0>;

	status = "okay";

	led@1 {
		reg = <1>;
		function = LED_FUNCTION_STATUS;
		color = <LED_COLOR_ID_RED>;
		default-state = "off";
	};

	led@2 {
		reg = <2>;
		function = LED_FUNCTION_STATUS;
		color = <LED_COLOR_ID_GREEN>;
		default-state = "off";
	};

	led@3 {
		reg = <3>;
		function = LED_FUNCTION_STATUS;
		color = <LED_COLOR_ID_BLUE>;
		default-state = "off";
	};
};

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

&pmk8550_rtc {
	status = "okay";
};

&pon_pwrkey {
	status = "okay";
};

&pon_resin {
	linux,code = <KEY_VOLUMEDOWN>;

	status = "okay";
};

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

&qupv3_id_0 {
	iommus = <&apps_smmu 0xa3 0x3>;

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

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

	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 North */
	north_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 South */
	south_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;
		};
	};

	lt9611_irq_pin: lt9611-irq-state {
		pins = "gpio85";
		function = "gpio";
		bias-disable;
	};

	lt9611_rst_pin: lt9611-rst-state {
		pins = "gpio28";
		function = "gpio";
		output-high;
	};

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

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

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