Re: [PATCH v9 3/3] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme

From: Miquel Raynal
Date: Fri Jun 16 2023 - 04:24:25 EST


Hi Krzysztof,

krzysztof.kozlowski@xxxxxxxxxx wrote on Fri, 16 Jun 2023 10:15:31 +0200:

> On 15/06/2023 23:06, Chris Packham wrote:
> >>
> >>> +
> >>> +properties:
> >>> + compatible:
> >>> + oneOf:
> >>> + - items:
> >>> + - const: marvell,armada-8k-nand-controller
> >>> + - const: marvell,armada370-nand-controller
> >>> + - enum:
> >>> + - marvell,armada-8k-nand-controller
> >> This is wrong. 8k cannot be both: compatible and not compatible with
> >> 370. It's not someone's cat to be in both states at the same time...
> >
> > The correct state (IMHO, Miquel correct me if I'm wrong) is `compatible
> > = "marvell,armada-8k-nand-controller";`  as there are some 8K specific
> > requirements that aren't present on the 370 (specifically the
> > system-controller and the 2nd clock).
>
> Presence of specific requirements does not invalidate compatibility. Two
> devices are compatible if the 8k can bind and work with 370 compatible
> string, even if this means some lower performance or less features (e.g.
> subset of features).

Quoting myself from 2019 (comment in the driver):
"Some SoCs like A7k/A8k need to enable manually the NAND controller,
gated clocks and reset bits to avoid being bootloader dependent."

So can the 8k controller work using a 370 compatible : yes, if the
booloader enabled the NAND controller already, no otherwise. But in
practice it is the same controller.

Given this information I don't know whether it makes sense to qualify
the 8k controller compatible with the 370 compatible or not.

> Now whether they are really compatible or not - I don't know. I expect
> the answer from you (as plural you).

:-)

> > The only reason `compatible =
> > "marvell,armada-8k-nand-controller",
> > "marvell,armada370-nand-controller";` is supported is because that is
> > what is in use in the existing dtses.
>
> Fix the DTS, use here the correct combination and, if it is a deviation
> from old binding, mention this in commit msg.

Fine by me.

> Best regards,
> Krzysztof
>


Thanks,
Miquèl