lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ