On Wed, Sep 25, 2024 at 01:30:03PM +0200, Miquel Raynal wrote: > Hi Christian, > > ansuelsmth@xxxxxxxxx wrote on Wed, 25 Sep 2024 12:13:58 +0200: > > > Add Documentation for Airoha fixed-partitions compatibles. > > > > Airoha based SoC declare a dedicated partition at the end of the flash to > > store calibration and device specific data, in addition to fixed > > partitions. > > > > The offset of this special partition is not well defined as a custom bad > > block management driver is used that reserve space at the end of the flash. > > > > This binding allows defining all fixed partitions and marking the last one > > to detect the correct offset. > > > > Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx> > > --- > > .../partitions/airoha,fixed-partitions.yaml | 80 +++++++++++++++++++ > > .../bindings/mtd/partitions/partitions.yaml | 1 + > > 2 files changed, 81 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mtd/partitions/airoha,fixed-partitions.yaml > > > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/airoha,fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/airoha,fixed-partitions.yaml > > new file mode 100644 > > index 000000000000..a45df51065af > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mtd/partitions/airoha,fixed-partitions.yaml > > @@ -0,0 +1,80 @@ > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/mtd/partitions/airoha,fixed-partitions.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Airoha SoC partitioning > > + > > +description: | > > + Airoha based SoC declare a dedicated partition at the end of the flash to > > + store calibration and device specific data, in addition to fixed partitions. > > + > > + The offset of this special partition is not well defined as a custom bad block > > + management driver is used that reserve space at the end of the flash. > > + > > + This binding allows defining all fixed partitions and marking the last one to > > + detect the correct offset from the new end of the flash. > > + > > +maintainers: > > + - Christian Marangi <ansuelsmth@xxxxxxxxx> > > + > > +select: false > > + > > +properties: > > + compatible: > > + const: airoha,fixed-partitions > > + > > + "#address-cells": > > + enum: [ 1, 2 ] > > + > > + "#size-cells": > > + enum: [ 1, 2 ] > > + > > +patternProperties: > > + "^partition@[0-9a-f]+$": > > + $ref: partition.yaml# > > + properties: > > + compatible: > > + const: airoha,dynamic-art > > + unevaluatedProperties: false > > + > > +required: > > + - "#address-cells" > > + - "#size-cells" > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + partitions { > > + compatible = "airoha,fixed-partitions"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + > > + partition@0 { > > + label = "bootloader"; > > + reg = <0x00000000 0x00080000>; > > + }; > > + > > + partition@80000 { > > + label = "tclinux"; > > + reg = <0x00080000 0x02800000>; > > + }; > > + > > + partition@2880000 { > > + label = "tclinux_slave"; > > + reg = <0x02880000 0x02800000>; > > + }; > > + > > + partition@5080000 { > > + label = "rootfs_data"; > > + reg = <0x5080000 0x00800000>; > > + }; > > + > > + partition@ffffffff { > > + compatible = "airoha,dynamic-art"; > > + label = "art"; > > + reg = <0xffffffff 0x00300000>; > > I'm a little bit puzzled by this kind of information which is known to > be wrong. As the partition offset and size must be dynamically > calculated, this reg property (as well as the size parameter of the > previous one) are notably wrong. I guess we are not fully constrained > by the fixed-partitions schema here, so could we avoid the reg property > in the airoha,dynamic-art partition? Maybe we also need a #define for a > specific placeholder in the penultimate reg property too (for the size). > Maybe instead of reg we can use a property like size? Can you better elaborate the suggestion about the #define? Do you mean for case where the last partition might overlap with the penultimate? Honestly in such case I would error hard, that case happen when too much space is reserved and that is a misconfiguration of the system (developer error) -- Ansuel