1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/nvmem/u-boot,env.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: U-Boot environment variables
8
9description: |
10  U-Boot uses environment variables to store device parameters and
11  configuration. They may be used for booting process, setup or keeping end user
12  info.
13
14  Data is stored using U-Boot specific formats (variant specific header and NUL
15  separated key-value pairs).
16
17  Environment data can be stored on various storage entities, e.g.:
18  1. Raw flash partition
19  2. UBI volume
20
21  This binding allows marking storage device (as containing env data) and
22  specifying used format.
23
24  Right now only flash partition case is covered but it may be extended to e.g.
25  UBI volumes in the future.
26
27maintainers:
28  - Rafał Miłecki <rafal@milecki.pl>
29
30properties:
31  compatible:
32    oneOf:
33      - description: A standalone env data block
34        const: u-boot,env
35      - description: Two redundant blocks with active one flagged
36        const: u-boot,env-redundant-bool
37      - description: Two redundant blocks with active having higher counter
38        const: u-boot,env-redundant-count
39
40  reg:
41    maxItems: 1
42
43additionalProperties: false
44
45examples:
46  - |
47    partitions {
48        compatible = "fixed-partitions";
49        #address-cells = <1>;
50        #size-cells = <1>;
51
52        partition@0 {
53            reg = <0x0 0x40000>;
54            label = "u-boot";
55            read-only;
56        };
57
58        env: partition@40000 {
59            compatible = "u-boot,env";
60            reg = <0x40000 0x10000>;
61        };
62    };
63