xref: /linux/Documentation/devicetree/bindings/nvmem/layouts/u-boot,env.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
15db1c2dbSRafał Miłecki# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
25db1c2dbSRafał Miłecki%YAML 1.2
35db1c2dbSRafał Miłecki---
4*2fcea44eSRafał Miłecki$id: http://devicetree.org/schemas/nvmem/layouts/u-boot,env.yaml#
55db1c2dbSRafał Miłecki$schema: http://devicetree.org/meta-schemas/core.yaml#
65db1c2dbSRafał Miłecki
7*2fcea44eSRafał Miłeckititle: U-Boot environment variables layout
85db1c2dbSRafał Miłecki
95db1c2dbSRafał Miłeckidescription: |
105db1c2dbSRafał Miłecki  U-Boot uses environment variables to store device parameters and
115db1c2dbSRafał Miłecki  configuration. They may be used for booting process, setup or keeping end user
125db1c2dbSRafał Miłecki  info.
135db1c2dbSRafał Miłecki
145db1c2dbSRafał Miłecki  Data is stored using U-Boot specific formats (variant specific header and NUL
155db1c2dbSRafał Miłecki  separated key-value pairs).
165db1c2dbSRafał Miłecki
175db1c2dbSRafał Miłecki  Environment data can be stored on various storage entities, e.g.:
185db1c2dbSRafał Miłecki  1. Raw flash partition
195db1c2dbSRafał Miłecki  2. UBI volume
205db1c2dbSRafał Miłecki
215db1c2dbSRafał Miłecki  This binding allows marking storage device (as containing env data) and
225db1c2dbSRafał Miłecki  specifying used format.
235db1c2dbSRafał Miłecki
24a607a850SRafał Miłecki  Variables can be defined as NVMEM device subnodes.
25a607a850SRafał Miłecki
265db1c2dbSRafał Miłeckimaintainers:
275db1c2dbSRafał Miłecki  - Rafał Miłecki <rafal@milecki.pl>
285db1c2dbSRafał Miłecki
295db1c2dbSRafał Miłeckiproperties:
305db1c2dbSRafał Miłecki  compatible:
315db1c2dbSRafał Miłecki    oneOf:
325db1c2dbSRafał Miłecki      - description: A standalone env data block
335db1c2dbSRafał Miłecki        const: u-boot,env
345db1c2dbSRafał Miłecki      - description: Two redundant blocks with active one flagged
355db1c2dbSRafał Miłecki        const: u-boot,env-redundant-bool
365db1c2dbSRafał Miłecki      - description: Two redundant blocks with active having higher counter
375db1c2dbSRafał Miłecki        const: u-boot,env-redundant-count
386b0584c1SRafał Miłecki      - description: Broadcom's variant with custom header
396b0584c1SRafał Miłecki        const: brcm,env
405db1c2dbSRafał Miłecki
415db1c2dbSRafał Miłecki  reg:
42*2fcea44eSRafał Miłecki    description: Partition offset and size for env on top of MTD
435db1c2dbSRafał Miłecki    maxItems: 1
445db1c2dbSRafał Miłecki
45a607a850SRafał Miłecki  bootcmd:
46a607a850SRafał Miłecki    type: object
47a607a850SRafał Miłecki    description: Command to use for automatic booting
48a607a850SRafał Miłecki
49a607a850SRafał Miłecki  ethaddr:
50a607a850SRafał Miłecki    type: object
517e2805c2SRafał Miłecki    description: Ethernet interfaces base MAC address.
52716a8027SRob Herring    additionalProperties: false
53716a8027SRob Herring
547e2805c2SRafał Miłecki    properties:
557e2805c2SRafał Miłecki      "#nvmem-cell-cells":
567e2805c2SRafał Miłecki        description: The first argument is a MAC address offset.
577e2805c2SRafał Miłecki        const: 1
58a607a850SRafał Miłecki
59*2fcea44eSRafał MiłeckiallOf:
60*2fcea44eSRafał Miłecki  - if:
61*2fcea44eSRafał Miłecki      properties:
62*2fcea44eSRafał Miłecki        $nodename:
63*2fcea44eSRafał Miłecki          not:
64*2fcea44eSRafał Miłecki            contains:
65*2fcea44eSRafał Miłecki              pattern: "^partition@[0-9a-f]+$"
66*2fcea44eSRafał Miłecki    then:
67*2fcea44eSRafał Miłecki      properties:
68*2fcea44eSRafał Miłecki        reg: false
69*2fcea44eSRafał Miłecki
705db1c2dbSRafał MiłeckiadditionalProperties: false
715db1c2dbSRafał Miłecki
725db1c2dbSRafał Miłeckiexamples:
735db1c2dbSRafał Miłecki  - |
745db1c2dbSRafał Miłecki    partitions {
755db1c2dbSRafał Miłecki        compatible = "fixed-partitions";
765db1c2dbSRafał Miłecki        #address-cells = <1>;
775db1c2dbSRafał Miłecki        #size-cells = <1>;
785db1c2dbSRafał Miłecki
795db1c2dbSRafał Miłecki        partition@0 {
805db1c2dbSRafał Miłecki            reg = <0x0 0x40000>;
815db1c2dbSRafał Miłecki            label = "u-boot";
825db1c2dbSRafał Miłecki            read-only;
835db1c2dbSRafał Miłecki        };
845db1c2dbSRafał Miłecki
855db1c2dbSRafał Miłecki        env: partition@40000 {
865db1c2dbSRafał Miłecki            compatible = "u-boot,env";
875db1c2dbSRafał Miłecki            reg = <0x40000 0x10000>;
88a607a850SRafał Miłecki
89a607a850SRafał Miłecki            mac: ethaddr {
907e2805c2SRafał Miłecki                #nvmem-cell-cells = <1>;
91a607a850SRafał Miłecki            };
925db1c2dbSRafał Miłecki        };
935db1c2dbSRafał Miłecki    };
946b0584c1SRafał Miłecki  - |
956b0584c1SRafał Miłecki    partitions {
966b0584c1SRafał Miłecki        compatible = "fixed-partitions";
976b0584c1SRafał Miłecki        #address-cells = <1>;
986b0584c1SRafał Miłecki        #size-cells = <1>;
996b0584c1SRafał Miłecki
1006b0584c1SRafał Miłecki        partition@0 {
1016b0584c1SRafał Miłecki            reg = <0x0 0x100000>;
1026b0584c1SRafał Miłecki            compatible = "brcm,u-boot";
1036b0584c1SRafał Miłecki            label = "u-boot";
1046b0584c1SRafał Miłecki
1056b0584c1SRafał Miłecki            partition-u-boot-env {
1066b0584c1SRafał Miłecki                compatible = "brcm,env";
1076b0584c1SRafał Miłecki
1086b0584c1SRafał Miłecki                ethaddr {
1096b0584c1SRafał Miłecki                };
1106b0584c1SRafał Miłecki            };
1116b0584c1SRafał Miłecki        };
1126b0584c1SRafał Miłecki    };
113*2fcea44eSRafał Miłecki  - |
114*2fcea44eSRafał Miłecki    partition@0 {
115*2fcea44eSRafał Miłecki        reg = <0x0 0x100000>;
116*2fcea44eSRafał Miłecki        label = "ubi";
117*2fcea44eSRafał Miłecki        compatible = "linux,ubi";
118*2fcea44eSRafał Miłecki
119*2fcea44eSRafał Miłecki        volumes {
120*2fcea44eSRafał Miłecki            ubi-volume-u-boot-env {
121*2fcea44eSRafał Miłecki                volname = "env";
122*2fcea44eSRafał Miłecki
123*2fcea44eSRafał Miłecki                nvmem-layout {
124*2fcea44eSRafał Miłecki                    compatible = "u-boot,env";
125*2fcea44eSRafał Miłecki
126*2fcea44eSRafał Miłecki                    ethaddr {
127*2fcea44eSRafał Miłecki                        #nvmem-cell-cells = <1>;
128*2fcea44eSRafał Miłecki                    };
129*2fcea44eSRafał Miłecki                };
130*2fcea44eSRafał Miłecki            };
131*2fcea44eSRafał Miłecki        };
132*2fcea44eSRafał Miłecki    };
133