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>,
Abel Vesa <abelvesa@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>,
linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 4/8] arm64: dts: qcom: shikra: Add soundwire and macro nodes
Date: Thu, 17 Sep 2026 10:07:33 +0530 [thread overview]
Message-ID: <20260917-shikra_audio_dts-v3-4-9a49e1ca6370@oss.qualcomm.com> (raw)
In-Reply-To: <20260917-shikra_audio_dts-v3-0-9a49e1ca6370@oss.qualcomm.com>
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 | 172 +++++++++++++++++++++++++++++++++++
1 file changed, 172 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index 21e4e6a7e12a..ec0a3cd4a27d 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -953,6 +953,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 {
@@ -3677,6 +3741,114 @@ qaif_cpu: audio@a000000 {
status = "disabled";
};
+ rxmacro: codec@a040000 {
+ compatible = "qcom,shikra-lpass-rx-macro";
+ reg = <0x0 0x0a040000 0x0 0x1000>;
+
+ 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,shikra-soundwire";
+ reg = <0x0 0x0a060000 0x0 0x10000>;
+
+ interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>;
+
+ clocks = <&rxmacro>;
+ clock-names = "iface";
+ label = "RX";
+
+ pinctrl-0 = <&rx_swr_active>;
+ pinctrl-names = "default";
+
+ qcom,din-ports = <0>;
+ qcom,dout-ports = <5>;
+
+ resets = <&audiocore_csr 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>;
+
+ clocks = <&audiocorecc AUDIO_CORE_CC_TX_MCLK_CLK>,
+ <&audiocorecc AUDIO_CORE_CC_TX_MCLK_2X_CLK>;
+ clock-names = "mclk",
+ "npl";
+
+ #clock-cells = <0>;
+ clock-output-names = "fsgen";
+ #sound-dai-cells = <1>;
+
+ status = "disabled";
+ };
+
+ swr1: soundwire@a080000 {
+ compatible = "qcom,shikra-soundwire";
+ reg = <0x0 0x0a080000 0x0 0x10000>;
+
+ 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";
+
+ pinctrl-0 = <&tx_swr_active>;
+ pinctrl-names = "default";
+
+ qcom,din-ports = <4>;
+ qcom,dout-ports = <0>;
+
+ resets = <&audiocore_csr AUDIO_CORE_CSR_TX_SWR_CGCR>;
+ reset-names = "swr_audio_cgcr";
+
+ qcom,ports-sinterval-low = /bits/ 8 <0x01 0x03 0x03 0x03>;
+ qcom,ports-offset1 = /bits/ 8 <0x00 0x01 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 0x00 0x00 0x00>;
+
+ #sound-dai-cells = <1>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ status = "disabled";
+ };
+
audiocorecc: clock-controller@a0a0000 {
compatible = "qcom,shikra-audiocorecc";
reg = <0x0 0x0a0a0000 0x0 0x10000>;
--
2.34.1
next prev parent reply other threads:[~2026-09-17 4:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-17 4:37 [PATCH v3 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Mohammad Rafi Shaik
2026-09-17 4:37 ` [PATCH v3 1/8] ASoC: dt-bindings: qcom,apr: Add modem_apps GLINK channel for shikra Mohammad Rafi Shaik
2026-09-17 4:37 ` [PATCH v3 2/8] arm64: dts: qcom: shikra: Add QAIF CPU node for audio Mohammad Rafi Shaik
2026-09-17 15:35 ` Abel Vesa
2026-09-29 10:45 ` Mohammad Rafi Shaik
2026-09-17 4:37 ` [PATCH v3 3/8] arm64: dts: qcom: shikra: Add gpr node Mohammad Rafi Shaik
2026-09-17 4:37 ` Mohammad Rafi Shaik [this message]
2026-09-17 4:37 ` [PATCH v3 5/8] arm64: dts: qcom: shikra-cqm-evk: Enable sound card support Mohammad Rafi Shaik
2026-09-17 4:37 ` [PATCH v3 6/8] arm64: dts: qcom: shikra-cqs-evk: " Mohammad Rafi Shaik
2026-09-17 4:37 ` [PATCH v3 7/8] arm64: dts: qcom: shikra-iqs-evk: " Mohammad Rafi Shaik
2026-09-17 4:37 ` [PATCH v3 8/8] arm64: defconfig: Enable Qualcomm PM4125 and WSA885X drivers Mohammad Rafi Shaik
2026-09-29 3:15 ` (subset) [PATCH v3 0/8] arm64: dts: qcom: shikra: Enable audio on EVK boards Bjorn Andersson
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=20260917-shikra_audio_dts-v3-4-9a49e1ca6370@oss.qualcomm.com \
--to=mohammad.rafi.shaik@oss.qualcomm.com \
--cc=abelvesa@kernel.org \
--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