Re: [PATCH] dt-bindings: mtd: Add a schema for binman

Simon Glass
2023-09-22T17:01:41Z

Hi Rob,

On Fri, 22 Sept 2023 at 10:00, Rob Herring <robh@kernel.org> wrote:
>
> On Thu, Sep 21, 2023 at 1:45 PM Simon Glass <sjg@chromium.org> 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@chromium.org/
> > [3] https://www.spinics.net/lists/devicetree/msg626149.html
>
> You missed:
>
> https://github.com/devicetree-org/dt-schema/pull/110
>
> where I said: We certainly shouldn't duplicate the existing partitions
> bindings. What's missing from them (I assume we're mostly talking
> about "fixed-partitions" which has been around forever I think (before
> me))?
>
> To repeat, unless there is some reason binman partitions conflict with
> fixed-partitions, you need to start there and extend it. From what's
> posted here, it neither conflicts nor needs extending.

I think at this point I am just hopelessly confused. Have you taken a
look at the binman schema? [1]

I saw this file, which seems to extend a partition.

Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml

I was assuming that I should create a top-level compatible = "binman"
node, with subnodes like compatible = "binman,bl31-atf", for example.
I should use the compatible string to indicate the contents, right?

Re extending, what is the minimum I can do? Are you looking for
something like a "compress" property that indicates that the entry is
compressed?

I'm really just a bit lost.

>
> I did a bit more research. "fixed-partitions" as a compatible has
> "only" been around since 2015. Prior to that, it was implicit with
> just partition nodes with addresses (i.e. reg) and that dates back to
> 2007. Looks like u-boot only supports the newer form and since 2021.

OK

Regards,
Simon

[1] https://u-boot.readthedocs.io/en/latest/develop/package/binman.html#image-description-format