dt-bindings: nvmem: convert U-Boot env to a layout

U-Boot environment variables can be stored in various data sources. MTD
is just one of available options. Refactor DT binding into a layout so
it can be used with UBI volumes and other NVMEM devices.

Link: https://lore.kernel.org/all/20231221173421.13737-1-zajec5@gmail.com/
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Rafał Miłecki 2024-09-02 15:29:46 +01:00 committed by Greg Kroah-Hartman
parent c3f9b7b4e5
commit 2fcea44e1b
2 changed files with 35 additions and 5 deletions

View file

@ -21,6 +21,7 @@ oneOf:
- $ref: fixed-layout.yaml
- $ref: kontron,sl28-vpd.yaml
- $ref: onie,tlv-layout.yaml
- $ref: u-boot,env.yaml
properties:
compatible: true

View file

@ -1,10 +1,10 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvmem/u-boot,env.yaml#
$id: http://devicetree.org/schemas/nvmem/layouts/u-boot,env.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: U-Boot environment variables
title: U-Boot environment variables layout
description: |
U-Boot uses environment variables to store device parameters and
@ -21,9 +21,6 @@ description: |
This binding allows marking storage device (as containing env data) and
specifying used format.
Right now only flash partition case is covered but it may be extended to e.g.
UBI volumes in the future.
Variables can be defined as NVMEM device subnodes.
maintainers:
@ -42,6 +39,7 @@ properties:
const: brcm,env
reg:
description: Partition offset and size for env on top of MTD
maxItems: 1
bootcmd:
@ -58,6 +56,17 @@ properties:
description: The first argument is a MAC address offset.
const: 1
allOf:
- if:
properties:
$nodename:
not:
contains:
pattern: "^partition@[0-9a-f]+$"
then:
properties:
reg: false
additionalProperties: false
examples:
@ -101,3 +110,23 @@ examples:
};
};
};
- |
partition@0 {
reg = <0x0 0x100000>;
label = "ubi";
compatible = "linux,ubi";
volumes {
ubi-volume-u-boot-env {
volname = "env";
nvmem-layout {
compatible = "u-boot,env";
ethaddr {
#nvmem-cell-cells = <1>;
};
};
};
};
};