[PATCH net-next v2 1/2] dt-bindings: net: qcom,bam-dmux: Add memory-region and qcom,vmid properties
From: Vishnu Santhosh
Date: Sat Sep 19 2026 - 23:03:48 EST
Some Qualcomm SoCs, such as Shikra, run the modem in a separate security
domain with restricted access to system memory. BAM-DMUX DMA mappings
must therefore be constrained to a designated region that can be shared
with the modem.
Add an optional memory-region property to reference a restricted DMA
pool used for BAM-DMUX mappings, and a qcom,vmid property to identify the
remote execution environment that is granted access to the pool through
SCM.
Require memory-region whenever qcom,vmid is specified.
Co-developed-by: Deepak Kumar Singh <deepak.singh@xxxxxxxxxxxxxxxx>
Signed-off-by: Deepak Kumar Singh <deepak.singh@xxxxxxxxxxxxxxxx>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@xxxxxxxxxxxxxxxx>
---
.../devicetree/bindings/net/qcom,bam-dmux.yaml | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml b/Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
index 33746c238513d72366bc52359fb10f275475b331..5351269b0ab72ede808ae47b55d57580af209038 100644
--- a/Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
+++ b/Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
@@ -72,6 +72,24 @@ properties:
- const: tx
- const: rx
+ memory-region:
+ maxItems: 1
+ description:
+ Phandle to a reserved-memory node compatible with restricted-dma-pool.
+ The BAM-DMUX device uses the pool for DMA mappings.
+
+ qcom,vmid:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 1
+ items:
+ minimum: 1
+ maximum: 63
+ description:
+ VMID of the remote execution environment that is granted access to the
+ restricted DMA pool through SCM. The local execution environment is
+ retained automatically and must not be specified.
+
required:
- compatible
- interrupts
@@ -81,12 +99,29 @@ required:
- dmas
- dma-names
+dependencies:
+ qcom,vmid: [ memory-region ]
+
additionalProperties: false
examples:
- |
+ #include <dt-bindings/firmware/qcom,scm.h>
#include <dt-bindings/interrupt-controller/irq.h>
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ bam_dmux_pool: restricted-dma-pool {
+ compatible = "restricted-dma-pool";
+ size = <0x40000>;
+ alignment = <0x40000>;
+ alloc-ranges = <0x80000000 0x80000000>;
+ };
+ };
+
mpss: remoteproc {
bam-dmux {
compatible = "qcom,bam-dmux";
@@ -100,5 +135,8 @@ examples:
dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
dma-names = "tx", "rx";
+
+ memory-region = <&bam_dmux_pool>;
+ qcom,vmid = <QCOM_SCM_VMID_NAV>;
};
};
--
2.34.1