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