On Wed, Dec 9, 2020 at 7:02 AM Rafał Miłecki <zajec5@xxxxxxxxx> wrote: > > From: Rafał Miłecki <rafal@xxxxxxxxxx> > > This standardizes its documentation, allows validating with Makefile > checks and helps writing DTS files. > > Noticeable changes: > 1. Dropped "Partitions can be represented by sub-nodes of a flash > device." as we also support subpartitions (don't have to be part of > flash device node) > 2. Dropped "to Linux" as bindings are meant to be os agnostic. > > Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx> > --- > .../devicetree/bindings/mtd/partition.txt | 131 +--------------- > .../mtd/partitions/fixed-partitions.yaml | 146 ++++++++++++++++++ > 2 files changed, 148 insertions(+), 129 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > new file mode 100644 > index 000000000000..c5e509e08f31 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > @@ -0,0 +1,146 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mtd/partitions/fixed-partitions.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Fixed partitions > + > +description: | > + This binding can be used on platforms which have strong conventions about > + which portions of a flash are used for what purposes, but which don't use an > + on-flash partition table such as RedBoot. > + > + The partition table should be a node named "partitions". Partitions are then > + defined as subnodes. > + > +maintainers: > + - Rafał Miłecki <rafal@xxxxxxxxxx> > + > +properties: > + compatible: > + const: fixed-partitions You need to add #size-cells and #address-cells and make them required. > + > +patternProperties: > + "^.*@[0-9a-f]+$": > + description: node describing a single flash partition > + type: object > + > + properties: > + reg: > + description: partition's offset and size within the flash > + > + label: > + description: The label / name for this partition. If omitted, the label > + is taken from the node name (excluding the unit address). > + > + read-only: > + description: This parameter, if present, is a hint that this partition > + should only be mounted read-only. This is usually used for flash > + partitions containing early-boot firmware images or data which should > + not be clobbered. > + type: boolean > + > + lock: > + description: Do not unlock the partition at initialization time (not > + supported on all devices) > + type: boolean > + > + slc-mode: > + description: This parameter, if present, allows one to emulate SLC mode > + on a partition attached to an MLC NAND thus making this partition > + immune to paired-pages corruptions > + type: boolean > + > + required: > + - reg > + > +required: > + - compatible > + > +additionalProperties: true > + > +examples: > + - | > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition@0 { > + label = "u-boot"; > + reg = <0x0000000 0x100000>; > + read-only; > + }; > + > + uimage@100000 { > + reg = <0x0100000 0x200000>; > + }; > + }; > + - | > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <2>; > + > + /* a 4 GiB partition */ > + partition@0 { > + label = "filesystem"; > + reg = <0x00000000 0x1 0x00000000>; > + }; > + }; > + - | > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <2>; > + #size-cells = <2>; > + > + /* an 8 GiB partition */ > + partition@0 { > + label = "filesystem #1"; > + reg = <0x0 0x00000000 0x2 0x00000000>; > + }; > + > + /* a 4 GiB partition */ > + partition@200000000 { > + label = "filesystem #2"; > + reg = <0x2 0x00000000 0x1 0x00000000>; > + }; > + }; > + - | > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition@0 { > + label = "bootloader"; > + reg = <0x000000 0x100000>; > + read-only; > + }; > + > + firmware@100000 { > + label = "firmware"; > + reg = <0x100000 0xe00000>; > + compatible = "brcm,trx"; Can you move compatible to be the first property which is informal convention. > + }; > + > + calibration@f00000 { > + label = "calibration"; > + reg = <0xf00000 0x100000>; > + compatible = "fixed-partitions"; > + ranges = <0 0xf00000 0x100000>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition@0 { > + label = "wifi0"; > + reg = <0x000000 0x080000>; > + }; > + > + partition@80000 { > + label = "wifi1"; > + reg = <0x080000 0x080000>; > + }; > + }; > + }; > -- > 2.26.2 >