]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: talos-evk: Add sound card support with DA7212 codec
authorLe Qi <le.qi@oss.qualcomm.com>
Thu, 9 Apr 2026 03:01:56 +0000 (11:01 +0800)
committerBjorn Andersson <andersson@kernel.org>
Sat, 9 May 2026 15:30:31 +0000 (10:30 -0500)
Add the sound card node for QCS615 Talos EVK with DA7212 codec
connected over the Primary MI2S interface. The configuration enables
headphone playback and headset microphone capture, both of which have
been tested to work.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260409030156.155455-3-le.qi@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/talos-evk.dts

index af100e22beeec7951a1b8170b13e84fa2969b06f..b7f514fbc7b2d51c17aed79c2588aad0da272598 100644 (file)
@@ -5,6 +5,7 @@
 /dts-v1/;
 
 #include "talos-evk-som.dtsi"
+#include <dt-bindings/sound/qcom,q6afe.h>
 
 / {
        model = "Qualcomm QCS615 IQ 615 EVK";
                };
        };
 
+       sound {
+               compatible = "qcom,qcs615-sndcard";
+               model = "TALOS-EVK";
+
+               pinctrl-0 = <&mi2s1_pins>, <&mi2s_mclk>;
+               pinctrl-names = "default";
+
+               pri-mi2s-capture-dai-link {
+                       link-name = "Primary MI2S Capture";
+
+                       codec {
+                               sound-dai = <&codec_da7212>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai PRIMARY_MI2S_TX>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               pri-mi2s-playback-dai-link {
+                       link-name = "Primary MI2S Playback";
+
+                       codec {
+                               sound-dai = <&codec_da7212>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+       };
+
        vreg_v1p8_out: regulator-v1p8-out {
                compatible = "regulator-fixed";
                regulator-name = "vreg-v1p8-out";
        };
 };
 
+&i2c5 {
+       status = "okay";
+
+       codec_da7212: codec@1a {
+               compatible = "dlg,da7212";
+               reg = <0x1a>;
+               #sound-dai-cells = <0>;
+               clocks = <&q6prmcc LPASS_CLK_ID_MCLK_2 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+               clock-names = "mclk";
+               VDDA-supply = <&vreg_v1p8_out>;
+               VDDIO-supply = <&vreg_v1p8_out>;
+               VDDMIC-supply = <&vreg_v3p3_out>;
+       };
+};
+
 &mdss_dsi0_out {
        remote-endpoint = <&adv7535_in>;
        data-lanes = <0 1 2 3>;