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