Re: [PATCH v10 4/5] dt-bindings: arm-smmu: add binding for Tegra194 SMMU

From: Rob Herring
Date: Thu Jul 09 2020 - 16:13:53 EST


On Tue, Jul 07, 2020 at 10:00:16PM -0700, Krishna Reddy wrote:
> Add binding for NVIDIA's Tegra194 SoC SMMU.
>
> Signed-off-by: Krishna Reddy <vdumpa@xxxxxxxxxx>
> ---
> .../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