162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/nvmem/u-boot,env.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: U-Boot environment variables 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: | 1062306a36Sopenharmony_ci U-Boot uses environment variables to store device parameters and 1162306a36Sopenharmony_ci configuration. They may be used for booting process, setup or keeping end user 1262306a36Sopenharmony_ci info. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci Data is stored using U-Boot specific formats (variant specific header and NUL 1562306a36Sopenharmony_ci separated key-value pairs). 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci Environment data can be stored on various storage entities, e.g.: 1862306a36Sopenharmony_ci 1. Raw flash partition 1962306a36Sopenharmony_ci 2. UBI volume 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci This binding allows marking storage device (as containing env data) and 2262306a36Sopenharmony_ci specifying used format. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci Right now only flash partition case is covered but it may be extended to e.g. 2562306a36Sopenharmony_ci UBI volumes in the future. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci Variables can be defined as NVMEM device subnodes. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cimaintainers: 3062306a36Sopenharmony_ci - Rafał Miłecki <rafal@milecki.pl> 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciproperties: 3362306a36Sopenharmony_ci compatible: 3462306a36Sopenharmony_ci oneOf: 3562306a36Sopenharmony_ci - description: A standalone env data block 3662306a36Sopenharmony_ci const: u-boot,env 3762306a36Sopenharmony_ci - description: Two redundant blocks with active one flagged 3862306a36Sopenharmony_ci const: u-boot,env-redundant-bool 3962306a36Sopenharmony_ci - description: Two redundant blocks with active having higher counter 4062306a36Sopenharmony_ci const: u-boot,env-redundant-count 4162306a36Sopenharmony_ci - description: Broadcom's variant with custom header 4262306a36Sopenharmony_ci const: brcm,env 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci reg: 4562306a36Sopenharmony_ci maxItems: 1 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci bootcmd: 4862306a36Sopenharmony_ci type: object 4962306a36Sopenharmony_ci description: Command to use for automatic booting 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci ethaddr: 5262306a36Sopenharmony_ci type: object 5362306a36Sopenharmony_ci description: Ethernet interfaces base MAC address. 5462306a36Sopenharmony_ci properties: 5562306a36Sopenharmony_ci "#nvmem-cell-cells": 5662306a36Sopenharmony_ci description: The first argument is a MAC address offset. 5762306a36Sopenharmony_ci const: 1 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciadditionalProperties: false 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciexamples: 6262306a36Sopenharmony_ci - | 6362306a36Sopenharmony_ci partitions { 6462306a36Sopenharmony_ci compatible = "fixed-partitions"; 6562306a36Sopenharmony_ci #address-cells = <1>; 6662306a36Sopenharmony_ci #size-cells = <1>; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci partition@0 { 6962306a36Sopenharmony_ci reg = <0x0 0x40000>; 7062306a36Sopenharmony_ci label = "u-boot"; 7162306a36Sopenharmony_ci read-only; 7262306a36Sopenharmony_ci }; 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci env: partition@40000 { 7562306a36Sopenharmony_ci compatible = "u-boot,env"; 7662306a36Sopenharmony_ci reg = <0x40000 0x10000>; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci mac: ethaddr { 7962306a36Sopenharmony_ci #nvmem-cell-cells = <1>; 8062306a36Sopenharmony_ci }; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci - | 8462306a36Sopenharmony_ci partitions { 8562306a36Sopenharmony_ci compatible = "fixed-partitions"; 8662306a36Sopenharmony_ci #address-cells = <1>; 8762306a36Sopenharmony_ci #size-cells = <1>; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci partition@0 { 9062306a36Sopenharmony_ci reg = <0x0 0x100000>; 9162306a36Sopenharmony_ci compatible = "brcm,u-boot"; 9262306a36Sopenharmony_ci label = "u-boot"; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci partition-u-boot-env { 9562306a36Sopenharmony_ci compatible = "brcm,env"; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci ethaddr { 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci }; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci }; 102