On Tue, Jul 07, 2020 at 10:00:16PM -0700, Krishna Reddy wrote:
quoted hunk ↗ jump to hunk
Add binding for NVIDIA's Tegra194 SoC SMMU.
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
---
.../devicetree/bindings/iommu/arm,smmu.yaml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index d7ceb4c34423..ac1f526c3424 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -38,6 +38,11 @@ properties:
- qcom,sc7180-smmu-500
- qcom,sdm845-smmu-500
- const: arm,mmu-500
+ - description: NVIDIA SoCs that program two ARM MMU-500s identically
+ items:
+ - enum:
+ - nvidia,tegra194-smmu
+ - const: nvidia,smmu-500
- items:
- const: arm,mmu-500
- const: arm,smmu-v2@@ -138,6 +143,19 @@ required:
additionalProperties: false
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nvidia,tegra194-smmu
+ then:
+ properties:
+ reg:
+ minItems: 2
+ maxItems: 2
This doesn't work. The main part of the schema already said there's only
1 reg region. This part is ANDed with that, not an override. You need to
add an else clause with 'maxItems: 1' and change the base schema to
{minItems: 1, maxItems: 2}.
Rob