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-d85fea84c...@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-c0159c7c3...@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]>


Reply via email to