Is this missing a cc to linux-arm-msm? 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 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? 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 > + - qcom,sc8180x-smmu-500 > + - qcom,sc8280xp-smmu-500 > + - qcom,sdm670-smmu-500 > + - qcom,sdm845-smmu-500 > + - qcom,sdx55-smmu-500 > + - qcom,sdx65-smmu-500 > + - qcom,sm6115-smmu-500 > + - qcom,sm6350-smmu-500 > + - qcom,sm6375-smmu-500 > + - qcom,sm8350-smmu-500 > + - qcom,sm8450-smmu-500 > + then: > + properties: > + clock-names: false > + clocks: false > + > - if: > properties: > compatible: > -- > 2.34.1 >