Hi Krzysztof, On Fri, 22 Sept 2023 at 01:02, Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > On 21/09/2023 20:45, Simon Glass wrote: > > Binman[1] is a tool for creating firmware images. It allows you to > > combine various binaries and place them in an output file. > > > > Binman uses a DT schema to describe an image, in enough detail that > > it can be automatically built from component parts, disassembled, > > replaced, listed, etc. > > > > Images are typically stored in flash, which is why this binding is > > targeted at mtd. Previous discussion is at [2] [3]. > > > > [1] https://u-boot.readthedocs.io/en/stable/develop/package/binman.html > > [2] https://lore.kernel.org/u-boot/20230821180220.2724080-3-sjg@xxxxxxxxxxxx/ > > [3] https://www.spinics.net/lists/devicetree/msg626149.html > > > > Signed-off-by: Simon Glass <sjg@xxxxxxxxxxxx> > > --- > > > > .../bindings/mtd/partitions/binman.yaml | 50 +++++++++++++++ > > .../bindings/mtd/partitions/binman/entry.yaml | 61 +++++++++++++++++++ > > .../bindings/mtd/partitions/partitions.yaml | 1 + > > MAINTAINERS | 5 ++ > > 4 files changed, 117 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mtd/partitions/binman.yaml > > create mode 100644 Documentation/devicetree/bindings/mtd/partitions/binman/entry.yaml > > > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/binman.yaml b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml > > new file mode 100644 > > index 00000000000000..c792d5a37b700a > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml > > @@ -0,0 +1,50 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +# Copyright 2023 Google LLC > > + > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/mtd/partitions/binman.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Binman firmware layout > > + > > +maintainers: > > + - Simon Glass <sjg@xxxxxxxxxxxx> > > + > > +description: | > > + The binman node provides a layout for firmware, used when packaging firmware > > + from multiple projects. For now it just supports a very simple set of > > + features, as a starting point for discussion. > > + > > + Documentation for Binman is available at: > > + > > + https://u-boot.readthedocs.io/en/latest/develop/package/binman.html > > + > > + with the current image-description format at: > > + > > + https://u-boot.readthedocs.io/en/latest/develop/package/binman.html#image-description-format > > + > > +properties: > > + compatible: > > + const: u-boot,binman > > + > > +required: > > + - compatible > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + firmware { > > + binman { > > + compatible = "u-boot,binman"; > > + > > + u-boot { > > It does not look like you tested the bindings, at least after quick > look. Please run `make dt_binding_check` (see > Documentation/devicetree/bindings/writing-schema.rst for instructions). > Maybe you need to update your dtschema and yamllint. Yes this came out of dt-schema and I assumed it was similar. I will rework it. > > > > + size = <0xa0000>; > > + }; > > + > > + atf-bl31 { > > + offset = <0x100000>; > > + }; > > + }; > > + }; > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/binman/entry.yaml b/Documentation/devicetree/bindings/mtd/partitions/binman/entry.yaml > > new file mode 100644 > > index 00000000000000..8003eb4f1a994f > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mtd/partitions/binman/entry.yaml > > @@ -0,0 +1,61 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +# Copyright 2023 Google LLC > > + > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/mtd/partitions/binman/entry.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Binman entry > > + > > +maintainers: > > + - Simon Glass <sjg@xxxxxxxxxxxx> > > + > > +description: | > > + The entry node specifies a single entry in the firmware. > > + > > + Entries have a specific type, such as "u-boot" or "atf-bl31". If the type > > + is missing, the name is used as the type. > > + > > + Note: This definition is intended to be hierarchical, so that entries can > > + appear in other entries. Schema for that is TBD. > > + > > +properties: > > + $nodename: > > + pattern: "^[-a-z]+(-[0-9]+)?$" > > Why do you need this? It seemed to be needed in dt-schema. I will drop it. Regards, Simon