From: Rafał Miłecki <[email protected]>
Allow specifying NVMEM device content size in case it differs from
device total size.
Cc: Christian Marangi <[email protected]>
Signed-off-by: Rafał Miłecki <[email protected]>
---
Documentation/devicetree/bindings/nvmem/nvmem.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/nvmem/nvmem.yaml b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
index 4fd015d402ce..095aed4250de 100644
--- a/Documentation/devicetree/bindings/nvmem/nvmem.yaml
+++ b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
@@ -26,6 +26,13 @@ properties:
"#size-cells":
const: 1
+ data-size:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ NVMEM device actual data (content) size. It may be need to be specified
+ if it differs by design from the total NVMEM device size and it's
+ impossible to determine it on runtime.
+
read-only:
$ref: /schemas/types.yaml#/definitions/flag
description:
--
2.35.3
From: Rafał Miłecki <[email protected]>
Describe what "data-size" means in U-Boot env context and why it may be
needed. It's a generic property but giving it some extra meaning in
U-Boot context may be helpful.
Cc: Christian Marangi <[email protected]>
Signed-off-by: Rafał Miłecki <[email protected]>
---
.../devicetree/bindings/nvmem/u-boot,env.yaml | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml b/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml
index 9c36afc7084b..0006f022d0af 100644
--- a/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml
+++ b/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml
@@ -44,6 +44,15 @@ properties:
reg:
maxItems: 1
+ data-size:
+ description:
+ U-Boot environment data size is set and hardcoded during compilation using
+ CONFIG_ENV_SIZE. Knowing it is critical for CRC32 checksum calculation.
+
+ This property allows specifying it in case it differs from NVMEM device
+ size. It may happen if device partitioning was designed with different
+ concepts in mind (like block alignment or future-proof size).
+
bootcmd:
type: object
description: Command to use for automatic booting
@@ -76,6 +85,7 @@ examples:
env: partition@40000 {
compatible = "u-boot,env";
reg = <0x40000 0x10000>;
+ data-size = <0x4000>;
mac: ethaddr {
#nvmem-cell-cells = <1>;
--
2.35.3
On 13.12.2023 16:47, Rafał Miłecki wrote:
> From: Rafał Miłecki <[email protected]>
>
> Allow specifying NVMEM device content size in case it differs from
> device total size.
>
> Cc: Christian Marangi <[email protected]>
> Signed-off-by: Rafał Miłecki <[email protected]>
I forgot to link Rob's comment where he suggested we may need such a property:
https://patchwork.ozlabs.org/comment/3154781/
Let's now see if I got it right.
> ---
> Documentation/devicetree/bindings/nvmem/nvmem.yaml | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/nvmem/nvmem.yaml b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
> index 4fd015d402ce..095aed4250de 100644
> --- a/Documentation/devicetree/bindings/nvmem/nvmem.yaml
> +++ b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
> @@ -26,6 +26,13 @@ properties:
> "#size-cells":
> const: 1
>
> + data-size:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + NVMEM device actual data (content) size. It may be need to be specified
> + if it differs by design from the total NVMEM device size and it's
> + impossible to determine it on runtime.
> +
> read-only:
> $ref: /schemas/types.yaml#/definitions/flag
> description:
On Wed, Dec 13, 2023 at 04:47:20PM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <[email protected]>
>
> Allow specifying NVMEM device content size in case it differs from
> device total size.
>
> Cc: Christian Marangi <[email protected]>
> Signed-off-by: Rafał Miłecki <[email protected]>
> ---
> Documentation/devicetree/bindings/nvmem/nvmem.yaml | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/nvmem/nvmem.yaml b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
> index 4fd015d402ce..095aed4250de 100644
> --- a/Documentation/devicetree/bindings/nvmem/nvmem.yaml
> +++ b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
> @@ -26,6 +26,13 @@ properties:
> "#size-cells":
> const: 1
>
> + data-size:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + NVMEM device actual data (content) size. It may be need to be specified
> + if it differs by design from the total NVMEM device size and it's
> + impossible to determine it on runtime.
'data-size' is already defined in
Documentation/devicetree/bindings/eeprom/microchip,93lc46b.yaml.
That would be fine, but it's defining bits per word. So I think it's
better if we call this something else. 'total-data-size' or
'actual-data-size'?
I think Simon had something similar for binman.
Rob