OSDN Git Service

arm64: dts: qcom: sm8250-mtp: Add wcd9380 audio codec node
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Wed, 6 Oct 2021 16:47:10 +0000 (17:47 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 18 Nov 2021 00:55:55 +0000 (18:55 -0600)
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: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20211006164712.16078-3-srinivas.kandagatla@linaro.org
arch/arm64/boot/dts/qcom/sm8250-mtp.dts

index 5ffbcdd..7cf4fc9 100644 (file)
@@ -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"
        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 {