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

From: Aakarsh Jain
Date: Sun Mar 12 2023 - 23:59:25 EST




> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@xxxxxxxxxx]
> Sent: 10 March 2023 14:38
> 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 09:48, Aakarsh Jain wrote:
> >>> 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 ?
>
> Yes, they should be split into two if-then.
>
okay will keep it in this way.
- if:
properties:
compatible:
contains:
enum:
- samsung,mfc-v5
then:
properties:
clocks:
maxItems: 2
clock-names:
items:
- const: mfc
- const: sclk_mfc
iommus:
maxItems: 2
iommu-names:
items:
- const: left
- const: right

- if:
properties:
compatible:
contains:
enum:
- samsung,exynos3250-mfc
then:
properties:
clocks:
maxItems: 2
clock-names:
items:
- const: mfc
- const: sclk_mfc
iommus:
maxItems: 1
iommus-names: false

Also, "samsung,mfc-v7" compatible is used for both SOCs Exynos 5420 & Exynos 3250.
And for both SOCs, clock and IOMMUs properties are different. So in order to differentiate that, will keep it in this way.
- if:
properties:
compatible:
contains:
enum:
- samsung,mfc-v7
then:
properties:
clocks:
minItems: 1
maxItems: 2
iommus:
minItems: 1
maxItems: 2

I hope that will be fine?
>
> Best regards,
> Krzysztof