* [PATCH v1 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards
@ 2026-06-16 20:13 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
` (7 more replies)
0 siblings, 8 replies; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel
This series enables the Shikra audio path on EVK targets by adding the QAIF
CPU endpoint, GPR/APM/PRM services, SoundWire and LPASS macro nodes, and
board-level sound card wiring for CQM, CQS and IQS variants.
The series is based on linux-next plus the posted Shikra dependency stack
(clock/controller, bindings and ASoC dependencies listed in prerequisite
patches below).
Patch split:
- 1-4: SoC-level audio nodes in shikra.dtsi (kept disabled)
- 5-7: board-level enablement for CQM/CQS/IQS EVKs
- 8: arm64 defconfig updates for QAIF and WSA885X-I2C
Mohammad Rafi Shaik (8):
ASoC: dt-bindings: qcom,apr: Add modem_apps GLINK channel for shikra
arm64: dts: qcom: shikra: Add QAIF CPU node for audio
arm64: dts: qcom: shikra: Add gpr node
arm64: dts: qcom: shikra: Add soundwire and macro nodes
arm64: dts: qcom: shikra-cqm-evk: Enable sound card support
arm64: dts: qcom: shikra-cqs-evk: Enable sound card support
arm64: dts: qcom: shikra-iqs-evk: Enable sound card support
arm64: defconfig: Enable Qualcomm QAIF and WSA885X-I2C drivers
.../bindings/soc/qcom/qcom,apr.yaml | 4 +-
arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts | 222 +++++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 5 +
arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts | 149 ++++++++++
arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts | 143 ++++++++++
arch/arm64/boot/dts/qcom/shikra.dtsi | 256 ++++++++++++++++++
arch/arm64/configs/defconfig | 2 +
7 files changed, 780 insertions(+), 1 deletion(-)
base-commit: abe651837cb394f76d738a7a747322fca3bf17ba
prerequisite-patch-id: 59bb0a7828e41f546f734f127d81da83c0adcda9
prerequisite-patch-id: 197da6bcb15cadc47869dba88c8020987b25c335
prerequisite-patch-id: 8ec9c1eb03f052ae232ed54117abed38672c23f6
prerequisite-patch-id: 350db4f4bcdfc0fad9ed57cd5b1723f85ad44f5d
prerequisite-patch-id: e80ea7940b9817449cec21afa6e9e443e007166f
prerequisite-patch-id: 80d8ab865b7b0663c5b2878b45b55e2e4fde9c19
prerequisite-patch-id: 8e645e1c6ad6182de4813a726c293654324de1df
prerequisite-patch-id: f6781d2cf0829ccb32f1400623c95739972f2ee2
prerequisite-patch-id: 2acc300a68ed8c5364fb5f2f7d28fc0d56ab07bf
prerequisite-patch-id: 2357cac636e019eaf14d6a493a1c72bca56fe405
prerequisite-patch-id: 2885f299e711582da312ca9d13983d296a3dd5dc
prerequisite-patch-id: 91af5f3c01e766a53ce8de69aa21847a2d6bbbf8
prerequisite-patch-id: 39475cddaf673b2cbbae703165a782916f199885
prerequisite-patch-id: 6f7f265abfbdffdc0a1fdc5a7e08929e4eec5b7a
prerequisite-patch-id: b5d7f75df02fde56181f576a936baf09d0a72276
prerequisite-patch-id: 3ce52e07ae57139c2e2b71a29ed7d7250f6fcc87
prerequisite-patch-id: 7d92e5a301d09616840e54dc9e4a81f30a64383c
prerequisite-patch-id: 003035cc99f02794043818256ba0ef657872d511
prerequisite-patch-id: 5d23c938843176de2a02987d2832f31fe5df7fcf
prerequisite-patch-id: 430488f50f36039338965ab1fc28d83f02dbc9fd
prerequisite-patch-id: 359ddad8a3fb36f171c96da5ce5ffacd7dd63e8f
prerequisite-patch-id: a98885b9d0e0655bb3161dc2c31fd92a844a5e4e
prerequisite-patch-id: 80aead6484e36f52cb6cc7fd7d9e0326d8296860
prerequisite-patch-id: 2f1bd3efac328030dd8efe28fb95f84603868043
prerequisite-patch-id: 047b4fb1894b92109aa7afcebd7d5c7988ec5379
prerequisite-patch-id: 99977ae9253a961b85331b9808c1feff0c2cc38e
prerequisite-patch-id: 9e3edab83e9fc008b2dc254fb3b548ddd8f8b5f8
prerequisite-patch-id: a7706e25f5951ec41e6b662c1704df8d20662d77
prerequisite-patch-id: d13035abab3ff342753f5bf87b53bbf06a02c6a1
prerequisite-patch-id: 4d40e704139dc4b0ec2529c49f096d86a4e4dc5f
--
2.34.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1 1/8] ASoC: dt-bindings: qcom,apr: Add modem_apps GLINK channel for shikra
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 ` 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
` (6 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel
Add support for the modem_apps GLINK channel on Shikra, as audio
processing is handled through the modem DSP.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
index e51acdcaafaf..01250b556985 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
@@ -120,7 +120,9 @@ allOf:
properties:
qcom,glink-channels:
items:
- - const: adsp_apps
+ - enum:
+ - adsp_apps
+ - modem_apps
power-domains: false
else:
properties:
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 2/8] arm64: dts: qcom: shikra: Add QAIF CPU node for audio
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-16 20:13 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 3/8] arm64: dts: qcom: shikra: Add gpr node Mohammad Rafi Shaik
` (5 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel,
Harendra Gautam
Add the QAIF CPU endpoint in shikra.dtsi so board files can connect LPASS
front-end links to backend codecs.
Describe the MMIO region, interrupt, IOMMU mapping and required clocks for
the QAIF block. Keep the node disabled at SoC level; board dts files enable
and consume it in subsequent patches.
Co-developed-by: Harendra Gautam <harendra.gautam@oss.qualcomm.com>
Signed-off-by: Harendra Gautam <harendra.gautam@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra.dtsi | 46 ++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index bc4ad2bcbbec..e58c87fc8cb0 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -2017,6 +2017,52 @@ dispcc: clock-controller@5f00000 {
#power-domain-cells = <1>;
};
+ qaif_cpu: audio@a000000 {
+ compatible = "qcom,shikra-qaif-cpu";
+ reg = <0x0 0x0a000000 0x0 0x20000>;
+
+ interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>;
+
+ clocks = <&gcc GCC_LPASS_CONFIG_CLK>,
+ <&gcc GCC_LPASS_CORE_AXIM_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AUD_DMA_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AUD_DMA_MEM_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_BUS_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF0_EBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF0_IBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF1_EBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF1_IBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF2_EBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF2_IBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF3_EBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_AIF_IF3_IBIT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_EXT_MCLKA_OUT_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_EXT_MCLKB_OUT_CLK>;
+ clock-names = "lpass_config_clk",
+ "lpass_core_axim_clk",
+ "aud_dma_clk",
+ "aud_dma_mem_clk",
+ "bus_clk",
+ "aif_if0_ebit_clk",
+ "aif_if0_ibit_clk",
+ "aif_if1_ebit_clk",
+ "aif_if1_ibit_clk",
+ "aif_if2_ebit_clk",
+ "aif_if2_ibit_clk",
+ "aif_if3_ebit_clk",
+ "aif_if3_ibit_clk",
+ "ext_mclka_clk",
+ "ext_mclkb_clk";
+
+ iommus = <&apps_smmu 0x1c0 0x0>;
+
+ #sound-dai-cells = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+ };
+
audiocorecc: clock-controller@a0a0000 {
compatible = "qcom,shikra-cqm-audiocorecc";
reg = <0x0 0x0a0a0000 0x0 0x10000>,
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 3/8] arm64: dts: qcom: shikra: Add gpr node
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-16 20:13 ` [PATCH v1 2/8] arm64: dts: qcom: shikra: Add QAIF CPU node for audio Mohammad Rafi Shaik
@ 2026-06-16 20:13 ` Mohammad Rafi Shaik
2026-06-22 13:44 ` Krzysztof Kozlowski
2026-06-16 20:13 ` [PATCH v1 4/8] arm64: dts: qcom: shikra: Add soundwire and macro nodes Mohammad Rafi Shaik
` (4 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel,
Pratyush Meduri
Add GPR(Generic Pack router) node along with
APM(Audio Process Manager) and PRM(Proxy resource
Manager) audio services.
Co-developed-by: Pratyush Meduri <mpratyus@qti.qualcomm.com>
Signed-off-by: Pratyush Meduri <mpratyus@qti.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra.dtsi | 39 ++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index e58c87fc8cb0..3df09cfd17a4 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/clock/qcom,rpmcc.h>
#include <dt-bindings/clock/qcom,shikra-audiocorecc.h>
#include <dt-bindings/clock/qcom,shikra-gcc.h>
+#include <dt-bindings/firmware/qcom,scm.h>
#include <dt-bindings/interconnect/qcom,icc.h>
#include <dt-bindings/interconnect/qcom,osm-l3.h>
#include <dt-bindings/dma/qcom-gpi.h>
@@ -15,6 +16,8 @@
#include <dt-bindings/interconnect/qcom,shikra.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/qcom-rpmpd.h>
+#include <dt-bindings/soc/qcom,gpr.h>
+#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
#include <dt-bindings/thermal/thermal.h>
/ {
@@ -1851,6 +1854,42 @@ glink-edge {
mboxes = <&apcs_glb 12>;
qcom,remote-pid = <1>;
label = "mpss";
+
+ gpr: gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "modem_apps";
+ qcom,domain = <GPR_DOMAIN_ID_MODEM>;
+ qcom,intents = <200 20>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ q6apm: service@1 {
+ compatible = "qcom,q6apm";
+ reg = <GPR_APM_MODULE_IID>;
+ #sound-dai-cells = <0>;
+
+ q6apmbedai: bedais {
+ compatible = "qcom,q6apm-lpass-dais";
+ #sound-dai-cells = <1>;
+ };
+
+ q6apmdai: dais {
+ compatible = "qcom,q6apm-dais";
+ qcom,vmid = <QCOM_SCM_VMID_LPASS
+ QCOM_SCM_VMID_MSS_MSA>;
+ };
+ };
+
+ q6prm: service@2 {
+ compatible = "qcom,q6prm";
+ reg = <GPR_PRM_MODULE_IID>;
+
+ q6prmcc: clock-controller {
+ compatible = "qcom,q6prm-lpass-clocks";
+ #clock-cells = <2>;
+ };
+ };
+ };
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 4/8] arm64: dts: qcom: shikra: Add soundwire and macro nodes
2026-06-16 20:13 [PATCH v1 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Mohammad Rafi Shaik
` (2 preceding siblings ...)
2026-06-16 20:13 ` [PATCH v1 3/8] arm64: dts: qcom: shikra: Add gpr node Mohammad Rafi Shaik
@ 2026-06-16 20:13 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support Mohammad Rafi Shaik
` (3 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel
Add SoC-level SoundWire masters and LPASS RX/VA macro nodes, along with
DMIC and SWR pinctrl states required by the audio data path.
Keep these nodes disabled in shikra.dtsi so board dts files can selectively
enable and configure them.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra.dtsi | 171 +++++++++++++++++++++++++++
1 file changed, 171 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index 3df09cfd17a4..0ed73b948588 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -833,6 +833,70 @@ rclk-pins {
bias-bus-hold;
};
};
+
+ dmic01_default: dmic01-default-state {
+ clk-pins {
+ pins = "gpio96";
+ function = "dmic";
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data-pins {
+ pins = "gpio97";
+ function = "dmic";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
+
+ dmic23_default: dmic23-default-state {
+ clk-pins {
+ pins = "gpio98";
+ function = "dmic";
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data-pins {
+ pins = "gpio99";
+ function = "dmic";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
+
+ tx_swr_active: tx-swr-active-state {
+ clk-pins {
+ pins = "gpio105";
+ function = "swr0_tx";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ data-pins {
+ pins = "gpio106";
+ function = "swr0_tx";
+ drive-strength = <8>;
+ bias-bus-hold;
+ };
+ };
+
+ rx_swr_active: rx-swr-active-state {
+ clk-pins {
+ pins = "gpio107";
+ function = "swr0_rx";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ data-pins {
+ pins = "gpio108", "gpio109";
+ function = "swr0_rx";
+ drive-strength = <8>;
+ bias-bus-hold;
+ };
+ };
};
pmu@c91000 {
@@ -2114,6 +2178,113 @@ audiocorecc: clock-controller@a0a0000 {
status = "disabled";
};
+ rxmacro: codec@a040000 {
+ compatible = "qcom,shikra-lpass-rx-macro";
+ reg = <0x0 0x0a040000 0x0 0x1000>;
+
+ pinctrl-0 = <&rx_swr_active>;
+ pinctrl-names = "default";
+
+ clocks = <&audiocorecc AUDIO_CORE_CC_RX_MCLK_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_RX_MCLK_2X_CLK>,
+ <&vamacro>;
+ clock-names = "mclk",
+ "npl",
+ "fsgen";
+
+ #clock-cells = <0>;
+ clock-output-names = "mclk";
+ #sound-dai-cells = <1>;
+ status = "disabled";
+ };
+
+ swr0: soundwire@a060000 {
+ compatible = "qcom,soundwire-v3.1.0";
+ reg = <0x0 0x0a060000 0x0 0x10000>;
+ qcom,swr-master-ee-val = <0>;
+
+ interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>;
+
+ clocks = <&rxmacro>;
+ clock-names = "iface";
+
+ label = "RX";
+ qcom,din-ports = <0>;
+ qcom,dout-ports = <5>;
+
+ resets = <&audiocorecc AUDIO_CORE_CSR_RX_SWR_CGCR>;
+ reset-names = "swr_audio_cgcr";
+
+ qcom,ports-sinterval-low = /bits/ 8 <0x03 0x1f 0x1f 0x07 0x00>;
+ qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0b 0x01 0x00>;
+ qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0b 0x00 0x00>;
+ qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff>;
+ qcom,ports-hstop = /bits/ 8 <0xff 0x06 0xff 0xff 0xff>;
+ qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff>;
+ qcom,ports-block-pack-mode = /bits/ 8 <0xff 0x00 0x01 0xff 0xff>;
+ qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0x00>;
+ qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00>;
+
+ #sound-dai-cells = <1>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ vamacro: codec@a078000 {
+ compatible = "qcom,shikra-lpass-va-macro";
+ reg = <0x0 0x0a078000 0x0 0x2000>;
+
+ pinctrl-0 = <&tx_swr_active>;
+ pinctrl-names = "default";
+
+ clocks = <&audiocorecc AUDIO_CORE_CC_TX_MCLK_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_TX_MCLK_2X_CLK>;
+ clock-names = "mclk",
+ "npl";
+
+ #clock-cells = <0>;
+ #sound-dai-cells = <1>;
+ clock-output-names = "fsgen";
+ status = "disabled";
+ };
+
+ swr1: soundwire@a080000 {
+ compatible = "qcom,soundwire-v3.1.0";
+ reg = <0x0 0x0a080000 0x0 0x10000>;
+ qcom,swr-master-ee-val = <0>;
+
+ interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH 0>;
+ interrupt-names = "core", "wakeup";
+
+ clocks = <&vamacro>;
+ clock-names = "iface";
+
+ label = "VA_TX";
+
+ qcom,din-ports = <4>;
+ qcom,dout-ports = <0>;
+
+ resets = <&audiocorecc AUDIO_CORE_CSR_TX_SWR_CGCR>;
+ reset-names = "swr_audio_cgcr";
+
+ qcom,ports-sinterval-low = /bits/ 8 <0x01 0x01 0x03 0x03>;
+ qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x01 0x01>;
+ qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x00 0x00>;
+ qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-lane-control = /bits/ 8 <0x01 0x02 0x00 0x00>;
+
+ #sound-dai-cells = <1>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
sram@c11e000 {
compatible = "qcom,shikra-imem", "mmio-sram";
reg = <0x0 0x0c11e000 0x0 0x1000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support
2026-06-16 20:13 [PATCH v1 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Mohammad Rafi Shaik
` (3 preceding siblings ...)
2026-06-16 20:13 ` [PATCH v1 4/8] arm64: dts: qcom: shikra: Add soundwire and macro nodes Mohammad Rafi Shaik
@ 2026-06-16 20:13 ` Mohammad Rafi Shaik
2026-06-22 13:46 ` Krzysztof Kozlowski
2026-06-16 20:13 ` [PATCH v1 6/8] arm64: dts: qcom: shikra-cqs-evk: " Mohammad Rafi Shaik
` (2 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 6/8] arm64: dts: qcom: shikra-cqs-evk: Enable sound card support
2026-06-16 20:13 [PATCH v1 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Mohammad Rafi Shaik
` (4 preceding siblings ...)
2026-06-16 20:13 ` [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support Mohammad Rafi Shaik
@ 2026-06-16 20:13 ` Mohammad Rafi Shaik
2026-06-22 13:47 ` Krzysztof Kozlowski
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
7 siblings, 1 reply; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel,
Pratyush Meduri
Enable the sound card on the shikra-cqs-evk platform, including
WSA885x external speaker path and DMIC via VA macro
Also enable the required LPASS macro along with the necessary
pinctrl configurations for DMIC and I2S interfaces.
Co-developed-by: Pratyush Meduri <mpratyus@qti.qualcomm.com>
Signed-off-by: Pratyush Meduri <mpratyus@qti.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts | 149 ++++++++++++++++++++
1 file changed, 149 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
index 6498ef47bf3a..76d41b645741 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
@@ -23,6 +23,57 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ sound {
+ compatible = "qcom,shikra-cqs-sndcard";
+ model = "shikra-cqs-evk";
+
+ pinctrl-0 = <&i2s2_default>, <&dmic_eldo_en_default>;
+ pinctrl-names = "default";
+
+ audio-routing = "VA DMIC0", "vdd-micb",
+ "VA DMIC1", "vdd-micb",
+ "VA DMIC2", "vdd-micb",
+ "VA DMIC3", "vdd-micb";
+
+ va-dmic-dai-link {
+ link-name = "VA DMIC Capture";
+
+ codec {
+ sound-dai = <&vamacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ wsa-playback-dai-link {
+ link-name = "WSA Playback";
+
+ codec {
+ sound-dai = <&wsa885x_i2c>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ dai-tdm-slot-rx-mask = <1 1>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai SECONDARY_TDM_RX_0>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ dai-tdm-slot-rx-mask = <1 1>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
+
wcn3988-pmu {
compatible = "qcom,wcn3988-pmu";
@@ -60,6 +111,66 @@ vreg_pmu_ch1: ldo4 {
};
};
+&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>;
+ };
+};
+
+&q6apmbedai {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ dai@40 {
+ reg = <SECONDARY_TDM_RX_0>;
+ clocks = <&q6prmcc LPASS_CLK_ID_AUD_INTF2_IBIT
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "bclk";
+ };
+};
+
&remoteproc_cdsp {
firmware-name = "qcom/shikra/cdsp.mbn";
@@ -100,6 +211,31 @@ &sdhc_1 {
status = "okay";
};
+&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>;
+ bias-disable;
+ };
+
+ wsa885x_i2c_spkr_sd_n: wsa885x-i2c-spkr-sd-n-active-state {
+ pins = "gpio2";
+ function = "gpio";
+ drive-strength = <8>;
+ input-disable;
+ output-enable;
+ };
+};
+
&uart8 {
status = "okay";
@@ -111,6 +247,19 @@ bluetooth {
};
};
+&vamacro {
+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>, <&tx_swr_active>;
+ pinctrl-names = "default";
+
+ clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6prmcc LPASS_CLK_ID_TX_CORE_NPL_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "mclk",
+ "npl";
+
+ qcom,dmic-sample-rate = <4800000>;
+ status = "okay";
+};
+
&wifi {
vdd-0.8-cx-mx-supply = <&pm4125_l7>;
vdd-1.8-xo-supply = <&vreg_pmu_xo>;
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 7/8] arm64: dts: qcom: shikra-iqs-evk: Enable sound card support
2026-06-16 20:13 [PATCH v1 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Mohammad Rafi Shaik
` (5 preceding siblings ...)
2026-06-16 20:13 ` [PATCH v1 6/8] arm64: dts: qcom: shikra-cqs-evk: " Mohammad Rafi Shaik
@ 2026-06-16 20:13 ` Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 8/8] arm64: defconfig: Enable Qualcomm QAIF and WSA885X-I2C drivers Mohammad Rafi Shaik
7 siblings, 0 replies; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel,
Ajay Kumar Nandam
Enable the IQS EVK audio card using MAX98091 on I2S0 for primary
playback/capture and VA DMIC capture through q6apm backend links.
Add board clock and pinctrl states required for codec IRQ, external
mclk and digital mic routing.
Co-developed-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts | 143 ++++++++++++++++++++
1 file changed, 143 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
index fd691d53a0fa..62f405578172 100644
--- a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
@@ -23,6 +23,75 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ sound {
+ compatible = "qcom,shikra-iqs-sndcard";
+ model = "shikra-iqs-evk";
+
+ pinctrl-0 = <&i2s0_default>, <&ext_mclk2_active>;
+ pinctrl-names = "default";
+
+ audio-routing = "IN34", "Headset Mic",
+ "Headset Mic", "MICBIAS",
+ "DMICL", "Int Mic",
+ "Int Mic", "MICBIAS",
+ "Headphone", "HPL",
+ "Headphone", "HPR",
+ "Speaker", "SPKL",
+ "Speaker", "SPKR",
+ "VA DMIC0", "vdd-micb",
+ "VA DMIC1", "vdd-micb",
+ "VA DMIC2", "vdd-micb",
+ "VA DMIC3", "vdd-micb";
+
+ pri-i2s-playback-dai-link {
+ link-name = "Analog Playback";
+
+ codec {
+ sound-dai = <&max98091>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ pri-i2s-capture-dai-link {
+ link-name = "Analog Capture";
+
+ codec {
+ sound-dai = <&max98091>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai PRIMARY_MI2S_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ va-dmic-dai-link {
+ link-name = "VA DMIC Capture";
+
+ codec {
+ sound-dai = <&vamacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
+
vreg_wcn_3p3: regulator-wcn-3p3 {
compatible = "regulator-fixed";
regulator-name = "wcn_3p3";
@@ -68,6 +137,36 @@ vreg_pmu_ch1: ldo4 {
};
};
+&i2c3 {
+ status = "okay";
+
+ max98091: audio-codec@10 {
+ compatible = "maxim,max98091";
+ reg = <0x10>;
+
+ pinctrl-0 = <&max98091_default>;
+ pinctrl-names = "default";
+
+ interrupts-extended = <&tlmm 28 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&q6prmcc LPASS_CLK_ID_MCLK_2 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "mclk";
+ assigned-clocks = <&q6prmcc LPASS_CLK_ID_MCLK_2 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ assigned-clock-rates = <12288000>;
+ #sound-dai-cells = <0>;
+ };
+};
+
+&q6apmbedai {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dai@16 {
+ reg = <PRIMARY_MI2S_RX>;
+ clocks = <&q6prmcc LPASS_CLK_ID_AUD_INTF0_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "bclk";
+ };
+};
+
&remoteproc_cdsp {
firmware-name = "qcom/shikra/cdsp.mbn";
@@ -103,6 +202,36 @@ &sdhc_1 {
status = "okay";
};
+&tlmm {
+ dmic_eldo_en_default: dmic-eldo-default-active-state {
+ pins = "gpio71";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+
+ ext_mclk2_active: ext-mclk2-state {
+ pins = "gpio110";
+ function = "ext_mclk";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ i2s0_default: i2s0-default-active-state {
+ pins = "gpio105", "gpio106", "gpio107", "gpio108", "gpio109";
+ function = "i2s0";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ max98091_default: max98091-default-state {
+ pins = "gpio28";
+ function = "gpio";
+ bias-pull-up;
+ };
+};
+
&uart8 {
status = "okay";
@@ -114,6 +243,20 @@ bluetooth {
};
};
+&vamacro {
+ clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6prmcc LPASS_CLK_ID_TX_CORE_NPL_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "mclk",
+ "npl";
+
+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>, <&dmic_eldo_en_default>;
+ pinctrl-names = "default";
+
+ qcom,dmic-sample-rate = <4800000>;
+
+ status = "okay";
+};
+
&wifi {
vdd-0.8-cx-mx-supply = <&pm8150_s4>;
vdd-1.8-xo-supply = <&vreg_pmu_xo>;
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 8/8] arm64: defconfig: Enable Qualcomm QAIF and WSA885X-I2C drivers
2026-06-16 20:13 [PATCH v1 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Mohammad Rafi Shaik
` (6 preceding siblings ...)
2026-06-16 20:13 ` [PATCH v1 7/8] arm64: dts: qcom: shikra-iqs-evk: " Mohammad Rafi Shaik
@ 2026-06-16 20:13 ` Mohammad Rafi Shaik
2026-06-22 13:18 ` Krzysztof Kozlowski
7 siblings, 1 reply; 15+ messages in thread
From: Mohammad Rafi Shaik @ 2026-06-16 20:13 UTC (permalink / raw)
To: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel
Enable the QAIF CPU DAI and WSA885X I2C codec as modules in
arm64 defconfig.
These options are required to exercise the Shikra EVK
audio paths enabled by the preceding DTS changes.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
arch/arm64/configs/defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 271589322efd..067f4ecc05bf 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1099,6 +1099,7 @@ CONFIG_SND_SOC_QCOM=m
CONFIG_SND_SOC_APQ8016_SBC=m
CONFIG_SND_SOC_QDSP6_USB=m
CONFIG_SND_SOC_MSM8996=m
+CONFIG_SND_SOC_QCOM_QAIF=m
CONFIG_SND_SOC_SDM845=m
CONFIG_SND_SOC_SM8250=m
CONFIG_SND_SOC_SC8280XP=m
@@ -1175,6 +1176,7 @@ CONFIG_SND_SOC_WM8978=m
CONFIG_SND_SOC_WSA881X=m
CONFIG_SND_SOC_WSA883X=m
CONFIG_SND_SOC_WSA884X=m
+CONFIG_SND_SOC_WSA885X_I2C=m
CONFIG_SND_SOC_NAU8822=m
CONFIG_SND_SOC_LPASS_WSA_MACRO=m
CONFIG_SND_SOC_LPASS_VA_MACRO=m
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v1 8/8] arm64: defconfig: Enable Qualcomm QAIF and WSA885X-I2C drivers
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
0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-22 13:18 UTC (permalink / raw)
To: Mohammad Rafi Shaik
Cc: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-sound, linux-arm-msm,
devicetree, linux-kernel
On Wed, Jun 17, 2026 at 01:43:15AM +0530, Mohammad Rafi Shaik wrote:
> Enable the QAIF CPU DAI and WSA885X I2C codec as modules in
> arm64 defconfig.
>
> These options are required to exercise the Shikra EVK
Qualcomm Shikra EVK, but anyway the problem is that:
git grep -i "Shikra EVK"
gives me zero results.
I already commented about this for some other patches.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 8/8] arm64: defconfig: Enable Qualcomm QAIF and WSA885X-I2C drivers
2026-06-22 13:18 ` Krzysztof Kozlowski
@ 2026-06-22 13:19 ` Krzysztof Kozlowski
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-22 13:19 UTC (permalink / raw)
To: Mohammad Rafi Shaik
Cc: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-sound, linux-arm-msm,
devicetree, linux-kernel
On 22/06/2026 15:18, Krzysztof Kozlowski wrote:
> On Wed, Jun 17, 2026 at 01:43:15AM +0530, Mohammad Rafi Shaik wrote:
>> Enable the QAIF CPU DAI and WSA885X I2C codec as modules in
>> arm64 defconfig.
>>
>> These options are required to exercise the Shikra EVK
>
> Qualcomm Shikra EVK, but anyway the problem is that:
> git grep -i "Shikra EVK"
> gives me zero results.
>
> I already commented about this for some other patches.
>
And SND_SOC_WSA885X_I2C also does not exist in next-20260619.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 1/8] ASoC: dt-bindings: qcom,apr: Add modem_apps GLINK channel for shikra
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
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-22 13:20 UTC (permalink / raw)
To: Mohammad Rafi Shaik
Cc: Srinivas Kandagatla, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-sound, linux-arm-msm,
devicetree, linux-kernel
On Wed, Jun 17, 2026 at 01:43:08AM +0530, Mohammad Rafi Shaik wrote:
> Add support for the modem_apps GLINK channel on Shikra, as audio
> processing is handled through the modem DSP.
>
> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 3/8] arm64: dts: qcom: shikra: Add gpr node
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
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-22 13:44 UTC (permalink / raw)
To: Mohammad Rafi Shaik, Srinivas Kandagatla, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel,
Pratyush Meduri
On 16/06/2026 22:13, Mohammad Rafi Shaik wrote:
> Add GPR(Generic Pack router) node along with
Missing spaces before (.
> APM(Audio Process Manager) and PRM(Proxy resource
> Manager) audio services.
Please wrap commit message according to Linux coding style / submission
process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
> @@ -1851,6 +1854,42 @@ glink-edge {
> mboxes = <&apcs_glb 12>;
> qcom,remote-pid = <1>;
> label = "mpss";
> +
> + gpr: gpr {
> + compatible = "qcom,gpr";
> + qcom,glink-channels = "modem_apps";
> + qcom,domain = <GPR_DOMAIN_ID_MODEM>;
> + qcom,intents = <200 20>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + q6apm: service@1 {
> + compatible = "qcom,q6apm";
> + reg = <GPR_APM_MODULE_IID>;
> + #sound-dai-cells = <0>;
> +
> + q6apmbedai: bedais {
> + compatible = "qcom,q6apm-lpass-dais";
> + #sound-dai-cells = <1>;
> + };
> +
> + q6apmdai: dais {
> + compatible = "qcom,q6apm-dais";
> + qcom,vmid = <QCOM_SCM_VMID_LPASS
> + QCOM_SCM_VMID_MSS_MSA>;
I don't understand what is happening here.
Other patch made a change like:
-qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
But even here you do not have it.
I don't understand what is happening here, but for now it looks that
this patchset is incorrect and incomplete.
> + };
> + };
> +
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support
2026-06-16 20:13 ` [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support Mohammad Rafi Shaik
@ 2026-06-22 13:46 ` Krzysztof Kozlowski
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-22 13:46 UTC (permalink / raw)
To: Mohammad Rafi Shaik, Srinivas Kandagatla, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel
On 16/06/2026 22:13, Mohammad Rafi Shaik wrote:
> +
> 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";
This was EXPLICITLY NAKED as in disagreed.
When you receive a NAK for a binding, you cannot send a DTS six days
later having that wrong compatible.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 6/8] arm64: dts: qcom: shikra-cqs-evk: Enable sound card support
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
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-22 13:47 UTC (permalink / raw)
To: Mohammad Rafi Shaik, Srinivas Kandagatla, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-sound, linux-arm-msm, devicetree, linux-kernel,
Pratyush Meduri
On 16/06/2026 22:13, Mohammad Rafi Shaik wrote:
>
> +&i2c3 {
> + status = "okay";
> +
> + wsa885x_i2c: speaker@c {
> + compatible = "qcom,wsa885x-i2c";
NAK.
There is no such compatible. And there will never be.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-06-22 13:47 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-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-16 20:13 ` [PATCH v1 4/8] arm64: dts: qcom: shikra: Add soundwire and macro nodes Mohammad Rafi Shaik
2026-06-16 20:13 ` [PATCH v1 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support Mohammad Rafi Shaik
2026-06-22 13:46 ` Krzysztof Kozlowski
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-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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox