RE: [Patch v6] dt-bindings: media: s5p-mfc: convert bindings to json-schema

From: Aakarsh Jain
Date: Fri Mar 10 2023 - 04:00:17 EST




> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@xxxxxxxxxx]
> Sent: 09 March 2023 13:41
> To: Aakarsh Jain <aakarsh.jain@xxxxxxxxxxx>; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx
> Cc: m.szyprowski@xxxxxxxxxxx; andrzej.hajda@xxxxxxxxx;
> mchehab@xxxxxxxxxx; hverkuil-cisco@xxxxxxxxx;
> ezequiel@xxxxxxxxxxxxxxxxxxxx; jernej.skrabec@xxxxxxxxx;
> benjamin.gaignard@xxxxxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
> stanimir.varbanov@xxxxxxxxxx; dillon.minfei@xxxxxxxxx;
> david.plowman@xxxxxxxxxxxxxxx; mark.rutland@xxxxxxx;
> robh+dt@xxxxxxxxxx; krzk+dt@xxxxxxxxxx; andi@xxxxxxxxxxx;
> alim.akhtar@xxxxxxxxxxx; aswani.reddy@xxxxxxxxxxx;
> pankaj.dubey@xxxxxxxxxxx
> Subject: Re: [Patch v6] dt-bindings: media: s5p-mfc: convert bindings to json-
> schema
>
> On 09/03/2023 08:22, Aakarsh Jain wrote:
> >
> >
> >> -----Original Message-----
> >> From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@xxxxxxxxxx]
> >> Sent: 09 March 2023 12:15
> >> To: Aakarsh Jain <aakarsh.jain@xxxxxxxxxxx>; linux-arm-
> >> kernel@xxxxxxxxxxxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx; linux-
> >> kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx
> >> Cc: m.szyprowski@xxxxxxxxxxx; andrzej.hajda@xxxxxxxxx;
> >> mchehab@xxxxxxxxxx; hverkuil-cisco@xxxxxxxxx;
> >> ezequiel@xxxxxxxxxxxxxxxxxxxx; jernej.skrabec@xxxxxxxxx;
> >> benjamin.gaignard@xxxxxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
> >> stanimir.varbanov@xxxxxxxxxx; dillon.minfei@xxxxxxxxx;
> >> david.plowman@xxxxxxxxxxxxxxx; mark.rutland@xxxxxxx;
> >> robh+dt@xxxxxxxxxx; krzk+dt@xxxxxxxxxx; andi@xxxxxxxxxxx;
> >> alim.akhtar@xxxxxxxxxxx; aswani.reddy@xxxxxxxxxxx;
> >> pankaj.dubey@xxxxxxxxxxx
> >> Subject: Re: [Patch v6] dt-bindings: media: s5p-mfc: convert bindings
> >> to json- schema
> >>
> >> On 02/03/2023 16:18, Aakarsh Jain wrote:
> >>>>
> >>>> iommus:
> >>>> maxItems: 1
> >>>> iommu-names: false
> >>>>
> >>> I am getting compilation errors with above property set and its
> >>> breaking the
> >> bindings.
> >>> If we see these two nodes in dtsi files.
> >>> mfc: codec@13400000 {
> >>> compatible = "samsung,mfc-v5"; ..
> >>> iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
> >>> iommu-names = "left", "right"; } And
> >>> mfc: codec@13400000 {
> >>> compatible = "samsung,exynos3250-mfc", "samsung,mfc-
> v7";
> >>> reg = <0x13400000 0x10000>; ...
> >>> iommus = <&sysmmu_mfc>;
> >>> };
> >>> There is no iommu-names property for compatible
> "samsung,exynos3250-
> >> mfc, samsung,mfc-v7", that’s why I kept
> >>> iommus:
> >>> minItems: 1
> >>> maxItems: 2
> >>> I would even go with below if you agree?
> >>> iommus:
> >>> minItems: 1
> >>> maxItems: 2
> >>> iommus-names: false
> >>
> >> No, I don't agree. Why do you need two IOMMUs for Exynos3250?
> >>>
> > Here IOMMUs minItems:1 is meant for Exynos3250 while IOMMUs
> maxItems:2 meant for samsung,mfc-v5(Exynos 4).
> > As you suggested
> > iommus:
> > maxItems: 1
> > iommu-names: false
> >
> > won't fit here.
> > Since IOMMUs maxItems is 2 here for Exynos4. Giving maxItems:2 alone
> will also break the bindings. Thanks why suggested
> > iommus:
> > minItems: 1
> > maxItems: 2
>
> Are you sure you are putting this in correct place? This is if:then for
> Exynos3250, isn't it?
>
Its not only for Exynos3250, its along with Exynos4 since their clock properties are same
allOf:
- if:
properties:
compatible:
contains:
enum:
- samsung,mfc-v5 #Exynos4
- samsung,exynos3250-mfc
then:
properties:
clocks:
maxItems: 2
clock-names:
items:
- const: mfc
- const: sclk_mfc
iommus:
minItems: 1
maxItems: 2

or do I keep different if:then condition for both Exynos3250 and Exynos4 for IOMMUs property ?

> Best regards,
> Krzysztof