[PATCH v4 2/2] arm64: dts: qcom: talos-evk: Add sound card support with DA7212 codec
From: Le Qi
Date: Tue Mar 24 2026 - 02:08:22 EST
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@xxxxxxxxxxxxxxxx>
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Signed-off-by: Le Qi <le.qi@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/talos-evk.dts | 65 ++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/talos-evk.dts b/arch/arm64/boot/dts/qcom/talos-evk.dts
index af100e22beee..6352d614e288 100644
--- a/arch/arm64/boot/dts/qcom/talos-evk.dts
+++ b/arch/arm64/boot/dts/qcom/talos-evk.dts
@@ -5,6 +5,7 @@
/dts-v1/;
#include "talos-evk-som.dtsi"
+#include <dt-bindings/sound/qcom,q6afe.h>
/ {
model = "Qualcomm QCS615 IQ 615 EVK";
@@ -40,6 +41,46 @@ hdmi_con_out: endpoint {
};
};
+ 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";
@@ -109,6 +150,19 @@ adv7535_out: endpoint {
};
};
+&i2c5 {
+ status = "okay";
+
+ codec_da7212: codec@1a {
+ compatible = "dlg,da7212";
+ reg = <0x1a>;
+ #sound-dai-cells = <0>;
+ 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>;
@@ -124,6 +178,17 @@ &pon_resin {
status = "okay";
};
+&q6apmbedai {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dai@17 {
+ reg = <PRIMARY_MI2S_TX>;
+ clocks = <&q6prmcc LPASS_CLK_ID_MCLK_2 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "mclk";
+ };
+};
+
&sdhc_2 {
pinctrl-0 = <&sdc2_state_on>;
pinctrl-1 = <&sdc2_state_off>;
--
2.34.1