Re: [PATCH] dt-bindings: mmp-dma: convert to YAML

From: Duje Mihanović
Date: Sun Jan 28 2024 - 13:02:38 EST


On Sunday, January 28, 2024 6:28:03 PM CET Conor Dooley wrote:
> On Sat, Jan 27, 2024 at 05:53:45PM +0100, Duje Mihanović wrote:
> > +allOf:
> > + - $ref: dma-controller.yaml#
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - marvell,adma-1.0
> > + - marvell,pxa910-squ
> > + then:
> > + properties:
> > + asram:
> > + description:
> > + phandle to the SRAM pool
> > + minItems: 1
> > + maxItems: 1
> > + iram:
>
> > + maxItems:
> These properties are not mentioned in the text binding, nor commit
> message. Where did they come from?

Both of them can be found in arch/arm/boot/dts/marvell/mmp2.dtsi. There is one
major difference between the two: iram is not mentioned at all by the mmp_tdma
driver (on the other hand, asram is not only used but also required for a
successful probe), but I left it here as it's still found in the MMP2 dtsi. On
second thought it should probably be dropped both here and in the dtsi.

> That said, for properties that are only usable on some platforms, please
> define them at the top level and conditionally permit/constrain them.

Could you please point me to how to do so if this if/then does not do it
properly?

> > +unevaluatedProperties: false
> > +
> > +examples:
> > + # Peripheral controller
> > + - |
> > + pdma0: dma-controller@d4000000 {
>
> The label is not needed here or below.
> In fact, I'd probably delete the second example as it shows nothing that
> the first one does not.

I'd rather add the asram property in the second node (adding onto the above
comment, I now see that it shouldn't have even passed dt_binding_check because
of the missing asram, but it did).

Regards,
--
Duje