Re: [PATCH v2 12/12] dt-bindings: mtd: raw-nand-chip: Relax node name pattern

Miquel Raynal
2025-02-17T09:31:14Z

Hello,

>> > In some scenarios, such as under the Freescale eLBC bus, there are raw
>> > NAND chips with a unit address that has a comma in it (cs,offset).
>> > Relax the $nodename pattern in raw-nand-chip.yaml to allow such unit
>> > addresses.
>>
>> This is super specific to this controller, I'd rather avoid that in the
>> main (shared) files. I believe you can force another node name in the
>> controller's binding instead?
>
> It's a bit tricky. AFAICS, when I declare a node name pattern in my
> specific binding in addition to the generic binding, the result is that
> both of them apply, so I can't relax stricter requirements:
>
> # raw-nand-chip.yaml
> properties:
> $nodename:
> pattern: "^nand@[a-f0-9]$"
>
> # fsl,elbc-fcm-nand.yaml
> properties:
> $nodename:
> pattern: "^nand@[a-f0-9](,[0-9a-f]*)?$"

Well, I guess this is creating a second possible node name.

> # dtc
> /.../fsl,elbc-fcm-nand.example.dtb:
> nand@1,0: $nodename:0: 'nand@1,0' does not match '^nand@[a-f0-9]$'
> from schema $id:
> http://devicetree.org/schemas/mtd/fsl,elbc-fcm-nand.yaml#

What about fixing the DT instead?

> (I changed the second pattern to nand-fail@... and dtc warned about it
> mismatching too.)
>
> Perhaps I'm missing a DT-schema trick to override a value/pattern.
>
> Alternatively (pending discussion on patch 11/12), I might end up not
> referencing raw-nand-chip.yaml.

Ok.

Thanks,
Miquèl