Re: [PATCH v6 1/8] dt-bindings: pwm: allwinner: Add H6 PWM description

From: ClÃment PÃron
Date: Mon Nov 18 2019 - 08:23:23 EST


Hi,

On Mon, 18 Nov 2019 at 13:57, Maxime Ripard <mripard@xxxxxxxxxx> wrote:
>
> On Mon, Nov 18, 2019 at 01:42:48PM +0100, ClÃment PÃron wrote:
> > Hi Maxime
> >
> > On Mon, 18 Nov 2019 at 12:06, Maxime Ripard <mripard@xxxxxxxxxx> wrote:
> > >
> > > Hi,
> > >
> > > On Mon, Nov 18, 2019 at 12:00:27PM +0100, ClÃment PÃron wrote:
> > > > From: Jernej Skrabec <jernej.skrabec@xxxxxxxx>
> > > >
> > > > H6 PWM block is basically the same as A20 PWM, except that it also has
> > > > bus clock and reset line which needs to be handled accordingly.
> > > >
> > > > Expand Allwinner PWM binding with H6 PWM specifics.
> > > >
> > > > Signed-off-by: Jernej Skrabec <jernej.skrabec@xxxxxxxx>
> > > > Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
> > > > Signed-off-by: ClÃment PÃron <peron.clem@xxxxxxxxx>
> > > > ---
> > > > .../bindings/pwm/allwinner,sun4i-a10-pwm.yaml | 48 +++++++++++++++++++
> > > > 1 file changed, 48 insertions(+)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/pwm/allwinner,sun4i-a10-pwm.yaml b/Documentation/devicetree/bindings/pwm/allwinner,sun4i-a10-pwm.yaml
> > > > index 0ac52f83a58c..1bae446febbb 100644
> > > > --- a/Documentation/devicetree/bindings/pwm/allwinner,sun4i-a10-pwm.yaml
> > > > +++ b/Documentation/devicetree/bindings/pwm/allwinner,sun4i-a10-pwm.yaml
> > > > @@ -30,13 +30,51 @@ properties:
> > > > - items:
> > > > - const: allwinner,sun50i-h5-pwm
> > > > - const: allwinner,sun5i-a13-pwm
> > > > + - const: allwinner,sun50i-h6-pwm
> > > >
> > > > reg:
> > > > maxItems: 1
> > > >
> > > > clocks:
> > > > + minItems: 1
> > > > + maxItems: 2
> > > > + items:
> > > > + - description: Module Clock
> > > > + - description: Bus Clock
> > > > +
> > > > + # Even though it only applies to subschemas under the conditionals,
> > > > + # not listing them here will trigger a warning because of the
> > > > + # additionalsProperties set to false.
> > > > + clock-names: true
> > > > +
> > > > + resets:
> > > > maxItems: 1
> > > >
> > > > + if:
> > > > + properties:
> > > > + compatible:
> > > > + contains:
> > > > + const: allwinner,sun50i-h6-pwm
> > > > +
> > > > + then:
> > > > + properties:
> > > > + clocks:
> > > > + maxItems: 2
> > > > +
> > > > + clock-names:
> > > > + items:
> > > > + - const: mod
> > > > + - const: bus
> > > > +
> > > > + required:
> > > > + - clock-names
> > > > + - resets
> > > > +
> > > > + else:
> > > > + properties:
> > > > + clocks:
> > > > + maxItems: 1
> > > > +
> > >
> > > Sorry for not noticing this earlier, but this should be at the topmost
> > > level
> >
> > No problem, but I don't get what you want, (yaml format is new for me).
> > Do you mean I should put the if condition before the "resets" ?
>
> No, here if we condense a bit the file, we have something like:
>
> title: PWM
>
> properties:
> compatible:
> ...
>
> ...
>
> resets:
> ...
>
> if:
> properties:
> ...
>
> then:
> properties:
> ...
>
> which means that you expect that the node may contain a compatible
> property, a resets one, and then two properties "if" and "then", which
> in turn contain properties (ie, two nodes).
>
> This is obviously not what you want, what you want instead is:
>
> properties:
> compatible:
> ...
>
> ...
>
> resets:
> ...
>
> if:
> properties:
> ...
>
> then:
> properties:
> ...
>
> Which then describes that there's two properties, compatible and
> resets, and if the schema under 'if' is valid against the node we try
> to validate, the schema under 'then' is used to validate the node as
> well.
>
> I hope it's clearer,

Yes it's totally clear didn't see this bad indentation,
Thanks for the catch and for the explanation.

Regards,
ClÃment

> Maxime