diff mbox series

[v2] dt-bindings: spi: nvidia,tegra210-quad: Add IOMMU property for Tegra234

Message ID 20250506180848.3430191-1-va@nvidia.com
State New
Headers show
Series [v2] dt-bindings: spi: nvidia,tegra210-quad: Add IOMMU property for Tegra234 | expand

Commit Message

Vishwaroop A May 6, 2025, 6:08 p.m. UTC
The Tegra210 Quad SPI controller uses internal DMA engines to efficiently
transfer data between system memory and the SPI bus. On Tegra234 platform,
DMA transactions must be properly mapped and protected through IOMMU to
ensure system security and functional correctness. Tegra241 uses external
DMA and doesn't require IOMMU.

Add the iommus property to the device tree binding, making it required
only for Tegra234 platform while explicitly disallowing it for other
platforms including Tegra241.

Signed-off-by: Vishwaroop A <va@nvidia.com>
---
 .../bindings/spi/nvidia,tegra210-quad.yaml    | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml
index 48e97e240265..ac79cb19c81a 100644
--- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml
+++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml
@@ -12,6 +12,25 @@  maintainers:
 
 allOf:
   - $ref: spi-controller.yaml#
+  - if:
+      properties:
+        compatible:
+          enum:
+            - nvidia,tegra234-qspi
+    then:
+      required:
+        - iommus
+  - if:
+      properties:
+        compatible:
+          enum:
+            - nvidia,tegra210-qspi
+            - nvidia,tegra186-qspi
+            - nvidia,tegra194-qspi
+            - nvidia,tegra241-qspi
+    then:
+      properties:
+        iommus: false
 
 properties:
   compatible:
@@ -47,6 +66,9 @@  properties:
       - const: rx
       - const: tx
 
+  iommus:
+    maxItems: 1
+
 patternProperties:
   "@[0-9a-f]+$":
     type: object