Skip to contentSkip to conversation

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

PATCH Superseded Vishwaroop A 2 participants 2 messages May 6, 2025

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 dt-bindings: spi: nvidia,tegra210-quad: Add IOMMU property for Tegra234

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.

---
 .../bindings/spi/nvidia,tegra210-quad.yaml    | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)
Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml +22 -0
index 48e97e240265..ac79cb19c81a 100644
@@ -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
Signature · 1 line
2.17.1
#1 lore raw
Quoted 1 line · Vishwaroop A

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.

Please wrap commit message according to Linux coding style / submission process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597

I don't think you read the review, just skimmed. I explained there how to construct subject prefix and gave a link explaining it better.

Can you reach to your colleagues to help in upstreaming process to avoid easy mistakes? Many companies have internal checklists or internal guides helping in that...

Quoted 2 lines

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.

Why requiring it for Tegra234? Do not explain what you did - we see it easily. Explain what we do not see, so why you are breaking ABI.

Best regards,
Krzysztof