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

/dts-v1/;

#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
#include "sm8450.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. SM8450 HDK";
	compatible = "qcom,sm8450-hdk", "qcom,sm8450";

	aliases {
		serial0 = &uart7;
	};

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

	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 {
	pm8350-rpmh-regulators {
		compatible = "qcom,pm8350-rpmh-regulators";
		qcom,pmic-id = "b";

		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>;
		vdd-s7-supply = <&vph_pwr>;
		vdd-s8-supply = <&vph_pwr>;
		vdd-s9-supply = <&vph_pwr>;
		vdd-s10-supply = <&vph_pwr>;
		vdd-s11-supply = <&vph_pwr>;
		vdd-s12-supply = <&vph_pwr>;

		vdd-l1-l4-supply = <&vreg_s11b_0p95>;
		vdd-l2-l7-supply = <&vreg_bob>;
		vdd-l3-l5-supply = <&vreg_bob>;
		vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
		vdd-l8-supply = <&vreg_s2h_0p95>;

		vreg_s10b_1p8: smps10 {
			regulator-name = "vreg_s10b_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		vreg_s11b_0p95: smps11 {
			regulator-name = "vreg_s11b_0p95";
			regulator-min-microvolt = <966000>;
			regulator-max-microvolt = <1104000>;
		};

		vreg_s12b_1p25: smps12 {
			regulator-name = "vreg_s12b_1p25";
			regulator-min-microvolt = <1350000>;
			regulator-max-microvolt = <1400000>;
		};

		vreg_l1b_0p91: ldo1 {
			regulator-name = "vreg_l1b_0p91";
			regulator-min-microvolt = <912000>;
			regulator-max-microvolt = <920000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2b_3p07: ldo2 {
			regulator-name = "vreg_l2b_3p07";
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3072000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l5b_0p88: ldo5 {
			regulator-name = "vreg_l5b_0p88";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <888000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

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

		vreg_l9b_1p2: ldo9 {
			regulator-name = "vreg_l9b_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	pm8350c-rpmh-regulators {
		compatible = "qcom,pm8350c-rpmh-regulators";
		qcom,pmic-id = "c";

		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>;
		vdd-s7-supply = <&vph_pwr>;
		vdd-s8-supply = <&vph_pwr>;
		vdd-s9-supply = <&vph_pwr>;
		vdd-s10-supply = <&vph_pwr>;

		vdd-l1-l12-supply = <&vreg_bob>;
		vdd-l2-l8-supply = <&vreg_bob>;
		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
		vdd-l6-l9-l11-supply = <&vreg_bob>;
		vdd-l10-supply = <&vreg_s12b_1p25>;

		vdd-bob-supply = <&vph_pwr>;

		vreg_s1c_1p86: smps1 {
			regulator-name = "vreg_s1c_1p86";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2024000>;
		};

		vreg_s10c_1p05: smps10 {
			regulator-name = "vreg_s10c_1p05";
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1100000>;
		};

		vreg_bob: bob {
			regulator-name = "vreg_bob";
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
		};

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

		vreg_l3c_3p0: ldo3 {
			regulator-name = "vreg_l3c_3p0";
			regulator-min-microvolt = <3296000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4c_1p8: ldo4 {
			regulator-name = "vreg_l4c_1p8";
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <3000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5c_1p8: ldo5 {
			regulator-name = "vreg_l5c_1p8";
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <3000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

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

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

		vreg_l9c_2p96: ldo9 {
			regulator-name = "vreg_l9c_2p96";
			regulator-min-microvolt = <2960000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12c_1p8: ldo12 {
			regulator-name = "vreg_l12c_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1968000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l13c_3p0: ldo13 {
			regulator-name = "vreg_l13c_3p0";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	pm8450-rpmh-regulators {
		compatible = "qcom,pm8450-rpmh-regulators";
		qcom,pmic-id = "h";

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

		vdd-l2-supply = <&vreg_bob>;
		vdd-l3-supply = <&vreg_bob>;
		vdd-l4-supply = <&vreg_bob>;

		vreg_s2h_0p95: smps2 {
			regulator-name = "vreg_s2h_0p95";
			regulator-min-microvolt = <848000>;
			regulator-max-microvolt = <1104000>;
		};

		vreg_s3h_0p5: smps3 {
			regulator-name = "vreg_s3h_0p5";
			regulator-min-microvolt = <500000>;
			regulator-max-microvolt = <500000>;
		};

		vreg_l2h_0p91: ldo2 {
			regulator-name = "vreg_l2h_0p91";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

	};

	pmr735a-rpmh-regulators {
		compatible = "qcom,pmr735a-rpmh-regulators";
		qcom,pmic-id = "e";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;

		vdd-l1-l2-supply = <&vreg_s2e_0p85>;
		vdd-l3-supply = <&vreg_s1e_1p25>;
		vdd-l4-supply = <&vreg_s1c_1p86>;
		vdd-l5-l6-supply = <&vreg_s1c_1p86>;
		vdd-l7-bob-supply = <&vreg_bob>;

		vreg_s1e_1p25: smps1 {
			regulator-name = "vreg_s1e_1p25";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1296000>;
		};

		vreg_s2e_0p85: smps2 {
			regulator-name = "vreg_s2e_0p85";
			regulator-min-microvolt = <500000>;
			regulator-max-microvolt = <1040000>;
		};

		vreg_l1e_0p8: ldo1 {
			regulator-name = "vreg_l1e_0p8";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
		};

		vreg_l2e_0p8: ldo2 {
			regulator-name = "vreg_l2e_0p8";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
		};

		vreg_l3e_1p2: ldo3 {
			regulator-name = "vreg_l3e_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
		};

		vreg_l4e_1p7: ldo4 {
			regulator-name = "vreg_l4e_1p7";
			regulator-min-microvolt = <1776000>;
			regulator-max-microvolt = <1776000>;
		};

		vreg_l5e_0p88: ldo5 {
			regulator-name = "vreg_l5e_0p88";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <880000>;
		};

		vreg_l6e_1p2: ldo6 {
			regulator-name = "vreg_l6e_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
		};

		vreg_l7e_2p8: ldo7 {
			regulator-name = "vreg_l7e_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
		};
	};
};

&pcie0 {
	status = "okay";
	max-link-speed = <2>;
};

&pcie0_phy {
	status = "okay";
	vdda-phy-supply = <&vreg_l5b_0p88>;
	vdda-pll-supply = <&vreg_l6b_1p2>;
};

&pcie1 {
	status = "okay";
};

&pcie1_phy {
	status = "okay";
	vdda-phy-supply = <&vreg_l2h_0p91>;
	vdda-pll-supply = <&vreg_l6b_1p2>;
};

&remoteproc_adsp {
	status = "okay";
	firmware-name = "qcom/sm8450/adsp.mbn";
};

&remoteproc_cdsp {
	status = "okay";
	firmware-name = "qcom/sm8450/cdsp.mbn";
};

&remoteproc_mpss {
	status = "okay";
	firmware-name = "qcom/sm8450/modem.mbn";
};

&remoteproc_slpi {
	status = "okay";
	firmware-name = "qcom/sm8450/slpi.mbn";
};

&qupv3_id_0 {
	status = "okay";
};

&sdhc_2 {
	cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
	pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>;
	vmmc-supply = <&vreg_l9c_2p96>;
	vqmmc-supply = <&vreg_l6c_1p8>;
	no-sdio;
	no-mmc;
	status = "okay";
};

&soc {
	wcd938x: codec {
		compatible = "qcom,wcd9380-codec";

		pinctrl-names = "default";
		pinctrl-0 = <&wcd_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 43 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <1>;

		vdd-buck-supply = <&vreg_s10b_1p8>;
		vdd-rxtx-supply = <&vreg_s10b_1p8>;
		vdd-io-supply = <&vreg_s10b_1p8>;
		vdd-mic-bias-supply = <&vreg_bob>;
	};
};

&sound {
	compatible = "qcom,sm8450-sndcard";
	model = "SM8450-HDK";
	audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
			"SpkrRight IN", "WSA_SPK2 OUT",
			"IN1_HPHL", "HPHL_OUT",
			"IN2_HPHR", "HPHR_OUT",
			"AMIC2", "MIC BIAS2",
			"VA DMIC0", "MIC BIAS1",
			"VA DMIC1", "MIC BIAS1",
			"VA DMIC2", "MIC BIAS3",
			"TX DMIC0", "MIC BIAS1",
			"TX DMIC1", "MIC BIAS2",
			"TX DMIC2", "MIC BIAS3",
			"TX SWR_ADC1", "ADC2_OUTPUT";

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

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

		codec {
			sound-dai = <&wcd938x 0>, <&swr1 0>, <&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 = <&wcd938x 1>, <&swr2 0>, <&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>, <&wsamacro 0>;
		};

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

	va-dai-link {
		link-name = "VA Capture";

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

		codec {
			sound-dai = <&vamacro 0>;
		};

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

&swr0 {
	left_spkr: speaker@0,1 {
		compatible = "sdw10217020200";
		reg = <0 1>;
		pinctrl-names = "default";
		pinctrl-0 = <&spkr_1_sd_n_active>;
		powerdown-gpios = <&tlmm 1 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "SpkrLeft";
		#thermal-sensor-cells = <0>;
		vdd-supply = <&vreg_s10b_1p8>;
	};

	right_spkr: speaker@0,2 {
		compatible = "sdw10217020200";
		reg = <0 2>;
		pinctrl-names = "default";
		pinctrl-0 = <&spkr_2_sd_n_active>;
		powerdown-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		sound-name-prefix = "SpkrRight";
		#thermal-sensor-cells = <0>;
		vdd-supply = <&vreg_s10b_1p8>;
	};
};

&swr1 {
	status = "okay";

	wcd_rx: codec@0,4 {
		compatible = "sdw20217010d00";
		reg = <0 4>;
		qcom,rx-port-mapping = <1 2 3 4 5>;
	};
};

&swr2 {
	status = "okay";

	wcd_tx: codec@0,3 {
		compatible = "sdw20217010d00";
		reg = <0 3>;
		qcom,tx-port-mapping = <1 1 2 3>;
	};
};

&tlmm {
	gpio-reserved-ranges = <28 4>, <36 4>;

	sdc2_card_det_n: sd-card-det-n-state {
		pins = "gpio92";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-up;
	};
};

&uart7 {
	status = "okay";
};

&ufs_mem_hc {
	status = "okay";

	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;

	vcc-supply = <&vreg_l7b_2p5>;
	vcc-max-microamp = <1100000>;
	vccq-supply = <&vreg_l9b_1p2>;
	vccq-max-microamp = <1200000>;
};

&ufs_mem_phy {
	status = "okay";

	vdda-phy-supply = <&vreg_l5b_0p88>;
	vdda-pll-supply = <&vreg_l6b_1p2>;
};

&usb_1 {
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "peripheral";
};

&usb_1_hsphy {
	status = "okay";

	vdda-pll-supply = <&vreg_l5b_0p88>;
	vdda18-supply = <&vreg_l1c_1p8>;
	vdda33-supply = <&vreg_l2b_3p07>;
};

&usb_1_qmpphy {
	status = "okay";

	vdda-phy-supply = <&vreg_l6b_1p2>;
	vdda-pll-supply = <&vreg_l1b_0p91>;
};

&vamacro {
	pinctrl-0 = <&dmic01_default>, <&dmic02_default>;
	pinctrl-names = "default";
	vdd-micb-supply = <&vreg_s10b_1p8>;
	qcom,dmic-sample-rate = <600000>;
};

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

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

	wcd_default: wcd-default-state {
		pins = "gpio43";
		function = "gpio";
		bias-disable;
	};
};
