On Mon, Mar 06, 2023 at 05:18:14PM -0600, jassisinghb...@gmail.com wrote:
> From: Jassi Brar <jaswinder.si...@linaro.org>
> 
> Any requirement of FWU should not require changes to bindings
> of other subsystems. For example, for mtd-backed storage we
> can do without requiring 'fixed-partitions' children to also
> carry 'uuid', a property which is non-standard and not in the
> bindings.
> 


The existing bindings were constructed like that in case we wanted to
upstream the dt-bindings.  But I think we are fine keeping it as an
internal ABI for now.  Note here that we will need to strip this eventually
before we hand over the dtb into linux, but that's a different story.  In
any case as long as the DT comes from u-boot I don't think we will have a
risk of introducing compatibility issues if we ever upstream this and go
back to the old format. 

Acked-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>

>  There exists no code yet, so we can change the fwu-mtd bindings
> to contain all properties within the fwu-mdata node.
> 
> Signed-off-by: Jassi Brar <jaswinder.si...@linaro.org>
> ---
>  .../firmware/fwu-mdata-mtd.yaml               | 105 +++++++++++++++---
>  1 file changed, 91 insertions(+), 14 deletions(-)
> 
> diff --git a/doc/device-tree-bindings/firmware/fwu-mdata-mtd.yaml 
> b/doc/device-tree-bindings/firmware/fwu-mdata-mtd.yaml
> index 4f5404f999..6a22aeea30 100644
> --- a/doc/device-tree-bindings/firmware/fwu-mdata-mtd.yaml
> +++ b/doc/device-tree-bindings/firmware/fwu-mdata-mtd.yaml
> @@ -1,13 +1,13 @@
>  # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>  %YAML 1.2
>  ---
> -$id: http://devicetree.org/schemas/firmware/u-boot,fwu-mdata-sf.yaml#
> -$schema: http://devicetree.org/meta-schemas/core.yaml#
> +$id: http://devicetree.org/schemas/firmware/u-boot,fwu-mdata-mtd.yaml#
> +$schema: http://devicetree.org/meta-schemas/base.yaml#
>  
>  title: FWU metadata on MTD device without GPT
>  
>  maintainers:
> - - Masami Hiramatsu <masami.hirama...@linaro.org>
> + - Jassi Brar <jaswinder.si...@linaro.org>
>  
>  properties:
>    compatible:
> @@ -15,24 +15,101 @@ properties:
>        - const: u-boot,fwu-mdata-mtd
>  
>    fwu-mdata-store:
> -    maxItems: 1
> -    description: Phandle of the MTD device which contains the FWU medatata.
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: Phandle of the MTD device which contains the FWU MetaData 
> and Banks.
>  
> -  mdata-offsets:
> +  mdata-parts:
> +    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
>      minItems: 2
> -    description: Offsets of the primary and secondary FWU metadata in the 
> NOR flash.
> +    maxItems: 2
> +    description: labels of the primary and secondary FWU metadata partitions 
> in the 'fixed-partitions' subnode of the 'jedec,spi-nor' flash device node.
> +
> +  patternProperties:
> +    "fwu-bank[0-9]":
> +    type: object
> +    description: List of FWU mtd-backed banks. Typically two banks.
> +
> +    properties:
> +      id:
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        description: Index of the bank.
> +
> +      label:
> +        $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> +        minItems: 1
> +        maxItems: 1
> +        description: label of the partition, in the 'fixed-partitions' 
> subnode of the 'jedec,spi-nor' flash device node, that holds this bank.
> +
> +      patternProperties:
> +        "fwu-image[0-9]":
> +        type: object
> +        description: List of images in the FWU mtd-backed bank.
> +
> +        properties:
> +          id:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Index of the bank.
> +
> +          offset:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Offset, from start of the bank, where the image is 
> located.
> +
> +          size:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Size reserved for the image.
> +
> +          uuid:
> +            $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> +            minItems: 1
> +            maxItems: 1
> +            description: UUID of the image.
> +
> +        required:
> +          - id
> +          - offset
> +          - size
> +          - uuid
> +        additionalProperties: false
> +
> +    required:
> +      - id
> +      - label
> +      - fwu-images
> +    additionalProperties: false
>  
>  required:
>    - compatible
>    - fwu-mdata-store
> -  - mdata-offsets
> -
> +  - mdata-parts
> +  - fwu-banks
>  additionalProperties: false
>  
>  examples:
>    - |
> -    fwu-mdata {
> -        compatible = "u-boot,fwu-mdata-mtd";
> -        fwu-mdata-store = <&spi-flash>;
> -        mdata-offsets = <0x500000 0x530000>;
> -    };
> +     fwu-mdata {
> +             compatible = "u-boot,fwu-mdata-mtd";
> +             fwu-mdata-store = <&flash0>;
> +             mdata-parts = "MDATA-Pri", "MDATA-Sec";
> +
> +             fwu-bank0 {
> +                     id = <0>;
> +                     label = "FIP-Bank0";
> +                     fwu-image0 {
> +                             id = <0>;
> +                             offset = <0x0>;
> +                             size = <0x400000>;
> +                             uuid = "5a66a702-99fd-4fef-a392-c26e261a2828";
> +                     };
> +             };
> +             fwu-bank1 {
> +                     id = <1>;
> +                     label = "FIP-Bank1";
> +                     fwu-image0 {
> +                             id = <0>;
> +                             offset = <0x0>;
> +                             size = <0x400000>;
> +                             uuid = "a8f868a1-6e5c-4757-878d-ce63375ef2c0";
> +                     };
> +             };
> +     };
> +...
> -- 
> 2.34.1
> 

Reply via email to