[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251024023720.3928547-3-le.qi@oss.qualcomm.com>
Date: Fri, 24 Oct 2025 10:37:20 +0800
From: Le Qi <le.qi@....qualcomm.com>
To: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel@....qualcomm.com,
Le Qi <le.qi@....qualcomm.com>
Subject: [PATCH v1 2/2] arm64: dts: qcom: talos-evk: Add sound card support with DA7212 codec
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.
The sound card integrates:
- DA7212 codec on I2C5
- Primary MI2S playback and capture DAI links
- Pin control for MI2S1 signals
Signed-off-by: Le Qi <le.qi@....qualcomm.com>
---
arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 78 +++++++++++++++++++++
1 file changed, 78 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
index b58cae02c9cb..523a61b5e0c8 100644
--- a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
@@ -6,6 +6,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
#include "sm6150.dtsi"
#include "pm8150.dtsi"
/ {
@@ -50,6 +51,46 @@ regulator-usb2-vbus {
regulator-always-on;
};
+ sound {
+ compatible = "qcom,qcs615-sndcard";
+ model = "qcs615-snd-card";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mi2s1_data0>, <&mi2s1_data1>, <&mi2s1_sck>, <&mi2s1_ws>;
+
+ 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>;
+ };
+ };
+
+ 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>;
+ };
+ };
+ };
+
vreg_v3p3_can: regulator-v3p3-can {
compatible = "regulator-fixed";
regulator-name = "vreg-v3p3-can";
@@ -231,6 +272,15 @@ vreg_l17a: ldo17 {
&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>;
+ };
+
eeprom@57 {
compatible = "atmel,24c02";
reg = <0x57>;
@@ -360,6 +410,34 @@ mcp2515@0 {
};
&tlmm {
+ mi2s1_data0: mi2s1-data0-state {
+ pins = "gpio110";
+ function = "mi2s_1";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ mi2s1_data1: mi2s1-data1-state {
+ pins = "gpio111";
+ function = "mi2s_1";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ mi2s1_sck: mi2s1-sck-state {
+ pins = "gpio108";
+ function = "mi2s_1";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ mi2s1_ws: mi2s1-ws-state {
+ pins = "gpio109";
+ function = "mi2s_1";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
pcie_default_state: pcie-default-state {
clkreq-pins {
pins = "gpio90";
--
2.34.1
Powered by blists - more mailing lists