
On Mon, Oct 09, 2023 at 04:04:13PM -0600, 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
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 | 63 +++++++++++++++++++ .../bindings/mtd/partitions/partitions.yaml | 1 + MAINTAINERS | 5 ++ 3 files changed, 69 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..7d6c8bd738f5 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/partitions/binman.yaml @@ -0,0 +1,63 @@ +# 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, 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.
- 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-de...
+allOf:
- $ref: /schemas/mtd/partitions/fixed-partitions.yaml#
+properties:
- compatible:
- const: binman
This couldn't possibly pass validation. Including fixed-partitions.yaml says the compatible must be one thing and this says something else.
+additionalProperties: false
+examples:
- |
- partitions {
compatible = "binman";
#address-cells = <1>;
#size-cells = <1>;
partition@100000 {
label = "u-boot";
reg = <0x100000 0xf00000>;
};
- };
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 c934244acc31..ebc8158fe67d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3536,6 +3536,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 -- 2.42.0.609.gbb76f46606-goog