On Fri, 13 Jul 2018 16:32:20 +0200 Rafa? Mi?ecki <zajec5 at gmail.com> wrote: > From: Rafa? Mi?ecki <rafal at milecki.pl> > > Documentation was already saying that fixed and dynamic partitioning can > be mixed but was missing a clear description and examples. This commit > adds a proper documentation of how descriptions can be nested and how > layouts can be mixed. > > This addition is important for partitions that contain subpartitions. > In such cases partitions have to be properly described in order to let > system handle them correctly. > > Depending on situation, nesting descriptions may provide more accurate > logic/structure and/or allow mixing partitioning types (various > "compatible" values). > > Signed-off-by: Rafa? Mi?ecki <rafal at milecki.pl> Applied both patches. Thanks, Boris > --- > V2: Rewrote example: I can include "brcm,trx" now as its Documentation > has been pushed into mtd git tree. > Updated commit message. > --- > .../devicetree/bindings/mtd/partition.txt | 46 ++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mtd/partition.txt b/Documentation/devicetree/bindings/mtd/partition.txt > index a8f382642ba9..afbbd870496d 100644 > --- a/Documentation/devicetree/bindings/mtd/partition.txt > +++ b/Documentation/devicetree/bindings/mtd/partition.txt > @@ -14,6 +14,13 @@ method is used for a given flash device. To describe the method there should be > a subnode of the flash device that is named 'partitions'. It must have a > 'compatible' property, which is used to identify the method to use. > > +When a single partition is represented with a DT node (it depends on a used > +format) it may also be described using above rules ('compatible' and optionally > +some extra properties / subnodes). It allows describing more complex, > +hierarchical (multi-level) layouts and should be used if there is some > +significant relation between partitions or some partition internally uses > +another partitioning method. > + > Available bindings are listed in the "partitions" subdirectory. > > > @@ -109,3 +116,42 @@ flash at 2 { > }; > }; > }; > + > +flash at 3 { > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition at 0 { > + label = "bootloader"; > + reg = <0x000000 0x100000>; > + read-only; > + }; > + > + firmware at 100000 { > + label = "firmware"; > + reg = <0x100000 0xe00000>; > + compatible = "brcm,trx"; > + }; > + > + calibration at f00000 { > + label = "calibration"; > + reg = <0xf00000 0x100000>; > + compatible = "fixed-partitions"; > + ranges = <0 0xf00000 0x100000>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition at 0 { > + label = "wifi0"; > + reg = <0x000000 0x080000>; > + }; > + > + partition at 80000 { > + label = "wifi1"; > + reg = <0x080000 0x080000>; > + }; > + }; > + }; > +};