Re: [PATCH] arm64: dts: qcom: shikra: Add BAM-DMUX support

From: Vishnu Santhosh

Date: Fri Jul 10 2026 - 23:54:37 EST



On 11-06-2026 02:25 pm, Stephan Gerhold wrote:
On Thu, Jun 11, 2026 at 02:11:59PM +0530, Vishnu Santhosh wrote:
Add required nodes to enable the upstream BAM-DMUX WWAN driver on
Qualcomm Shikra SoC.

The SMSM (Shared Memory State Machine) node provides the power
control signaling between the AP and modem for BAM-DMUX. The
BAM DMA controller node describes the A2 modem BAM hardware as a
standard DMA controller. The BAM-DMUX node references the DMA
channels and the pc/pc-ack interrupt lines from the modem SMSM
entry for power control signaling.

Signed-off-by: Vishnu Santhosh <vishnu.santhosh@xxxxxxxxxxxxxxxx>
I'm quite surprised to see this 15+ years(?) old hardware block being
brought back to a new SoC. Is Shikra not using IPA?

---
arch/arm64/boot/dts/qcom/shikra.dtsi | 51 ++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index a4334d99c1f35ee851ca8266ec37d4a200a07ee5..3e59d5f6323c0d857f376316faa26c503e67f6bc 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -17,6 +17,23 @@ / {
#address-cells = <2>;
#size-cells = <2>;
+ bam_dmux: bam-dmux {
+ compatible = "qcom,bam-dmux";
+
+ interrupts-extended = <&modem_smsm 1 IRQ_TYPE_EDGE_BOTH>,
+ <&modem_smsm 11 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "pc",
+ "pc-ack";
+
+ qcom,smem-states = <&apps_smsm 1>,
+ <&apps_smsm 11>;
+ qcom,smem-state-names = "pc",
+ "pc-ack";
+
+ dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
+ dma-names = "tx", "rx";
+ };
This should be a child node of the modem remoteproc. See msm8916.dtsi
for example.

+
clocks {
xo_board: xo-board {
compatible = "fixed-clock";
@@ -314,6 +331,28 @@ lmcu_dtb_mem: lmcu-dtb@b4702000 {
};
};
+ smsm {
+ compatible = "qcom,smsm";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mboxes = <0>, <&apcs_glb 13>;
+
+ apps_smsm: apps@0 {
+ reg = <0>;
+ #qcom,smem-state-cells = <1>;
+ };
+
+ modem_smsm: modem@1 {
+ reg = <1>;
+ interrupts = <GIC_SPI 69 IRQ_TYPE_EDGE_RISING 0>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
soc: soc@0 {
compatible = "simple-bus";
@@ -640,6 +679,18 @@ &clk_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
};
};
+ bam_dmux_dma: dma-controller@6044000 {
+ compatible = "qcom,bam-v1.7.0";
+ reg = <0x0 0x06044000 0x0 0x19000>;
+ interrupts = <GIC_SPI 74 IRQ_TYPE_EDGE_RISING 0>;
+ #dma-cells = <1>;
+ qcom,ee = <0>;
+
+ num-channels = <6>;
+ qcom,num-ees = <1>;
+ qcom,powered-remotely;
+ };
+
sram@c11e000 {
compatible = "qcom,shikra-imem", "mmio-sram";
reg = <0x0 0x0c11e000 0x0 0x1000>;

---
base-commit: ba3e43a9e601636f5edb54e259a74f96ca3b8fd8
change-id: 20260603-qcom-shikra-dts-bam-dmux-7fdcbb6fb662
prerequisite-message-id: <20260527-shikra-dt-v4-0-b5ca1fa0b392@xxxxxxxxxxxxxxxx>
prerequisite-patch-id: 3a689e8dda5fd2755b689d94d095806b3f2e6eed
prerequisite-patch-id: 2acc300a68ed8c5364fb5f2f7d28fc0d56ab07bf
prerequisite-patch-id: 2357cac636e019eaf14d6a493a1c72bca56fe405
prerequisite-patch-id: 2885f299e711582da312ca9d13983d296a3dd5dc
prerequisite-patch-id: 91af5f3c01e766a53ce8de69aa21847a2d6bbbf8

If the DT isn't merged yet, you can also just squash that into the
existing series that adds the modem remoteproc.

Thanks,
Stephan

Since the existing series is already in a stable state, the author
does not want to add any more patches to it. Therefore, I will
update the current patch with the DT changes you suggested and
submit a separate patch to incorporate the corresponding driver
changes.


Thanks,
Vishnu