From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
To: Srinivas Kandagatla <srini@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support
Date: Wed, 17 Jun 2026 01:43:12 +0530 [thread overview]
Message-ID: <20260616201315.2565115-6-mohammad.rafi.shaik@oss.qualcomm.com> (raw)
In-Reply-To: <20260616201315.2565115-1-mohammad.rafi.shaik@oss.qualcomm.com>
Enable the sound card on the shikra-cqm-evk platform, including
the PM4125 (Rouleur) headset codec, WSA885x external speaker path,
and QAIF backend links.
Also enable the required LPASS macro and SoundWire nodes, along with
the necessary pinctrl configurations for DMIC and I2S interfaces.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts | 222 +++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 5 +
2 files changed, 227 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
index b88652703fb8..b68d196b9d04 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
@@ -5,6 +5,7 @@
/dts-v1/;
+#include <dt-bindings/sound/qcom,qaif.h>
#include "shikra-cqm-som.dtsi"
#include "shikra-evk.dtsi"
@@ -23,6 +24,74 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ sound: sound {
+ compatible = "qcom,shikra-cqm-sndcard";
+ model = "shikra-cqm-evk";
+
+ audio-routing = "IN1_HPHL", "HPHL_OUT",
+ "IN2_HPHR", "HPHR_OUT",
+ "AMIC2", "MIC BIAS2",
+ "VA DMIC0", "vdd-micb",
+ "VA DMIC1", "vdd-micb",
+ "VA DMIC2", "vdd-micb",
+ "VA DMIC3", "vdd-micb";
+
+ pinctrl-0 = <&i2s2_default>, <&dmic_eldo_en_default>;
+ pinctrl-names = "default";
+
+ headset-capture-dai-link {
+ link-name = "Headphones Capture";
+
+ codec {
+ sound-dai = <&pmic4125_codec 1>,
+ <&swr1 0>,
+ <&vamacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&qaif_cpu QAIF_CDC_DMA_VA_TX0>;
+ };
+ };
+
+ headset-playback-dai-link {
+ link-name = "Headphones Playback";
+
+ codec {
+ sound-dai = <&pmic4125_codec 0>,
+ <&swr0 0>,
+ <&rxmacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&qaif_cpu QAIF_CDC_DMA_RX0>;
+ };
+ };
+
+ wsa-speaker-dai-link {
+ link-name = "WSA Speaker Playback";
+
+ codec {
+ sound-dai = <&wsa885x_i2c>;
+ };
+
+ cpu {
+ sound-dai = <&qaif_cpu QAIF_MI2S_TDM_AIF2>;
+ };
+ };
+
+ va-dmic-dai-link {
+ link-name = "VA DMIC Capture";
+
+ codec {
+ sound-dai = <&vamacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&qaif_cpu QAIF_CDC_DMA_VA_TX0>;
+ };
+ };
+ };
+
wcn3988-pmu {
compatible = "qcom,wcn3988-pmu";
@@ -60,6 +129,79 @@ vreg_pmu_ch1: ldo4 {
};
};
+&gpr {
+ status = "disabled";
+};
+
+&i2c3 {
+ status = "okay";
+
+ wsa885x_i2c: speaker@c {
+ compatible = "qcom,wsa885x-i2c";
+ reg = <0x0c>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&wsa885x_i2c_spkr_sd_n>;
+
+ interrupt-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>;
+ powerdown-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+ vdd-1p8-supply = <&pm4125_l15>;
+ vdd-io-supply = <&pm4125_l15>;
+ qcom,battery-config = <2>;
+
+ qcom,wsa885x-init-table =
+ <0x8470 0x2
+ 0x8470 0x0
+ 0x8470 0x1
+ 0x0004 0x1
+ 0x8602 0x60
+ 0x8622 0x60
+ 0x8458 0x79
+ 0x810B 0xD9
+ 0x8111 0xD9
+ 0x813C 0x08
+ 0x8102 0x04
+ 0x811C 0x29
+ 0x811D 0x40
+ 0x8129 0x40
+ 0x811A 0x80
+ 0x8126 0x80
+ 0x8103 0x6
+ 0x80CA 0x85
+ 0x80CB 0xE
+ 0x80CC 0xC
+ 0x80D0 0x80
+ 0x80BA 0xC0
+ 0x841C 0x4E
+ 0x8435 0x47
+ 0x86CE 0x09
+ 0x8667 0x34
+ 0x800D 0x08>;
+ #sound-dai-cells = <0>;
+ };
+};
+
+&qaif_cpu {
+ status = "okay";
+ qaif_aif_if2: aif-interface@2 {
+ compatible = "qcom,qaif-tdm-dai";
+ reg = <QAIF_MI2S_TDM_AIF2>;
+ qcom,qaif-aif-sync-mode = <QAIF_AIF_SYNC_MODE_LONG>;
+ qcom,qaif-aif-sync-src = <QAIF_AIF_SYNC_SRC_MASTER>;
+ qcom,qaif-aif-sync-delay = <1>;
+ qcom,qaif-aif-slot-width-rx = <32>;
+ qcom,qaif-aif-slot-width-tx = <32>;
+ qcom,qaif-aif-slot-en-rx-mask = <0x3>;
+ qcom,qaif-aif-slot-en-tx-mask = <0x3>;
+ qcom,qaif-aif-ctrl-data-oe;
+ /* Lane 0: RX (mic); Lane 1: TX (speaker) */
+ qcom,qaif-aif-lane-config = <QAIF_AIF_LANE_ENABLE QAIF_AIF_LANE_DIR_RX>,
+ <QAIF_AIF_LANE_ENABLE QAIF_AIF_LANE_DIR_TX>;
+ /* frame length = slot-width (32) * bits-per-lane (2) = 64 bits */
+ qcom,qaif-aif-bits-per-lane = <2>;
+ };
+};
+
&remoteproc_cdsp {
firmware-name = "qcom/shikra/cdsp.mbn";
@@ -79,6 +221,10 @@ &remoteproc_mpss {
status = "okay";
};
+&rxmacro {
+ status = "okay";
+};
+
&audiocorecc {
status = "okay";
};
@@ -99,6 +245,74 @@ &sdhc_1 {
status = "okay";
};
+&spmi_bus {
+ pmic@0 {
+ pmic4125_codec: audio-codec@f000 {
+ compatible = "qcom,pm4125-codec";
+ reg = <0xf000>;
+ vdd-io-supply = <&pm4125_l15>;
+ vdd-cp-supply = <&pm4125_s1>;
+ vdd-pa-vpos-supply = <&pm4125_s1>;
+
+ vdd-mic-bias-supply = <&pm4125_l22>;
+ qcom,micbias1-microvolt = <1800000>;
+ qcom,micbias2-microvolt = <1800000>;
+ qcom,micbias3-microvolt = <1800000>;
+
+ qcom,rx-device = <&pm4125_rx>;
+ qcom,tx-device = <&pm4125_tx>;
+ #sound-dai-cells = <1>;
+
+ status = "okay";
+ };
+ };
+};
+
+&swr0 {
+ status = "okay";
+
+ pm4125_rx: codec@0,4 {
+ compatible = "sdw20217010c00";
+ reg = <0 4>;
+ qcom,rx-port-mapping = <1 2 3 4 5>;
+ };
+};
+
+&swr1 {
+ status = "okay";
+
+ pm4125_tx: codec@0,3 {
+ compatible = "sdw20217010c00";
+ reg = <0 3>;
+ qcom,tx-port-mapping = <2 2 3 4>;
+ };
+};
+
+&tlmm {
+ dmic_eldo_en_default: dmic-eldo-default-active-state {
+ pins = "gpio71";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+
+ i2s2_default: i2s2-default-active-state {
+ pins = "gpio100", "gpio101", "gpio102", "gpio103";
+ function = "i2s2";
+ drive-strength = <8>;
+ output-high;
+ bias-disable;
+ };
+
+ wsa885x_i2c_spkr_sd_n: wsa885x-i2c-spkr-sd-n-active-state {
+ pins = "gpio2";
+ function = "gpio";
+ input-disable;
+ output-enable;
+ };
+};
+
&uart8 {
status = "okay";
@@ -110,6 +324,14 @@ bluetooth {
};
};
+&vamacro {
+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>, <&tx_swr_active>;
+ pinctrl-names = "default";
+
+ qcom,dmic-sample-rate = <4800000>;
+ status = "okay";
+};
+
&wifi {
vdd-0.8-cx-mx-supply = <&pm4125_l7>;
vdd-1.8-xo-supply = <&vreg_pmu_xo>;
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
index dc3861489f64..86b323f2fa58 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
@@ -53,6 +53,11 @@ &rpm_requests {
regulators {
compatible = "qcom,rpm-pm2250-regulators";
+ pm4125_s1: s1 {
+ regulator-min-microvolt = <1396000>;
+ regulator-max-microvolt = <1396000>;
+ };
+
pm4125_s2: s2 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1200000>;
--
2.34.1
next prev parent reply other threads:[~2026-06-16 20:15 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-16 20:13 [PATCH v1 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 1/8] ASoC: dt-bindings: qcom,apr: Add modem_apps GLINK channel for shikra Mohammad Rafi Shaik
2026-06-22 13:20 ` Krzysztof Kozlowski
2026-06-16 20:13 ` [PATCH v1 2/8] arm64: dts: qcom: shikra: Add QAIF CPU node for audio Mohammad Rafi Shaik
2026-06-24 8:20 ` Konrad Dybcio
2026-06-29 5:05 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 3/8] arm64: dts: qcom: shikra: Add gpr node Mohammad Rafi Shaik
2026-06-22 13:44 ` Krzysztof Kozlowski
2026-06-29 5:23 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 4/8] arm64: dts: qcom: shikra: Add soundwire and macro nodes Mohammad Rafi Shaik
2026-06-25 11:45 ` Konrad Dybcio
2026-06-29 5:25 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` Mohammad Rafi Shaik [this message]
2026-06-22 13:46 ` [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support Krzysztof Kozlowski
2026-06-29 5:28 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 6/8] arm64: dts: qcom: shikra-cqs-evk: " Mohammad Rafi Shaik
2026-06-22 13:47 ` Krzysztof Kozlowski
2026-06-29 5:30 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 7/8] arm64: dts: qcom: shikra-iqs-evk: " Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 8/8] arm64: defconfig: Enable Qualcomm QAIF and WSA885X-I2C drivers Mohammad Rafi Shaik
2026-06-22 13:18 ` Krzysztof Kozlowski
2026-06-22 13:19 ` Krzysztof Kozlowski
2026-06-29 5:35 ` Mohammad Rafi Shaik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260616201315.2565115-6-mohammad.rafi.shaik@oss.qualcomm.com \
--to=mohammad.rafi.shaik@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=robh@kernel.org \
--cc=srini@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®