Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme

From: Chris Packham
Date: Tue May 30 2023 - 16:59:29 EST



On 31/05/23 00:26, Krzysztof Kozlowski wrote:
> On Tue, 30 May 2023 12:53:36 +1200, Chris Packham wrote:
>> From: Vadym Kochan <vadym.kochan@xxxxxxxxxxx>
>>
>> Switch the DT binding to a YAML schema to enable the DT validation.
>>
>> Dropped deprecated compatibles and properties described in txt file.
>>
>> Signed-off-by: Vadym Kochan <vadym.kochan@xxxxxxxxxxx>
>> Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
>> ---
>>
>> Notes:
>> Changes in v6:
>> - remove properties covered by nand-controller.yaml
>> - add example using armada-8k compatible
>>
>> earlier changes:
>>
>> v5:
>> 1) Get back "label" and "partitions" properties but without
>> ref to the "partition.yaml" which was wrongly used.
>>
>> 2) Add "additionalProperties: false" for nand@ because all possible
>> properties are described.
>>
>> v4:
>> 1) Remove "label" and "partitions" properties
>>
>> 2) Use 2 clocks for A7K/8K platform which is a requirement
>>
>> v3:
>> 1) Remove txt version from the MAINTAINERS list
>>
>> 2) Use enum for some of compatible strings
>>
>> 3) Drop:
>> #address-cells
>> #size-cells:
>>
>> as they are inherited from the nand-controller.yaml
>>
>> 4) Add restriction to use 2 clocks for A8K SoC
>>
>> 5) Dropped description for clock-names and extend it with
>> minItems: 1
>>
>> 6) Drop description for "dmas"
>>
>> 7) Use "unevalautedProperties: false"
>>
>> 8) Drop quites from yaml refs.
>>
>> 9) Use 4-space indentation for the example section
>>
>> v2:
>> 1) Fixed warning by yamllint with incorrect indentation for compatible list
>>
>> .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>> .../devicetree/bindings/mtd/marvell-nand.txt | 126 ------------
>> MAINTAINERS | 1 -
>> 3 files changed, 190 insertions(+), 127 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://scanmail.trustwave.com/?c=20988&d=-uv15DQ4yN1qOuZLco1jWqY7o8cBk1EQuTpwPcj4lA&u=https%3a%2f%2fpatchwork%2eozlabs%2eorg%2fpatch%2f1787248
^^^ apologies for this, it's ironic that a security feature on our email
gateway makes links look _more_ like malicious URLs.
> nand@720000: $nodename:0: 'nand@720000' does not match '^nand-controller(@.*)?'
> arch/arm64/boot/dts/marvell/armada-7040-db.dtb
> arch/arm64/boot/dts/marvell/armada-7040-mochabin.dtb
> arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> arch/arm64/boot/dts/marvell/cn9130-crb-A.dtb
> arch/arm64/boot/dts/marvell/cn9130-crb-B.dtb
> arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9130-db.dtb
> arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9131-db.dtb
> arch/arm64/boot/dts/marvell/cn9131-db.dtb
> arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9132-db.dtb
> arch/arm64/boot/dts/marvell/cn9132-db.dtb
> arch/arm64/boot/dts/marvell/cn9132-db.dtb
This is resolved in patch 2/2. I can swap the order in the series if it
helps.
> nand@720000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
I don't see these when I run dtbs_check
> nand-controller@43100000: clock-names: ['core'] is too short
> arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: dma-names:0: 'rxtx' was expected
> arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
> arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

I've been running `make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=marvell,nand-controller.yaml` (and similar for arm) but
didn't see these am I doing something wrong or did I just fail to look
properly.

> nand-controller@d0000: nand@0:partitions: Unevaluated properties are not allowed ('partition@errlog', 'partition@nand-bbt', 'partition@user' were unexpected)
> arch/arm/boot/dts/armada-385-atl-x530.dtb
>
> nand-controller@d0000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> arch/arm/boot/dts/armada-385-atl-x530.dtb