uboot/env/Kconfig
<<
>>
Prefs
   1menu "Environment"
   2
   3config ENV_SUPPORT
   4        def_bool y
   5
   6config ENV_SOURCE_FILE
   7        string "Environment file to use"
   8        default ""
   9        help
  10          This sets the basename to use to generate the default environment.
  11          This a text file as described in doc/usage/environment.rst
  12
  13          The file must be in the board directory and have a .env extension, so
  14          the resulting filename is typically
  15          board/<vendor>/<board>/<CONFIG_ENV_SOURCE_FILE>.env
  16
  17          If the file is not present, an error is produced.
  18
  19          If this CONFIG is empty, U-Boot uses CONFIG SYS_BOARD as a default, if
  20          the file board/<vendor>/<board>/<SYS_BOARD>.env exists. Otherwise the
  21          environment is assumed to come from the ad-hoc
  22          CONFIG_EXTRA_ENV_SETTINGS #define
  23
  24config SAVEENV
  25        def_bool y if CMD_SAVEENV
  26
  27config ENV_OVERWRITE
  28        bool "Enable overwriting environment"
  29        help
  30          Use this to permit overriding of certain environmental variables
  31          like Ethernet and Serial
  32
  33config ENV_IS_NOWHERE
  34        bool "Environment is not stored"
  35        default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
  36                     !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \
  37                     !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \
  38                     !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \
  39                     !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \
  40                     !ENV_IS_IN_UBI
  41        help
  42          Define this if you don't want to or can't have an environment stored
  43          on a storage medium. In this case the environment will still exist
  44          while U-Boot is running, but once U-Boot exits it will not be
  45          stored. U-Boot will therefore always start up with a default
  46          environment.
  47
  48config ENV_IS_IN_EEPROM
  49        bool "Environment in EEPROM"
  50        depends on !CHAIN_OF_TRUST
  51        help
  52          Use this if you have an EEPROM or similar serial access
  53          device and a driver for it.
  54
  55          - CONFIG_ENV_OFFSET:
  56          - CONFIG_ENV_SIZE:
  57
  58          These two #defines specify the offset and size of the
  59          environment area within the total memory of your EEPROM.
  60
  61          Note that we consider the length of the address field to
  62          still be one byte because the extra address bits are hidden
  63          in the chip address.
  64
  65          - CONFIG_I2C_ENV_EEPROM_BUS
  66          if you have an Environment on an EEPROM reached over
  67          I2C muxes, you can define here, how to reach this
  68          EEPROM. For example:
  69
  70          #define CONFIG_I2C_ENV_EEPROM_BUS       1
  71
  72          EEPROM which holds the environment, is reached over
  73          a pca9547 i2c mux with address 0x70, channel 3.
  74
  75config ENV_IS_IN_FAT
  76        bool "Environment is in a FAT filesystem"
  77        depends on !CHAIN_OF_TRUST
  78        default y if ARCH_BCM283X
  79        default y if ARCH_SUNXI && MMC
  80        default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
  81        select FS_FAT
  82        select FAT_WRITE
  83        help
  84          Define this if you want to use the FAT file system for the environment.
  85
  86config ENV_IS_IN_EXT4
  87        bool "Environment is in a EXT4 filesystem"
  88        depends on !CHAIN_OF_TRUST
  89        select FS_EXT4
  90        select EXT4_WRITE
  91        help
  92          Define this if you want to use the EXT4 file system for the environment.
  93
  94config ENV_IS_IN_FLASH
  95        bool "Environment in flash memory"
  96        depends on !CHAIN_OF_TRUST
  97        default y if ARCH_CINTEGRATOR
  98        default y if ARCH_INTEGRATOR_CP
  99        default y if M548x || M547x || M5282
 100        default y if MCF532x || MCF52x2
 101        default y if MPC86xx || MPC83xx
 102        default y if ARCH_MPC8548
 103        default y if SH && !CPU_SH4
 104        help
 105          Define this if you have a flash device which you want to use for the
 106          environment.
 107
 108          a) The environment occupies one whole flash sector, which is
 109           "embedded" in the text segment with the U-Boot code. This
 110           happens usually with "bottom boot sector" or "top boot
 111           sector" type flash chips, which have several smaller
 112           sectors at the start or the end. For instance, such a
 113           layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In
 114           such a case you would place the environment in one of the
 115           4 kB sectors - with U-Boot code before and after it. With
 116           "top boot sector" type flash chips, you would put the
 117           environment in one of the last sectors, leaving a gap
 118           between U-Boot and the environment.
 119
 120          CONFIG_ENV_OFFSET:
 121
 122           Offset of environment data (variable area) to the
 123           beginning of flash memory; for instance, with bottom boot
 124           type flash chips the second sector can be used: the offset
 125           for this sector is given here.
 126
 127           CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE.
 128
 129          CONFIG_ENV_ADDR:
 130
 131           This is just another way to specify the start address of
 132           the flash sector containing the environment (instead of
 133           CONFIG_ENV_OFFSET).
 134
 135          CONFIG_ENV_SECT_SIZE:
 136
 137           Size of the sector containing the environment.
 138
 139
 140          b) Sometimes flash chips have few, equal sized, BIG sectors.
 141           In such a case you don't want to spend a whole sector for
 142           the environment.
 143
 144          CONFIG_ENV_SIZE:
 145
 146           If you use this in combination with CONFIG_ENV_IS_IN_FLASH
 147           and CONFIG_ENV_SECT_SIZE, you can specify to use only a part
 148           of this flash sector for the environment. This saves
 149           memory for the RAM copy of the environment.
 150
 151           It may also save flash memory if you decide to use this
 152           when your environment is "embedded" within U-Boot code,
 153           since then the remainder of the flash sector could be used
 154           for U-Boot code. It should be pointed out that this is
 155           STRONGLY DISCOURAGED from a robustness point of view:
 156           updating the environment in flash makes it always
 157           necessary to erase the WHOLE sector. If something goes
 158           wrong before the contents has been restored from a copy in
 159           RAM, your target system will be dead.
 160
 161          CONFIG_ENV_ADDR_REDUND
 162
 163           These settings describe a second storage area used to hold
 164           a redundant copy of the environment data, so that there is
 165           a valid backup copy in case there is a power failure during
 166           a "saveenv" operation.
 167
 168          BE CAREFUL! Any changes to the flash layout, and some changes to the
 169          source code will make it necessary to adapt <board>/u-boot.lds*
 170          accordingly!
 171
 172config ENV_IS_IN_MMC
 173        bool "Environment in an MMC device"
 174        depends on !CHAIN_OF_TRUST
 175        depends on MMC
 176        default y if ARCH_EXYNOS4
 177        default y if MX6SX || MX7D
 178        default y if TEGRA30 || TEGRA124
 179        default y if TEGRA_ARMV8_COMMON
 180        help
 181          Define this if you have an MMC device which you want to use for the
 182          environment.
 183
 184          CONFIG_SYS_MMC_ENV_DEV:
 185
 186          Specifies which MMC device the environment is stored in.
 187
 188          CONFIG_SYS_MMC_ENV_PART (optional):
 189
 190          Specifies which MMC partition the environment is stored in. If not
 191          set, defaults to partition 0, the user area. Common values might be
 192          1 (first MMC boot partition), 2 (second MMC boot partition).
 193
 194          CONFIG_ENV_OFFSET:
 195          CONFIG_ENV_SIZE:
 196
 197          These two #defines specify the offset and size of the environment
 198          area within the specified MMC device.
 199
 200          If offset is positive (the usual case), it is treated as relative to
 201          the start of the MMC partition. If offset is negative, it is treated
 202          as relative to the end of the MMC partition. This can be useful if
 203          your board may be fitted with different MMC devices, which have
 204          different sizes for the MMC partitions, and you always want the
 205          environment placed at the very end of the partition, to leave the
 206          maximum possible space before it, to store other data.
 207
 208          These two values are in units of bytes, but must be aligned to an
 209          MMC sector boundary.
 210
 211          CONFIG_ENV_OFFSET_REDUND (optional):
 212
 213          Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
 214          hold a redundant copy of the environment data. This provides a
 215          valid backup copy in case the other copy is corrupted, e.g. due
 216          to a power failure during a "saveenv" operation.
 217
 218          This value may also be positive or negative; this is handled in the
 219          same way as CONFIG_ENV_OFFSET.
 220
 221          In case CONFIG_SYS_MMC_ENV_PART is 1 (i.e. environment in eMMC boot
 222          partition) then setting CONFIG_ENV_OFFSET_REDUND to the same value
 223          as CONFIG_ENV_OFFSET makes use of the second eMMC boot partition for
 224          the redundant environment copy.
 225
 226          This value is also in units of bytes, but must also be aligned to
 227          an MMC sector boundary.
 228
 229config ENV_IS_IN_NAND
 230        bool "Environment in a NAND device"
 231        depends on !CHAIN_OF_TRUST
 232        help
 233          Define this if you have a NAND device which you want to use for the
 234          environment.
 235
 236          - CONFIG_ENV_OFFSET:
 237          - CONFIG_ENV_SIZE:
 238
 239          These two #defines specify the offset and size of the environment
 240          area within the first NAND device.  CONFIG_ENV_OFFSET must be
 241          aligned to an erase block boundary.
 242
 243          - CONFIG_ENV_OFFSET_REDUND (optional):
 244
 245          This setting describes a second storage area of CONFIG_ENV_SIZE
 246          size used to hold a redundant copy of the environment data, so
 247          that there is a valid backup copy in case there is a power failure
 248          during a "saveenv" operation.  CONFIG_ENV_OFFSET_REDUND must be
 249          aligned to an erase block boundary.
 250
 251          - CONFIG_ENV_RANGE (optional):
 252
 253          Specifies the length of the region in which the environment
 254          can be written.  This should be a multiple of the NAND device's
 255          block size.  Specifying a range with more erase blocks than
 256          are needed to hold CONFIG_ENV_SIZE allows bad blocks within
 257          the range to be avoided.
 258
 259          - CONFIG_ENV_OFFSET_OOB (optional):
 260
 261          Enables support for dynamically retrieving the offset of the
 262          environment from block zero's out-of-band data.  The
 263          "nand env.oob" command can be used to record this offset.
 264          Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
 265          using CONFIG_ENV_OFFSET_OOB.
 266
 267config ENV_IS_IN_NVRAM
 268        bool "Environment in a non-volatile RAM"
 269        depends on !CHAIN_OF_TRUST
 270        help
 271          Define this if you have some non-volatile memory device
 272          (NVRAM, battery buffered SRAM) which you want to use for the
 273          environment.
 274
 275          - CONFIG_ENV_ADDR:
 276          - CONFIG_ENV_SIZE:
 277
 278          These two #defines are used to determine the memory area you
 279          want to use for environment. It is assumed that this memory
 280          can just be read and written to, without any special
 281          provision.
 282
 283config ENV_IS_IN_ONENAND
 284        bool "Environment is in OneNAND"
 285        depends on !CHAIN_OF_TRUST
 286        help
 287          Define this if you want to put your local device's environment in
 288          OneNAND.
 289
 290          - CONFIG_ENV_ADDR:
 291          - CONFIG_ENV_SIZE:
 292
 293          These two #defines are used to determine the device range you
 294          want to use for environment. It is assumed that this memory
 295          can just be read and written to, without any special
 296          provision.
 297
 298config ENV_IS_IN_REMOTE
 299        bool "Environment is in remote memory space"
 300        depends on !CHAIN_OF_TRUST
 301        help
 302          Define this if you have a remote memory space which you
 303          want to use for the local device's environment.
 304
 305          - CONFIG_ENV_ADDR:
 306          - CONFIG_ENV_SIZE:
 307
 308          These two #defines specify the address and size of the
 309          environment area within the remote memory space. The
 310          local device can get the environment from remote memory
 311          space by SRIO or PCIE links.
 312
 313config ENV_IS_IN_SPI_FLASH
 314        bool "Environment is in SPI flash"
 315        depends on !CHAIN_OF_TRUST && SPI
 316        default y if ARMADA_XP
 317        default y if INTEL_BAYTRAIL
 318        default y if INTEL_BRASWELL
 319        default y if INTEL_BROADWELL
 320        default y if NORTHBRIDGE_INTEL_IVYBRIDGE
 321        default y if INTEL_QUARK
 322        default y if INTEL_QUEENSBAY
 323        default y if ARCH_SUNXI
 324        help
 325          Define this if you have a SPI Flash memory device which you
 326          want to use for the environment.
 327
 328          - CONFIG_ENV_OFFSET:
 329          - CONFIG_ENV_SIZE:
 330
 331          These two #defines specify the offset and size of the
 332          environment area within the SPI Flash. CONFIG_ENV_OFFSET must be
 333          aligned to an erase sector boundary.
 334
 335          - CONFIG_ENV_SECT_SIZE:
 336
 337          Define the SPI flash's sector size.
 338
 339          - CONFIG_ENV_OFFSET_REDUND (optional):
 340
 341          This setting describes a second storage area of CONFIG_ENV_SIZE
 342          size used to hold a redundant copy of the environment data, so
 343          that there is a valid backup copy in case there is a power failure
 344          during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
 345          aligned to an erase sector boundary.
 346
 347config ENV_SECT_SIZE_AUTO
 348        bool "Use automatically detected sector size"
 349        depends on ENV_IS_IN_SPI_FLASH
 350        help
 351          Some boards exist in multiple variants, with different
 352          flashes having different sector sizes. In such cases, you
 353          can select this option to make U-Boot use the actual sector
 354          size when figuring out how much to erase, which can thus be
 355          more efficient on the flashes with smaller erase size. Since
 356          the environment must always be aligned on a sector boundary,
 357          CONFIG_ENV_OFFSET must be aligned to the largest of the
 358          different sector sizes, and CONFIG_ENV_SECT_SIZE should be
 359          set to that value.
 360
 361config ENV_SPI_BUS
 362        int "Value of SPI flash bus for environment"
 363        depends on ENV_IS_IN_SPI_FLASH
 364        default SF_DEFAULT_BUS
 365        help
 366          Value the SPI bus and chip select for environment.
 367
 368config ENV_SPI_CS
 369        int "Value of SPI flash chip select for environment"
 370        depends on ENV_IS_IN_SPI_FLASH
 371        default SF_DEFAULT_CS
 372        help
 373          Value of the SPI chip select for environment.
 374
 375config ENV_SPI_MAX_HZ
 376        int "Value of SPI flash max frequency for environment"
 377        depends on ENV_IS_IN_SPI_FLASH
 378        default SF_DEFAULT_SPEED
 379        help
 380          Value of the SPI max work clock for environment.
 381
 382config ENV_SPI_MODE
 383        hex "Value of SPI flash work mode for environment"
 384        depends on ENV_IS_IN_SPI_FLASH
 385        default SF_DEFAULT_MODE
 386        help
 387          Value of the SPI work mode for environment.
 388          See include/spi.h for value.
 389
 390config ENV_SPI_EARLY
 391        bool "Access Environment in SPI flashes before relocation"
 392        depends on ENV_IS_IN_SPI_FLASH
 393        help
 394          Enable this if you want to use Environment in SPI flash
 395          before relocation. Call env_init() and than you can use
 396          env_get_f() for accessing Environment variables.
 397
 398config ENV_IS_IN_UBI
 399        bool "Environment in a UBI volume"
 400        depends on !CHAIN_OF_TRUST
 401        depends on MTD_UBI
 402        depends on CMD_UBI
 403        help
 404          Define this if you have an UBI volume that you want to use for the
 405          environment.  This has the benefit of wear-leveling the environment
 406          accesses, which is important on NAND.
 407
 408          - CONFIG_ENV_UBI_PART:
 409
 410          Define this to a string that is the mtd partition containing the UBI.
 411
 412          - CONFIG_ENV_UBI_VOLUME:
 413
 414          Define this to the name of the volume that you want to store the
 415          environment in.
 416
 417          - CONFIG_ENV_UBI_VOLUME_REDUND:
 418
 419          Define this to the name of another volume to store a second copy of
 420          the environment in.  This will enable redundant environments in UBI.
 421          It is assumed that both volumes are in the same MTD partition.
 422
 423config SYS_REDUNDAND_ENVIRONMENT
 424        bool "Enable redundant environment support"
 425        help
 426          Normally, the environemt is stored in a single location.  By
 427          selecting this option, you can then define where to hold a redundant
 428          copy of the environment data, so that there is a valid backup copy in
 429          case there is a power failure during a "saveenv" operation.
 430          Also this config changes the binary environment structure handling
 431          which is used by env import/export commands which are independent of
 432          storing variables to redundant location on a non volatile device.
 433
 434config ENV_FAT_INTERFACE
 435        string "Name of the block device for the environment"
 436        depends on ENV_IS_IN_FAT
 437        default "mmc"
 438        help
 439          Define this to a string that is the name of the block device.
 440
 441config ENV_FAT_DEVICE_AND_PART
 442        string "Device and partition for where to store the environemt in FAT"
 443        depends on ENV_IS_IN_FAT
 444        default "0:1" if TI_COMMON_CMD_OPTIONS
 445        default "0:auto" if ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
 446        default ":auto" if ARCH_SUNXI
 447        default "0" if ARCH_AT91
 448        help
 449          Define this to a string to specify the partition of the device. It can
 450          be as following:
 451
 452            "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
 453               - "D:P": device D partition P. Error occurs if device D has no
 454                        partition table.
 455               - "D:0": device D.
 456               - "D" or "D:": device D partition 1 if device D has partition
 457                              table, or the whole device D if has no partition
 458                              table.
 459               - "D:auto": first partition in device D with bootable flag set.
 460                           If none, first valid partition in device D. If no
 461                           partition table then means device D.
 462
 463          If ENV_FAT_INTERFACE is set to "mmc" then device 'D' can be omitted,
 464          leaving the string starting with a colon, and the boot device will
 465          be used.
 466
 467config ENV_FAT_FILE
 468        string "Name of the FAT file to use for the environment"
 469        depends on ENV_IS_IN_FAT
 470        default "uboot.env"
 471        help
 472          It's a string of the FAT file name. This file use to store the
 473          environment.
 474
 475config ENV_FAT_FILE_REDUND
 476        string "Name of the FAT file to use for the environment"
 477        depends on ENV_IS_IN_FAT && SYS_REDUNDAND_ENVIRONMENT
 478        default "uboot-redund.env"
 479        help
 480          It's a string of the FAT file name. This file use to store the
 481          redundant environment.
 482
 483config ENV_EXT4_INTERFACE
 484        string "Name of the block device for the environment"
 485        depends on ENV_IS_IN_EXT4
 486        help
 487          Define this to a string that is the name of the block device.
 488
 489config ENV_EXT4_DEVICE_AND_PART
 490        string "Device and partition for where to store the environemt in EXT4"
 491        depends on ENV_IS_IN_EXT4
 492        help
 493          Define this to a string to specify the partition of the device. It can
 494          be as following:
 495
 496            "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
 497               - "D:P": device D partition P. Error occurs if device D has no
 498                        partition table.
 499               - "D:0": device D.
 500               - "D" or "D:": device D partition 1 if device D has partition
 501                              table, or the whole device D if has no partition
 502                              table.
 503               - "D:auto": first partition in device D with bootable flag set.
 504                           If none, first valid partition in device D. If no
 505                           partition table then means device D.
 506
 507          If ENV_EXT4_INTERFACE is set to "mmc" then device 'D' can be omitted,
 508          leaving the string starting with a colon, and the boot device will
 509          be used.
 510
 511config ENV_EXT4_FILE
 512        string "Name of the EXT4 file to use for the environment"
 513        depends on ENV_IS_IN_EXT4
 514        default "/uboot.env"
 515        help
 516          It's a string of the EXT4 file name. This file use to store the
 517          environment (explicit path to the file)
 518
 519config ENV_ADDR
 520        hex "Environment address"
 521        depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
 522                     ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
 523        default 0x0 if ENV_IS_IN_SPI_FLASH
 524        help
 525          Offset from the start of the device (or partition)
 526
 527config ENV_ADDR_REDUND
 528        hex "Redundant environment address"
 529        depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
 530        help
 531          Offset from the start of the device (or partition) of the redundant
 532          environment location.
 533
 534config ENV_OFFSET
 535        hex "Environment offset"
 536        depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
 537                    ENV_IS_IN_SPI_FLASH
 538        default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
 539        default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
 540        default 0xF0000 if ARCH_SUNXI
 541        default 0xE0000 if ARCH_ZYNQ
 542        default 0x1E00000 if ARCH_ZYNQMP
 543        default 0x7F40000 if ARCH_VERSAL
 544        default 0 if ARC
 545        default 0x140000 if ARCH_AT91
 546        default 0x260000 if ARCH_OMAP2PLUS
 547        default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
 548        help
 549          Offset from the start of the device (or partition)
 550
 551config ENV_OFFSET_REDUND
 552        hex "Redundant environment offset"
 553        depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
 554                    ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
 555        default 0
 556        help
 557          Offset from the start of the device (or partition) of the redundant
 558          environment location.
 559
 560config ENV_SIZE
 561        hex "Environment Size"
 562        default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
 563        default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
 564        default 0x10000 if ARCH_SUNXI
 565        default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
 566        default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
 567        default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL
 568        default 0x4000 if ARC
 569        default 0x1f000
 570        help
 571          Size of the environment storage area
 572
 573config ENV_SECT_SIZE
 574        hex "Environment Sector-Size"
 575        depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
 576        default 0x2000 if ARCH_ROCKCHIP
 577        default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL
 578        default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
 579        default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
 580        default 0x10000 if ARCH_SUNXI && ENV_IS_IN_SPI_FLASH
 581        help
 582          Size of the sector containing the environment.
 583
 584config ENV_UBI_PART
 585        string "UBI partition name"
 586        depends on ENV_IS_IN_UBI
 587        help
 588          MTD partition containing the UBI device
 589
 590config ENV_UBI_VOLUME
 591        string "UBI volume name"
 592        depends on ENV_IS_IN_UBI
 593        help
 594          Name of the volume that you want to store the environment in.
 595
 596config ENV_UBI_VOLUME_REDUND
 597        string "UBI redundant volume name"
 598        depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
 599        help
 600          Name of the redundant volume that you want to store the environment in.
 601
 602config ENV_UBI_VID_OFFSET
 603        int "ubi environment VID offset"
 604        depends on ENV_IS_IN_UBI
 605        default 0
 606        help
 607          UBI VID offset for environment. If 0, no custom VID offset is used.
 608
 609config SYS_RELOC_GD_ENV_ADDR
 610        bool "Relocate gd->env_addr"
 611        help
 612          Relocate the early env_addr pointer so we know it is not inside
 613          the binary. Some systems need this and for the rest, it doesn't hurt.
 614
 615config SYS_MMC_ENV_DEV
 616        int "mmc device number"
 617        depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT || SYS_LS_PPA_FW_IN_MMC || \
 618                CMD_MVEBU_BUBT || FMAN_ENET || QE || PHY_CORTINA
 619        default 0
 620        help
 621          MMC device number on the platform where the environment is stored.
 622
 623config SYS_MMC_ENV_PART
 624        int "mmc partition number"
 625        depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT
 626        default 0
 627        help
 628          MMC hardware partition device number on the platform where the
 629          environment is stored.  Note that this is not related to any software
 630          defined partition table but instead if we are in the user area, which is
 631          partition 0 or the first boot partition, which is 1 or some other defined
 632          partition.
 633
 634config USE_DEFAULT_ENV_FILE
 635        bool "Create default environment from file"
 636        help
 637          Normally, the default environment is automatically generated
 638          based on the settings of various CONFIG_* options, as well
 639          as the CONFIG_EXTRA_ENV_SETTINGS. By selecting this option,
 640          you can instead define the entire default environment in an
 641          external file.
 642
 643config DEFAULT_ENV_FILE
 644        string "Path to default environment file"
 645        depends on USE_DEFAULT_ENV_FILE
 646        help
 647          The path containing the default environment. The format is
 648          the same as accepted by the mkenvimage tool: lines
 649          containing key=value pairs, blank lines and lines beginning
 650          with # are ignored.
 651
 652config ENV_VARS_UBOOT_RUNTIME_CONFIG
 653        bool "Add run-time information to the environment"
 654        help
 655          Enable this in order to add variables describing certain
 656          run-time determined information about the hardware to the
 657          environment.  These will be named board_name, board_rev.
 658
 659config DELAY_ENVIRONMENT
 660        bool "Delay environment loading"
 661        depends on !OF_CONTROL
 662        help
 663          Enable this to inhibit loading the environment during board
 664          initialization. This can address the security risk of untrusted data
 665          being used during boot. Normally the environment is loaded when the
 666          board is initialised so that it is available to U-Boot. This inhibits
 667          that so that the environment is not available until explicitly loaded
 668          later by U-Boot code. With CONFIG_OF_CONTROL this is instead
 669          controlled by the value of /config/load-environment.
 670
 671config ENV_IMPORT_FDT
 672        bool "Amend environment by FDT properties"
 673        depends on OF_CONTROL
 674        help
 675          If selected, after the environment has been loaded from its
 676          persistent location, the "env_fdt_path" variable is looked
 677          up and used as a path to a node in the control DTB. The
 678          property/value pairs in that node is then used to update the
 679          run-time environment. This can be useful to use the same
 680          U-Boot binary with different board variants.
 681
 682config ENV_FDT_PATH
 683        string "Default value for env_fdt_path variable"
 684        depends on ENV_IMPORT_FDT
 685        default "/config/environment"
 686        help
 687          The initial value of the env_fdt_path variable.
 688
 689config ENV_APPEND
 690        bool "Always append the environment with new data"
 691        help
 692          If defined, the environment hash table is only ever appended with new
 693          data, but the existing hash table can never be dropped and reloaded
 694          with newly imported data. This may be used in combination with static
 695          flags to e.g. to protect variables which must not be modified.
 696
 697config ENV_WRITEABLE_LIST
 698        bool "Permit write access only to listed variables"
 699        help
 700          If defined, only environment variables which explicitly set the 'w'
 701          writeable flag can be written and modified at runtime. No variables
 702          can be otherwise created, written or imported into the environment.
 703
 704config ENV_ACCESS_IGNORE_FORCE
 705        bool "Block forced environment operations"
 706        help
 707          If defined, don't allow the -f switch to env set override variable
 708          access flags.
 709
 710if SPL_ENV_SUPPORT
 711config SPL_ENV_IS_NOWHERE
 712        bool "SPL Environment is not stored"
 713        default y if ENV_IS_NOWHERE
 714        help
 715          Similar to ENV_IS_NOWHERE, used for SPL environment.
 716
 717config SPL_ENV_IS_IN_MMC
 718        bool "SPL Environment in an MMC device"
 719        depends on !SPL_ENV_IS_NOWHERE
 720        depends on ENV_IS_IN_MMC
 721        default y
 722        help
 723          Similar to ENV_IS_IN_MMC, used for SPL environment.
 724
 725config SPL_ENV_IS_IN_FAT
 726        bool "SPL Environment is in a FAT filesystem"
 727        depends on !SPL_ENV_IS_NOWHERE
 728        depends on ENV_IS_IN_FAT
 729        default y
 730        help
 731          Similar to ENV_IS_IN_FAT, used for SPL environment.
 732
 733config SPL_ENV_IS_IN_EXT4
 734        bool "SPL Environment is in a EXT4 filesystem"
 735        depends on !SPL_ENV_IS_NOWHERE
 736        depends on ENV_IS_IN_EXT4
 737        default y
 738        help
 739          Similar to ENV_IS_IN_EXT4, used for SPL environment.
 740
 741config SPL_ENV_IS_IN_NAND
 742        bool "SPL Environment in a NAND device"
 743        depends on !SPL_ENV_IS_NOWHERE
 744        depends on ENV_IS_IN_NAND
 745        default y
 746        help
 747          Similar to ENV_IS_IN_NAND, used for SPL environment.
 748
 749config SPL_ENV_IS_IN_SPI_FLASH
 750        bool "SPL Environment is in SPI flash"
 751        depends on !SPL_ENV_IS_NOWHERE
 752        depends on ENV_IS_IN_SPI_FLASH
 753        default y
 754        help
 755          Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
 756
 757config SPL_ENV_IS_IN_FLASH
 758        bool "SPL Environment in flash memory"
 759        depends on !SPL_ENV_IS_NOWHERE
 760        depends on ENV_IS_IN_FLASH
 761        default y
 762        help
 763          Similar to ENV_IS_IN_FLASH, used for SPL environment.
 764
 765endif
 766
 767if TPL_ENV_SUPPORT
 768
 769config TPL_ENV_IS_NOWHERE
 770        bool "TPL Environment is not stored"
 771        default y if ENV_IS_NOWHERE
 772        help
 773          Similar to ENV_IS_NOWHERE, used for TPL environment.
 774
 775config TPL_ENV_IS_IN_MMC
 776        bool "TPL Environment in an MMC device"
 777        depends on !TPL_ENV_IS_NOWHERE
 778        depends on ENV_IS_IN_MMC
 779        default y
 780        help
 781          Similar to ENV_IS_IN_MMC, used for TPL environment.
 782
 783config TPL_ENV_IS_IN_FAT
 784        bool "TPL Environment is in a FAT filesystem"
 785        depends on !TPL_ENV_IS_NOWHERE
 786        depends on ENV_IS_IN_FAT
 787        default y
 788        help
 789          Similar to ENV_IS_IN_FAT, used for TPL environment.
 790
 791config TPL_ENV_IS_IN_EXT4
 792        bool "TPL Environment is in a EXT4 filesystem"
 793        depends on !TPL_ENV_IS_NOWHERE
 794        depends on ENV_IS_IN_EXT4
 795        default y
 796        help
 797          Similar to ENV_IS_IN_EXT4, used for TPL environment.
 798
 799config TPL_ENV_IS_IN_NAND
 800        bool "TPL Environment in a NAND device"
 801        depends on !TPL_ENV_IS_NOWHERE
 802        depends on ENV_IS_IN_NAND
 803        default y
 804        help
 805          Similar to ENV_IS_IN_NAND, used for TPL environment.
 806
 807config TPL_ENV_IS_IN_SPI_FLASH
 808        bool "TPL Environment is in SPI flash"
 809        depends on !TPL_ENV_IS_NOWHERE
 810        depends on ENV_IS_IN_SPI_FLASH
 811        default y
 812        help
 813          Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
 814
 815config TPL_ENV_IS_IN_FLASH
 816        bool "TPL Environment in flash memory"
 817        depends on !TPL_ENV_IS_NOWHERE
 818        depends on ENV_IS_IN_FLASH
 819        default y
 820        help
 821          Similar to ENV_IS_IN_FLASH, used for TPL environment.
 822
 823endif
 824
 825config VERSION_VARIABLE
 826        bool "Add a 'ver' environment variable with the U-Boot version"
 827        help
 828          If this variable is defined, an environment variable
 829          named "ver" is created by U-Boot showing the U-Boot
 830          version as printed by the "version" command.
 831          Any change to this variable will be reverted at the
 832          next reset.
 833
 834endmenu
 835