Re: [PATCH v6 1/7] dt/bindings: fwu-mdata-mtd: drop changes outside FWU

2023-06-09 Thread Ilias Apalodimas
On Mon, Mar 06, 2023 at 05:18:14PM -0600, jassisinghb...@gmail.com wrote:
> From: Jassi Brar 
> 
> 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 

>  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 
> ---
>  .../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 
> + - Jassi Brar 
>  
>  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 = <>;
> -mdata-offsets = <0x50 0x53>;
> -};
> + fwu-mdata {
> + compatible = "u-boot,fwu-mdata-mtd";
> + fwu-mdata-store = <>;
> + mdata-parts = "MDATA-Pri", "MDATA-Sec";
> +
> + fwu-bank0 {
> + id = <0>;
> + label = "FIP-Bank0";
> + fwu-image0 {
> +   

[PATCH v6 1/7] dt/bindings: fwu-mdata-mtd: drop changes outside FWU

2023-03-06 Thread jassisinghbrar
From: Jassi Brar 

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.

 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 
---
 .../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 
+ - Jassi Brar 
 
 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 = <>;
-mdata-offsets = <0x50 0x53>;
-};
+   fwu-mdata {
+   compatible = "u-boot,fwu-mdata-mtd";
+   fwu-mdata-store = <>;
+   mdata-parts = "MDATA-Pri", "MDATA-Sec";
+
+   fwu-bank0 {
+   id = <0>;
+   label = "FIP-Bank0";
+   fwu-image0 {
+   id = <0>;
+   offset = <0x0>;
+   size = <0x40>;
+   uuid = "5a66a702-99fd-4fef-a392-c26e261a2828";
+   };
+   };
+   fwu-bank1 {
+   id = <1>;
+   label = "FIP-Bank1";
+   fwu-image0 {
+   id = <0>;
+   offset = <0x0>;
+   size = <0x40>;
+   uuid = "a8f868a1-6e5c-4757-878d-ce63375ef2c0";
+   };
+   };
+   };
+...
-- 
2.34.1