blob: 9c36afc7084b023c2df7fdca47d699d424d67c75 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
27 Variables can be defined as NVMEM device subnodes.
28
29maintainers:
30 - Rafał Miłecki <rafal@milecki.pl>
31
32properties:
33 compatible:
34 oneOf:
35 - description: A standalone env data block
36 const: u-boot,env
37 - description: Two redundant blocks with active one flagged
38 const: u-boot,env-redundant-bool
39 - description: Two redundant blocks with active having higher counter
40 const: u-boot,env-redundant-count
41 - description: Broadcom's variant with custom header
42 const: brcm,env
43
44 reg:
45 maxItems: 1
46
47 bootcmd:
48 type: object
49 description: Command to use for automatic booting
50
51 ethaddr:
52 type: object
53 description: Ethernet interfaces base MAC address.
54 additionalProperties: false
55
56 properties:
57 "#nvmem-cell-cells":
58 description: The first argument is a MAC address offset.
59 const: 1
60
61additionalProperties: false
62
63examples:
64 - |
65 partitions {
66 compatible = "fixed-partitions";
67 #address-cells = <1>;
68 #size-cells = <1>;
69
70 partition@0 {
71 reg = <0x0 0x40000>;
72 label = "u-boot";
73 read-only;
74 };
75
76 env: partition@40000 {
77 compatible = "u-boot,env";
78 reg = <0x40000 0x10000>;
79
80 mac: ethaddr {
81 #nvmem-cell-cells = <1>;
82 };
83 };
84 };
85 - |
86 partitions {
87 compatible = "fixed-partitions";
88 #address-cells = <1>;
89 #size-cells = <1>;
90
91 partition@0 {
92 reg = <0x0 0x100000>;
93 compatible = "brcm,u-boot";
94 label = "u-boot";
95
96 partition-u-boot-env {
97 compatible = "brcm,env";
98
99 ethaddr {
100 };
101 };
102 };
103 };