# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvmem/u-boot,env.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: U-Boot environment variables
description: |
U-Boot uses environment variables to store device parameters and
configuration. They may be used for booting process, setup or keeping end user
info.
Data is stored using U-Boot specific formats (variant specific header and NUL
separated key-value pairs).
Environment data can be stored on various storage entities, e.g.:
1. Raw flash partition
2. UBI volume
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:
- Rafał Miłecki <[email protected]>
properties:
compatible:
oneOf:
- description: A standalone env data block
const: u-boot,env
- description: Two redundant blocks with active one flagged
const: u-boot,env-redundant-bool
- description: Two redundant blocks with active having higher counter
const: u-boot,env-redundant-count
- description: Broadcom's variant with custom header
const: brcm,env
reg:
maxItems: 1
bootcmd:
type: object
description: Command to use for automatic booting
ethaddr:
type: object
description: Ethernet interfaces base MAC address.
additionalProperties: false
properties:
"#nvmem-cell-cells":
description: The first argument is a MAC address offset.
const: 1
additionalProperties: false
examples:
- |
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x40000>;
label = "u-boot";
read-only;
};
env: partition@40000 {
compatible = "u-boot,env";
reg = <0x40000 0x10000>;
mac: ethaddr {
#nvmem-cell-cells = <1>;
};
};
};
- |
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x100000>;
compatible = "brcm,u-boot";
label = "u-boot";
partition-u-boot-env {
compatible = "brcm,env";
ethaddr {
};
};
};
};