Re: [PATCH v4 2/2] arm64: dts: qcom: talos-evk: Add sound card support with DA7212 codec

From: Bjorn Andersson

Date: Mon Mar 30 2026 - 10:01:11 EST


On Tue, Mar 24, 2026 at 02:04:05PM +0800, Le Qi wrote:
> 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 ++++++++++++++++++++++++++

There's no such file in the upstream tree. Please test on upstream and
resubmit once this is ready to be merged.

Regards,
Bjorn

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