On Fri, Nov 04, 2022 at 05:47:01PM +0100, Miquel Raynal wrote: > Hello, > > During a yaml conversion review, Krzysztof opened the discussion about > the links and references made between the different files in the mtd > bindings. I figured out some minimal changes might be needed to properly > reference everything correctly and ensure we constrain as much as > possible the existing bindings. That is what I tried to do here. > > The idea is: > * partition.yaml defines one MTD partition > * parsers/*.yaml define partition parsers (mainly compatibles) > * mtd.yaml contains the generic definition of any mtd device (nand, > spi-nand, spi-nor, nor, sram, etc), in particular, it defines the > various partition formats (legacy and current) and references > partition.yaml as well as a list of all the possible parsers within a > "partitions" node. > * nand-chip.yaml, jedec,spi-nor, mtd-physmap.yaml all describe real > instances of mtd device, each of them with a different underlying > technology, they reference mtd.yaml > * nand-controller.yaml has subnodes which reference nand-chip.yaml. > * Specific NAND controller bindings reference nand-controller.yaml. > > I've tested each and every patch with the following command and it > worked fine: > $ make dt_binding_check -j10 DT_CHECKER_FLAG=-m DT_SCHEMA_FILES=mtd/ > > Comments welcome of course :-) > > Cheers, > Miquèl > > Changes in v2: > * Fixed all the missing references to partitions.txt. > * Created a proper partitions.yaml file to cut the logic > * Constrained #{address,size}-cells to 1 or 2. > * Used the description advised by Rob to list all the possible partition > parsers without having to actually duplicate the compatibles. > * Deprecated the #{address,size}-cells properties when relevant. > * Fixed a regex pattern to match all sram device node names (including > ones defined under memory-controllers. > * Added a comment on another "additionalProperties: true" situation. > * Dropped even more duplicated properties. > * Fixed a few typos (like s/phymap/physmap/). > * Changed qcom,smem-part partition type. > * Standardized the style in the various examples. > * Improved the nvmem-cells file as well. > * Added an example to the sunxi-nand bindings. > > Miquel Raynal (17): > dt-bindings: mtd: Clarify all partition subnodes > dt-bindings: mtd: Remove useless file about partitions > dt-bindings: mtd: nand-chip: Reference mtd.yaml > dt-bindings: mtd: nand: Drop common properties already defined in > generic files > dt-bindings: mtd: nand: Standardize the child node name > dt-bindings: mtd: ingenic: Mark partitions in the controller node as > deprecated > dt-bindings: mtd: onenand: Mention the expected node name > dt-bindings: mtd: sunxi-nand: Add an example to validate the bindings > dt-bindings: mtd: spi-nor: Drop common properties > dt-bindings: mtd: physmap: Reuse the generic definitions > dt-bindings: mtd: partitions: Constrain the list of parsers > dt-bindings: mtd: partitions: Change qcom,smem-part partition type > dt-bindings: mtd: nvmem-cells: Fix example > dt-bindings: mtd: nvmem-cells: Inherit from MTD partitions > dt-bindings: mtd: Argue in favor of keeping additionalProperties set > to true > dt-bindings: mtd: Drop object types when referencing other files > dt-bindings: mtd: Standardize the style in the examples Other than my comment on patch 13, for the series: Reviewed-by: Rob Herring <robh@xxxxxxxxxx>