[PATCH v3] dt-bindings: remoteproc: qcom,shikra-pas: Allow bam-dmux subnode

Vishnu Santhosh <[email protected]>
Newsgroups org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-remoteproc
Message-ID <20260813-shikra-pas-bam-dmux-binding-v3-1-167a3fb50d21@oss.qualcomm.com>
Allow an optional bam-dmux subnode under qcom,shikra-mpss-pas by
referencing qcom,bam-dmux.yaml.

Retarget the example to qcom,shikra-mpss-pas so the new subnode is
exercised by dt_binding_check.

Co-developed-by: Deepak Kumar Singh <[email protected]>
Signed-off-by: Deepak Kumar Singh <[email protected]>
Signed-off-by: Vishnu Santhosh <[email protected]>
---
Changes in v3:
- Reword commit message to keep it scoped to the binding change. 
- Retarget the example to qcom,shikra-mpss-pas and add a bam-dmux child.
- Link to v2: https://lore.kernel.org/r/20260729-shikra-pas-bam-dmux-binding-v2-1-d85fea84c141@oss.qualcomm.com

Changes in v2:
- Restrict bam-dmux to the qcom,shikra-mpss-pas compatible.
- Link to v1: https://lore.kernel.org/r/20260727-shikra-pas-bam-dmux-binding-v1-1-c0159c7c3ed4@oss.qualcomm.com
---
 .../bindings/remoteproc/qcom,shikra-pas.yaml       | 61 ++++++++++++++++------
 1 file changed, 45 insertions(+), 16 deletions(-)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
index 253b14eb2b598f0ca91854c8ff4d0b785090e621..dd779b595677c0aa58708b4fde725e64d8918434 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
@@ -44,6 +44,11 @@ properties:
       - description: Firmware name of the Hexagon core
       - description: Firmware name of the Hexagon Devicetree
 
+  bam-dmux:
+    $ref: /schemas/net/qcom,bam-dmux.yaml#
+    description:
+      Qualcomm BAM Data Multiplexer (provides network interface to the modem)
+
   glink-edge:
     $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
     description:
@@ -117,6 +122,16 @@ allOf:
         power-domains: false
         power-domain-names: false
 
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,shikra-cdsp-pas
+            - qcom,shikra-lpaicp-pas
+    then:
+      properties:
+        bam-dmux: false
+
 unevaluatedProperties: false
 
 examples:
@@ -129,16 +144,16 @@ examples:
     #include <dt-bindings/interrupt-controller/irq.h>
     #include <dt-bindings/power/qcom-rpmpd.h>
 
-    remoteproc@b300000 {
-        compatible = "qcom,shikra-cdsp-pas";
-        reg = <0x0b300000 0x100000>;
+    remoteproc@6080000 {
+        compatible = "qcom,shikra-mpss-pas";
+        reg = <0x06080000 0x100>;
 
-        interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
-                              <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
-                              <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
-                              <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
-                              <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
-                              <&cdsp_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
+        interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
+                              <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                              <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+                              <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+                              <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
+                              <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
         interrupt-names = "wdog", "fatal", "ready",
                           "handover", "stop-ack", "shutdown-ack";
 
@@ -151,17 +166,31 @@ examples:
         power-domains = <&rpmpd RPMHPD_CX>;
         power-domain-names = "cx";
 
-        memory-region = <&cdsp_mem>;
+        memory-region = <&mpss_wlan_mem>;
 
-        qcom,smem-states = <&cdsp_smp2p_out 0>;
+        qcom,smem-states = <&modem_smp2p_out 0>;
         qcom,smem-state-names = "stop";
 
-        firmware-name = "qcom/shikra/cdsp.mbn";
+        firmware-name = "qcom/shikra/modem.mbn";
 
         glink-edge {
-            interrupts = <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>;
-            mboxes = <&apcs_glb 4>;
-            qcom,remote-pid = <5>;
-            label = "cdsp";
+            interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;
+            mboxes = <&apcs_glb 12>;
+            qcom,remote-pid = <1>;
+            label = "mpss";
+        };
+
+        bam-dmux {
+            compatible = "qcom,bam-dmux";
+
+            interrupt-parent = <&modem_smsm>;
+            interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <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";
         };
     };

---
base-commit: 3d6d817622b0a9721e3cc404df3469171582be13
change-id: 20260727-shikra-pas-bam-dmux-binding-28a6bf97857c

Best regards,
-- 
Vishnu Santhosh <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.