Commit 5a263cf6 authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sm8250-mtp: Add wcd9380 audio codec node



SM8250-MTP has WCD9380 codec for headset playback and capture via
rx and tx macro respectively.
Add node for this device to be able to use it for sound card device.

Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20211006164712.16078-3-srinivas.kandagatla@linaro.org
parent 24f52ef0
Loading
Loading
Loading
Loading
+67 −0
Original line number Diff line number Diff line
@@ -6,6 +6,9 @@
/dts-v1/;

#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/gpio/gpio.h>
#include "sm8250.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
@@ -624,8 +627,72 @@
	firmware-name = "qcom/sm8250/slpi.mbn";
};

&soc {
	wcd938x: codec {
		compatible = "qcom,wcd9380-codec";
		#sound-dai-cells = <1>;
		reset-gpios = <&tlmm 32 0>;
		vdd-buck-supply = <&vreg_s4a_1p8>;
		vdd-rxtx-supply = <&vreg_s4a_1p8>;
		vdd-io-supply = <&vreg_s4a_1p8>;
		vdd-mic-bias-supply = <&vreg_bob>;
		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>;
	};
};

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

&swr2 {
	wcd_tx: wcd9380-tx@0,3 {
		compatible = "sdw20217010d00";
		reg = <0 3>;
		qcom,tx-port-mapping = <2 3 4 5>;
	};
};

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

	wcd938x_reset_default: wcd938x_reset_default {
		mux {
			pins = "gpio32";
			function = "gpio";
		};

		config {
			pins = "gpio32";
			drive-strength = <16>;
			output-high;
		};
	};

	wcd938x_reset_sleep: wcd938x_reset_sleep {
		mux {
			pins = "gpio32";
			function = "gpio";
		};

		config {
			pins = "gpio32";
			drive-strength = <16>;
			bias-disable;
			output-low;
		};
	};
};

&uart12 {