public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Simon Glass <sjg@chromium.org>
Cc: devicetree@vger.kernel.org,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	linux-mtd@lists.infradead.org, "Tom Rini" <trini@konsulko.com>,
	"Michael Walle" <mwalle@kernel.org>,
	"U-Boot Mailing List" <u-boot@lists.denx.de>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Pratyush Yadav" <ptyadav@amazon.de>,
	"Rafał Miłecki" <rafal@milecki.pl>,
	"Richard Weinberger" <richard@nod.at>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 1/3] dt-bindings: mtd: partitions: Add binman compatible
Date: Thu, 14 Dec 2023 11:27:02 -0600	[thread overview]
Message-ID: <20231214172702.GA617226-robh@kernel.org> (raw)
In-Reply-To: <CAPnjgZ1uW8T6woXSqFUNm301=W3zBYOrADREkrz=DuwSW87qZg@mail.gmail.com>

On Fri, Dec 08, 2023 at 03:58:10PM -0700, Simon Glass wrote:
> Hi Rob,
> 
> On Fri, 8 Dec 2023 at 14:56, Rob Herring <robh@kernel.org> wrote:
> >
> > On Fri, Dec 8, 2023 at 11:47 AM Simon Glass <sjg@chromium.org> wrote:
> > >
> > > Hi Rob,
> > >
> > > On Fri, 8 Dec 2023 at 08:00, Rob Herring <robh@kernel.org> wrote:
> > > >
> > > > On Thu, Nov 16, 2023 at 10:28:50AM -0700, Simon Glass wrote:
> > > > > Add a compatible string for binman, so we can extend fixed-partitions
> > > > > in various ways.
> > > > >
> > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > ---
> > > > >
> > > > > (no changes since v5)
> > > > >
> > > > > Changes in v5:
> > > > > - Add #address/size-cells and parternProperties
> > > > > - Drop $ref to fixed-partitions.yaml
> > > > > - Drop 'select: false'
> > > > >
> > > > > Changes in v4:
> > > > > - Change subject line
> > > > >
> > > > > Changes in v3:
> > > > > - Drop fixed-partition additional compatible string
> > > > > - Drop fixed-partitions from the example
> > > > > - Mention use of compatible instead of label
> > > > >
> > > > > Changes in v2:
> > > > > - Drop mention of 'enhanced features' in fixed-partitions.yaml
> > > > > - Mention Binman input and output properties
> > > > > - Use plain partition@xxx for the node name
> > > > >
> > > > >  .../bindings/mtd/partitions/binman.yaml       | 68 +++++++++++++++++++
> > > > >  .../bindings/mtd/partitions/partitions.yaml   |  1 +
> > > > >  MAINTAINERS                                   |  5 ++
> > > > >  3 files changed, 74 insertions(+)
> > > > >  create mode 100644 Documentation/devicetree/bindings/mtd/partitions/binman.yaml
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/binman.yaml b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml
> > > > > new file mode 100644
> > > > > index 000000000000..329217550a98
> > > > > --- /dev/null
> > > > > +++ b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml
> > > > > @@ -0,0 +1,68 @@
> > > > > +# 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@chromium.org>
> > > > > +
> > > > > +description: |
> > > > > +  The binman node provides a layout for firmware, used when packaging firmware
> > > > > +  from multiple projects. It is based on fixed-partitions, with some
> > > > > +  extensions, but uses 'compatible' to indicate the contents of the node, to
> > > > > +  avoid perturbing or confusing existing installations which use 'label' for a
> > > > > +  particular purpose.
> > > > > +
> > > > > +  Binman supports properties used as inputs to the firmware-packaging process,
> > > > > +  such as those which control alignment of partitions. This binding addresses
> > > > > +  these 'input' properties. For example, it is common for the 'reg' property
> > > > > +  (an 'output' property) to be set by Binman, based on the alignment requested
> > > > > +  in the input.
> > > > > +
> > > > > +  Once processing is complete, input properties have mostly served their
> > > > > +  purpose, at least until the firmware is repacked later, e.g. due to a
> > > > > +  firmware update. The 'fixed-partitions' binding should provide enough
> > > > > +  information to read the firmware at runtime, including decompression if
> > > > > +  needed.
> > > >
> > > > How is this going to work exactly? binman reads these nodes and then
> > > > writes out 'fixed-partitions' nodes. But then you've lost the binman
> > > > specifc parts needed for repacking.
> > >
> > > No, they are the same node. I do want the extra information to stick
> > > around. So long as it is compatible with fixed-partition as well, this
> > > should work OK.
> >
> > How can it be both? The partitions node compatible can be either
> > 'fixed-partitions' or 'binman'.
> 
> Can we not allow it to be both? I have tried to adjust things in
> response to feedback but perhaps the feedback was leading me down the
> wrong path?

Sure, but then the schema has to and that means extending 
fixed-partitions.

Rob

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2023-12-14 17:27 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-16 17:28 [PATCH v6 1/3] dt-bindings: mtd: partitions: Add binman compatible Simon Glass
2023-11-16 17:28 ` [PATCH v6 2/3] dt-bindings: mtd: binman-partition: Add binman compatibles Simon Glass
2023-11-16 17:28 ` [PATCH v6 3/3] dt-bindings: mtd: binman-partitions: Add alignment properties Simon Glass
2023-11-29 23:22 ` [PATCH v6 1/3] dt-bindings: mtd: partitions: Add binman compatible Simon Glass
2023-12-08 15:00 ` Rob Herring
2023-12-08 17:46   ` Simon Glass
2023-12-08 21:56     ` Rob Herring
2023-12-08 22:58       ` Simon Glass
2023-12-14 17:27         ` Rob Herring [this message]
2023-12-14 21:09           ` Simon Glass
2024-01-04 21:54             ` Simon Glass
2024-01-17 15:56               ` Rob Herring
2024-02-04 12:07                 ` Simon Glass
2024-02-05  7:50                   ` Miquel Raynal
2024-02-05 11:59                     ` Simon Glass
2024-02-05 12:17                       ` Miquel Raynal
2024-03-08  2:44                         ` Simon Glass
2024-03-08  7:42                           ` Miquel Raynal
2024-03-12 22:25                             ` Simon Glass
2024-03-13  7:35                               ` Miquel Raynal
2024-03-14  2:15                                 ` Simon Glass
  -- strict thread matches above, loose matches on Subject: below --
2023-10-25 21:06 Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231214172702.GA617226-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=mwalle@kernel.org \
    --cc=ptyadav@amazon.de \
    --cc=rafal@milecki.pl \
    --cc=richard@nod.at \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox