Re: [PATCH] dt-bindings: arm-smmu: disallow clocks when not used

From: Krzysztof Kozlowski
Date: Thu Dec 22 2022 - 05:36:25 EST


On 22/12/2022 11:16, Marijn Suijten wrote:
> Is this missing a cc to linux-arm-msm?

No, it is not (or maybe but then fix MAINTAINERS). The policy is to use
get_maintainers.pl to CC people.

>
> On 2022-12-22 10:23:55, Krzysztof Kozlowski wrote:
>> Disallow clocks for variants other than:
>> 1. SMMUs with platform-specific compatibles which list explicit clocks
>> and clock-names,
>> 2. SMMUs using only generic compatibles, e.g. arm,mmu-500, which have a
>> variable clocks on different implementations.
>>
>> This requires such variants with platform-specific compatible, to
>> explicitly list the clocks or omit them, making the binding more
>> constraint.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>
> Reviewed-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>
>
> But...
>
>> ---
>>
>> Cc: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>
>> Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
>> Cc: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
>> ---
>> .../devicetree/bindings/iommu/arm,smmu.yaml | 28 +++++++++++++++++++
>> 1 file changed, 28 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>> index 895ec8418465..0d88395e43ad 100644
>> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>> @@ -367,6 +367,34 @@ allOf:
>> - description: interface clock required to access smmu's registers
>> through the TCU's programming interface.
>>
>> + # Disallow clocks for all other platforms with specific compatibles
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - cavium,smmu-v2
>> + - marvell,ap806-smmu-500
>> + - nvidia,smmu-500
>> + - qcom,qcm2290-smmu-500
>> + - qcom,qdu1000-smmu-500
>> + - qcom,sc7180-smmu-500
>
> Hmm, sc7280 has two SMMUs. The one for Adreno has clocks and a PD, the

sc7280 is not here, so what is the mistake you see?

> one for APPS has neither. Same story on sm8[12]50. Aren't those going
> to trip up the other `if` that requires clocks in both scenarios?

They are not here either, so what is the error?

>
> Note that the Adreno SMMUs have (or will get when we/Konrad submit
> support for it) the "qcom,adreno-smmu" compatible to distinguish them.
>
> - Marijn
>


Best regards,
Krzysztof