mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-25 03:55:09 +08:00
5db1c2dbc0
U-Boot uses environment variables for storing device setup data. It usually needs to be accessed by a bootloader, kernel and often user-space. This binding allows describing environment data located in a raw flash partition. It's treated as NVMEM device and can be reused later for other storage devices. Using DT should be cleaner than hardcoding & duplicating such info in multiple places. Bootloader & kernel can share DTS and user-space can try reading it too or just have correct data exposed by a kernel. A custom "compatible" string allows system to automatically load relevant NVMEM driver but phandle can be also used for reading raw location. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220228131250.16943-1-zajec5@gmail.com
63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
# 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.
|
|
|
|
maintainers:
|
|
- Rafał Miłecki <rafal@milecki.pl>
|
|
|
|
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
|
|
|
|
reg:
|
|
maxItems: 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>;
|
|
};
|
|
};
|