Devicetree
 help / color / mirror / Atom feed
* [PATCH v3] dt-bindings: remoteproc: qcom,shikra-pas: Allow bam-dmux subnode
@ 2026-08-13 11:25 Vishnu Santhosh
  2026-08-14  9:05 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 3+ messages in thread
From: Vishnu Santhosh @ 2026-08-13 11:25 UTC (permalink / raw)
  To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kumar Patro, Komal Bajaj
  Cc: linux-arm-msm, linux-remoteproc, devicetree, linux-kernel,
	Deepak Kumar Singh, Vishnu Santhosh

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 <deepak.singh@oss.qualcomm.com>
Signed-off-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
---
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 <vishnu.santhosh@oss.qualcomm.com>


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] dt-bindings: remoteproc: qcom,shikra-pas: Allow bam-dmux subnode
  2026-08-13 11:25 [PATCH v3] dt-bindings: remoteproc: qcom,shikra-pas: Allow bam-dmux subnode Vishnu Santhosh
@ 2026-08-14  9:05 ` Krzysztof Kozlowski
  2026-08-19 11:23   ` Vishnu Santhosh
  0 siblings, 1 reply; 3+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-14  9:05 UTC (permalink / raw)
  To: Vishnu Santhosh
  Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kumar Patro, Komal Bajaj,
	linux-arm-msm, linux-remoteproc, devicetree, linux-kernel,
	Deepak Kumar Singh

On Thu, Aug 13, 2026 at 04:55:54PM +0530, Vishnu Santhosh wrote:
> Allow an optional bam-dmux subnode under qcom,shikra-mpss-pas by
> referencing qcom,bam-dmux.yaml.

I still miss the answer why. Last time you said in present tense that
this node exists there, which I objected. The answer to my objections is
to provide proper reason why you are adding this, why you are doing it.
Answer almost never is: repeat what the diff is doing.

You change something in the bindings because something exists in the
hardware and it was missed in initial submission, and you explain the
impact of that "missing".

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] dt-bindings: remoteproc: qcom,shikra-pas: Allow bam-dmux subnode
  2026-08-14  9:05 ` Krzysztof Kozlowski
@ 2026-08-19 11:23   ` Vishnu Santhosh
  0 siblings, 0 replies; 3+ messages in thread
From: Vishnu Santhosh @ 2026-08-19 11:23 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kumar Patro, Komal Bajaj,
	linux-arm-msm, linux-remoteproc, devicetree, linux-kernel,
	Deepak Kumar Singh


On 14-08-2026 02:35 pm, Krzysztof Kozlowski wrote:
> On Thu, Aug 13, 2026 at 04:55:54PM +0530, Vishnu Santhosh wrote:
>> Allow an optional bam-dmux subnode under qcom,shikra-mpss-pas by
>> referencing qcom,bam-dmux.yaml.
> I still miss the answer why. Last time you said in present tense that
> this node exists there, which I objected. The answer to my objections is
> to provide proper reason why you are adding this, why you are doing it.
> Answer almost never is: repeat what the diff is doing.
>
> You change something in the bindings because something exists in the
> hardware and it was missed in initial submission, and you explain the
> impact of that "missing".
>
> Best regards,
> Krzysztof

Understood. The reason is not that there is already an in-tree DTS that
fails validation today. Rather, it is driven by the intended Shikra MPSS
topology.

In the earlier Shikra BAM-DMUX DTS posting, the bam-dmux node was initially
placed outside the modem remoteproc node. Based on review feedback from
Stephan [1], it was requested that bam-dmux be moved under the modem remoteproc
node instead. The rationale was that placing the bam-dmux node at the top level
makes it impossible for userspace to associate it with a remoteproc instance
(in this case, the modem). This binding change therefore exists to describe
the intended Shikra MPSS child-node topology.

The DTS user of this binding has not been merged yet. Its next revision is being
held until a separate discussion regarding an XPU violation is concluded. Our
intention is to get the required binding changes merged first so that the DT patch
can be sent once those discussions are complete.

Please let me know if adding the above context to the commit message is what you
are expecting.

[1] https://lore.kernel.org/all/airpBYZ2pRdNaE1v@linaro.org/

Thanks,
Vishnu

>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-19 11:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-13 11:25 [PATCH v3] dt-bindings: remoteproc: qcom,shikra-pas: Allow bam-dmux subnode Vishnu Santhosh
2026-08-14  9:05 ` Krzysztof Kozlowski
2026-08-19 11:23   ` Vishnu Santhosh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox