[PATCH 1/2] dt-bindings: dma: qcom,bam-dma: Add optional qcom,vmid property

From: Vishnu Santhosh

Date: Tue Jul 14 2026 - 01:02:37 EST


A SoC can have multiple BAM DMA instances. Some of these BAMs are
powered by a remote processor that enforces XPU (eXternal Protection
Unit) access control and reads the per-channel descriptor FIFOs as an
AXI master under that remote processor's execution environment, so
their FIFOs must be accessible to the remote processor's VMID; other
BAM instances on the same SoC are not behind such a remote processor
and must not have this property set.

Add an optional qcom,vmid property listing the destination VMID(s)
that the affected BAM instance's descriptor FIFOs must be accessible
to. HLOS is always the source owner and must not be listed.

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/dma/qcom,bam-dma.yaml | 26 ++++++++++++++++++++++
1 file changed, 26 insertions(+)

diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
index 0923fb189ada9ee435144e8490c64ecb81edc57d..d256340d3f32e81eaa8c1e275c2a99aac888aa90 100644
--- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
+++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
@@ -12,6 +12,15 @@ maintainers:

allOf:
- $ref: dma-controller.yaml#
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ const: qcom,shikra-bam-dma
+ then:
+ properties:
+ qcom,vmid: false

properties:
compatible:
@@ -29,6 +38,8 @@ properties:
- enum:
# SDM845, SM6115, SM8150, SM8250 and QCM2290
- qcom,bam-v1.7.4
+ # Shikra
+ - qcom,shikra-bam-dma
- const: qcom,bam-v1.7.0

clocks:
@@ -81,6 +92,21 @@ properties:
Indicates that the bam is powered up by a remote processor but must be
initialized by the local processor.

+ qcom,vmid:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 8
+ items:
+ minimum: 1
+ maximum: 63
+ description:
+ Destination VMIDs of the remote processor(s) that read the per-channel
+ descriptor FIFOs as an AXI master. When present, the driver SCM-assigns
+ each FIFO to these VMIDs so the remote access does not trigger an XPU
+ violation. HLOS is always retained as the source owner and must not be
+ listed. Optional even when the qcom,shikra-bam-dma compatible is
+ present; not valid on any other compatible in this schema.
+
reg:
maxItems: 1


--
2.34.1