Message ID | 20230927202057.3676497-1-sjg@chromium.org |
---|---|
State | New |
Headers | show |
Series | [1/3] dt-bindings: mtd: fixed-partitions: Add binman compatible | expand |
Hi Simon, sjg@chromium.org wrote on Wed, 27 Sep 2023 14:20:51 -0600: > Add a compatible string for binman, so we can extend fixed-partitions > in various ways. > > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > .../bindings/mtd/partitions/binman.yaml | 49 +++++++++++++++++++ > .../mtd/partitions/fixed-partitions.yaml | 6 +++ > .../bindings/mtd/partitions/partitions.yaml | 1 + > MAINTAINERS | 5 ++ > 4 files changed, 61 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..34fd10c1a318 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml > @@ -0,0 +1,49 @@ > +# 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> > + > +select: false > + > +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. Could you mention the input file vs. output file and which one this binding describes? > + > + 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 > + > +allOf: > + - $ref: /schemas/mtd/partitions/fixed-partitions.yaml# > + > +properties: > + compatible: > + const: binman > + > +additionalProperties: false > + > +examples: > + - | > + partitions { > + compatible = "binman", "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition-u-boot@100000 { Do you mind if we avoid playing with the node name? I would prefer: partition@100000 { label = "foo"; > + label = "u-boot"; > + reg = <0x100000 0xf00000>; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > index 331e564f29dc..1c04bc2b95af 100644 > --- a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > +++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > @@ -14,6 +14,9 @@ description: | > The partition table should be a node named "partitions". Partitions are then > defined as subnodes. > > + The Binman tool provides some enhanced features, so provides a compatible > + string to indicate that these are permitted. I believe this is not necessary and is implied by the $ref in partitions.yaml. > maintainers: > - Rafał Miłecki <rafal@milecki.pl> > > @@ -24,6 +27,9 @@ properties: > - items: > - const: sercomm,sc-partitions > - const: fixed-partitions > + - items: > + - const: binman > + - const: fixed-partitions > > "#address-cells": true > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml > index 1dda2c80747b..849fd15d085c 100644 > --- a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml > +++ b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml > @@ -15,6 +15,7 @@ maintainers: > > oneOf: > - $ref: arm,arm-firmware-suite.yaml > + - $ref: binman.yaml > - $ref: brcm,bcm4908-partitions.yaml > - $ref: brcm,bcm947xx-cfe-partitions.yaml > - $ref: fixed-partitions.yaml > diff --git a/MAINTAINERS b/MAINTAINERS > index 5f18c6ba3c3c..367c843ec348 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -3517,6 +3517,11 @@ F: Documentation/filesystems/bfs.rst > F: fs/bfs/ > F: include/uapi/linux/bfs_fs.h > > +BINMAN > +M: Simon Glass <sjg@chromium.org> > +S: Supported > +F: Documentation/devicetree/bindings/mtd/partitions/binman* > + > BITMAP API > M: Yury Norov <yury.norov@gmail.com> > R: Andy Shevchenko <andriy.shevchenko@linux.intel.com> The rest of the series otherwise lgtm. Thanks, Miquèl
diff --git a/Documentation/devicetree/bindings/mtd/partitions/binman.yaml b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml new file mode 100644 index 000000000000..34fd10c1a318 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml @@ -0,0 +1,49 @@ +# 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> + +select: false + +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. + + 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 + +allOf: + - $ref: /schemas/mtd/partitions/fixed-partitions.yaml# + +properties: + compatible: + const: binman + +additionalProperties: false + +examples: + - | + partitions { + compatible = "binman", "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition-u-boot@100000 { + label = "u-boot"; + reg = <0x100000 0xf00000>; + }; + }; diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml index 331e564f29dc..1c04bc2b95af 100644 --- a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml +++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml @@ -14,6 +14,9 @@ description: | The partition table should be a node named "partitions". Partitions are then defined as subnodes. + The Binman tool provides some enhanced features, so provides a compatible + string to indicate that these are permitted. + maintainers: - Rafał Miłecki <rafal@milecki.pl> @@ -24,6 +27,9 @@ properties: - items: - const: sercomm,sc-partitions - const: fixed-partitions + - items: + - const: binman + - const: fixed-partitions "#address-cells": true diff --git a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml index 1dda2c80747b..849fd15d085c 100644 --- a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml +++ b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml @@ -15,6 +15,7 @@ maintainers: oneOf: - $ref: arm,arm-firmware-suite.yaml + - $ref: binman.yaml - $ref: brcm,bcm4908-partitions.yaml - $ref: brcm,bcm947xx-cfe-partitions.yaml - $ref: fixed-partitions.yaml diff --git a/MAINTAINERS b/MAINTAINERS index 5f18c6ba3c3c..367c843ec348 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3517,6 +3517,11 @@ F: Documentation/filesystems/bfs.rst F: fs/bfs/ F: include/uapi/linux/bfs_fs.h +BINMAN +M: Simon Glass <sjg@chromium.org> +S: Supported +F: Documentation/devicetree/bindings/mtd/partitions/binman* + BITMAP API M: Yury Norov <yury.norov@gmail.com> R: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Add a compatible string for binman, so we can extend fixed-partitions in various ways. Signed-off-by: Simon Glass <sjg@chromium.org> --- .../bindings/mtd/partitions/binman.yaml | 49 +++++++++++++++++++ .../mtd/partitions/fixed-partitions.yaml | 6 +++ .../bindings/mtd/partitions/partitions.yaml | 1 + MAINTAINERS | 5 ++ 4 files changed, 61 insertions(+) create mode 100644 Documentation/devicetree/bindings/mtd/partitions/binman.yaml