1*2fcea44eSRafał Miłecki# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*2fcea44eSRafał Miłecki%YAML 1.2 3*2fcea44eSRafał Miłecki--- 4*2fcea44eSRafał Miłecki$id: http://devicetree.org/schemas/nvmem/layouts/u-boot,env.yaml# 5*2fcea44eSRafał Miłecki$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2fcea44eSRafał Miłecki 7*2fcea44eSRafał Miłeckititle: U-Boot environment variables layout 8*2fcea44eSRafał Miłecki 9*2fcea44eSRafał Miłeckidescription: | 10*2fcea44eSRafał Miłecki U-Boot uses environment variables to store device parameters and 11*2fcea44eSRafał Miłecki configuration. They may be used for booting process, setup or keeping end user 12*2fcea44eSRafał Miłecki info. 13*2fcea44eSRafał Miłecki 14*2fcea44eSRafał Miłecki Data is stored using U-Boot specific formats (variant specific header and NUL 15*2fcea44eSRafał Miłecki separated key-value pairs). 16*2fcea44eSRafał Miłecki 17*2fcea44eSRafał Miłecki Environment data can be stored on various storage entities, e.g.: 18*2fcea44eSRafał Miłecki 1. Raw flash partition 19*2fcea44eSRafał Miłecki 2. UBI volume 20*2fcea44eSRafał Miłecki 21*2fcea44eSRafał Miłecki This binding allows marking storage device (as containing env data) and 22*2fcea44eSRafał Miłecki specifying used format. 23*2fcea44eSRafał Miłecki 24*2fcea44eSRafał Miłecki Variables can be defined as NVMEM device subnodes. 25*2fcea44eSRafał Miłecki 26*2fcea44eSRafał Miłeckimaintainers: 27*2fcea44eSRafał Miłecki - Rafał Miłecki <rafal@milecki.pl> 28*2fcea44eSRafał Miłecki 29*2fcea44eSRafał Miłeckiproperties: 30*2fcea44eSRafał Miłecki compatible: 31*2fcea44eSRafał Miłecki oneOf: 32*2fcea44eSRafał Miłecki - description: A standalone env data block 33*2fcea44eSRafał Miłecki const: u-boot,env 34*2fcea44eSRafał Miłecki - description: Two redundant blocks with active one flagged 35*2fcea44eSRafał Miłecki const: u-boot,env-redundant-bool 36*2fcea44eSRafał Miłecki - description: Two redundant blocks with active having higher counter 37*2fcea44eSRafał Miłecki const: u-boot,env-redundant-count 38*2fcea44eSRafał Miłecki - description: Broadcom's variant with custom header 39*2fcea44eSRafał Miłecki const: brcm,env 40*2fcea44eSRafał Miłecki 41*2fcea44eSRafał Miłecki reg: 42*2fcea44eSRafał Miłecki description: Partition offset and size for env on top of MTD 43*2fcea44eSRafał Miłecki maxItems: 1 44*2fcea44eSRafał Miłecki 45*2fcea44eSRafał Miłecki bootcmd: 46*2fcea44eSRafał Miłecki type: object 47*2fcea44eSRafał Miłecki description: Command to use for automatic booting 48*2fcea44eSRafał Miłecki 49*2fcea44eSRafał Miłecki ethaddr: 50*2fcea44eSRafał Miłecki type: object 51*2fcea44eSRafał Miłecki description: Ethernet interfaces base MAC address. 52*2fcea44eSRafał Miłecki additionalProperties: false 53*2fcea44eSRafał Miłecki 54*2fcea44eSRafał Miłecki properties: 55*2fcea44eSRafał Miłecki "#nvmem-cell-cells": 56*2fcea44eSRafał Miłecki description: The first argument is a MAC address offset. 57*2fcea44eSRafał Miłecki const: 1 58*2fcea44eSRafał 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 70*2fcea44eSRafał MiłeckiadditionalProperties: false 71*2fcea44eSRafał Miłecki 72*2fcea44eSRafał Miłeckiexamples: 73*2fcea44eSRafał Miłecki - | 74*2fcea44eSRafał Miłecki partitions { 75*2fcea44eSRafał Miłecki compatible = "fixed-partitions"; 76*2fcea44eSRafał Miłecki #address-cells = <1>; 77*2fcea44eSRafał Miłecki #size-cells = <1>; 78*2fcea44eSRafał Miłecki 79*2fcea44eSRafał Miłecki partition@0 { 80*2fcea44eSRafał Miłecki reg = <0x0 0x40000>; 81*2fcea44eSRafał Miłecki label = "u-boot"; 82*2fcea44eSRafał Miłecki read-only; 83*2fcea44eSRafał Miłecki }; 84*2fcea44eSRafał Miłecki 85*2fcea44eSRafał Miłecki env: partition@40000 { 86*2fcea44eSRafał Miłecki compatible = "u-boot,env"; 87*2fcea44eSRafał Miłecki reg = <0x40000 0x10000>; 88*2fcea44eSRafał Miłecki 89*2fcea44eSRafał Miłecki mac: ethaddr { 90*2fcea44eSRafał Miłecki #nvmem-cell-cells = <1>; 91*2fcea44eSRafał Miłecki }; 92*2fcea44eSRafał Miłecki }; 93*2fcea44eSRafał Miłecki }; 94*2fcea44eSRafał Miłecki - | 95*2fcea44eSRafał Miłecki partitions { 96*2fcea44eSRafał Miłecki compatible = "fixed-partitions"; 97*2fcea44eSRafał Miłecki #address-cells = <1>; 98*2fcea44eSRafał Miłecki #size-cells = <1>; 99*2fcea44eSRafał Miłecki 100*2fcea44eSRafał Miłecki partition@0 { 101*2fcea44eSRafał Miłecki reg = <0x0 0x100000>; 102*2fcea44eSRafał Miłecki compatible = "brcm,u-boot"; 103*2fcea44eSRafał Miłecki label = "u-boot"; 104*2fcea44eSRafał Miłecki 105*2fcea44eSRafał Miłecki partition-u-boot-env { 106*2fcea44eSRafał Miłecki compatible = "brcm,env"; 107*2fcea44eSRafał Miłecki 108*2fcea44eSRafał Miłecki ethaddr { 109*2fcea44eSRafał Miłecki }; 110*2fcea44eSRafał Miłecki }; 111*2fcea44eSRafał Miłecki }; 112*2fcea44eSRafał 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