1menu "Environment" 2 3config ENV_IS_NOWHERE 4 bool "Environment is not stored" 5 depends on !ENV_IS_IN_EEPROM 6 depends on !ENV_IS_IN_FAT 7 depends on !ENV_IS_IN_FLASH 8 depends on !ENV_IS_IN_MMC 9 depends on !ENV_IS_IN_NAND 10 depends on !ENV_IS_IN_NVRAM 11 depends on !ENV_IS_IN_ONENAND 12 depends on !ENV_IS_IN_REMOTE 13 depends on !ENV_IS_IN_SPI_FLASH 14 depends on !ENV_IS_IN_UBI 15 default y 16 help 17 Define this if you don't want to or can't have an environment stored 18 on a storage medium. In this case the environemnt will still exist 19 while U-Boot is running, but once U-Boot exits it will not be 20 stored. U-Boot will therefore always start up with a default 21 environment. 22 23config ENV_IS_IN_EEPROM 24 bool "Environment in EEPROM" 25 depends on !CHAIN_OF_TRUST 26 help 27 Use this if you have an EEPROM or similar serial access 28 device and a driver for it. 29 30 - CONFIG_ENV_OFFSET: 31 - CONFIG_ENV_SIZE: 32 33 These two #defines specify the offset and size of the 34 environment area within the total memory of your EEPROM. 35 36 Note that we consider the length of the address field to 37 still be one byte because the extra address bits are hidden 38 in the chip address. 39 40 - CONFIG_ENV_EEPROM_IS_ON_I2C 41 define this, if you have I2C and SPI activated, and your 42 EEPROM, which holds the environment, is on the I2C bus. 43 44 - CONFIG_I2C_ENV_EEPROM_BUS 45 if you have an Environment on an EEPROM reached over 46 I2C muxes, you can define here, how to reach this 47 EEPROM. For example: 48 49 #define CONFIG_I2C_ENV_EEPROM_BUS 1 50 51 EEPROM which holds the environment, is reached over 52 a pca9547 i2c mux with address 0x70, channel 3. 53 54config ENV_IS_IN_FAT 55 bool "Environment is in a FAT filesystem" 56 depends on !CHAIN_OF_TRUST 57 default y if ARCH_BCM283X 58 default y if ARCH_SUNXI && MMC 59 default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS 60 select FS_FAT 61 select FAT_WRITE 62 help 63 Define this if you want to use the FAT file system for the environment. 64 65config ENV_IS_IN_EXT4 66 bool "Environment is in a EXT4 filesystem" 67 depends on !CHAIN_OF_TRUST 68 select EXT4_WRITE 69 help 70 Define this if you want to use the EXT4 file system for the environment. 71 72config ENV_IS_IN_FLASH 73 bool "Environment in flash memory" 74 depends on !CHAIN_OF_TRUST 75 default y if ARCH_CINTEGRATOR 76 default y if ARCH_INTEGRATOR_CP 77 default y if M548x || M547x || M5282 || MCF547x_8x 78 default y if MCF532x || MCF52x2 79 default y if MPC86xx || MPC83xx 80 default y if ARCH_MPC8572 || ARCH_MPC8548 || ARCH_MPC8641 81 default y if SH && !CPU_SH4 82 help 83 Define this if you have a flash device which you want to use for the 84 environment. 85 86 a) The environment occupies one whole flash sector, which is 87 "embedded" in the text segment with the U-Boot code. This 88 happens usually with "bottom boot sector" or "top boot 89 sector" type flash chips, which have several smaller 90 sectors at the start or the end. For instance, such a 91 layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In 92 such a case you would place the environment in one of the 93 4 kB sectors - with U-Boot code before and after it. With 94 "top boot sector" type flash chips, you would put the 95 environment in one of the last sectors, leaving a gap 96 between U-Boot and the environment. 97 98 CONFIG_ENV_OFFSET: 99 100 Offset of environment data (variable area) to the 101 beginning of flash memory; for instance, with bottom boot 102 type flash chips the second sector can be used: the offset 103 for this sector is given here. 104 105 CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE. 106 107 CONFIG_ENV_ADDR: 108 109 This is just another way to specify the start address of 110 the flash sector containing the environment (instead of 111 CONFIG_ENV_OFFSET). 112 113 CONFIG_ENV_SECT_SIZE: 114 115 Size of the sector containing the environment. 116 117 118 b) Sometimes flash chips have few, equal sized, BIG sectors. 119 In such a case you don't want to spend a whole sector for 120 the environment. 121 122 CONFIG_ENV_SIZE: 123 124 If you use this in combination with CONFIG_ENV_IS_IN_FLASH 125 and CONFIG_ENV_SECT_SIZE, you can specify to use only a part 126 of this flash sector for the environment. This saves 127 memory for the RAM copy of the environment. 128 129 It may also save flash memory if you decide to use this 130 when your environment is "embedded" within U-Boot code, 131 since then the remainder of the flash sector could be used 132 for U-Boot code. It should be pointed out that this is 133 STRONGLY DISCOURAGED from a robustness point of view: 134 updating the environment in flash makes it always 135 necessary to erase the WHOLE sector. If something goes 136 wrong before the contents has been restored from a copy in 137 RAM, your target system will be dead. 138 139 CONFIG_ENV_ADDR_REDUND 140 CONFIG_ENV_SIZE_REDUND 141 142 These settings describe a second storage area used to hold 143 a redundant copy of the environment data, so that there is 144 a valid backup copy in case there is a power failure during 145 a "saveenv" operation. 146 147 BE CAREFUL! Any changes to the flash layout, and some changes to the 148 source code will make it necessary to adapt <board>/u-boot.lds* 149 accordingly! 150 151config ENV_IS_IN_MMC 152 bool "Environment in an MMC device" 153 depends on !CHAIN_OF_TRUST 154 depends on MMC 155 default y if ARCH_EXYNOS4 156 default y if MX6SX || MX7D 157 default y if TEGRA30 || TEGRA124 158 default y if TEGRA_ARMV8_COMMON 159 help 160 Define this if you have an MMC device which you want to use for the 161 environment. 162 163 CONFIG_SYS_MMC_ENV_DEV: 164 165 Specifies which MMC device the environment is stored in. 166 167 CONFIG_SYS_MMC_ENV_PART (optional): 168 169 Specifies which MMC partition the environment is stored in. If not 170 set, defaults to partition 0, the user area. Common values might be 171 1 (first MMC boot partition), 2 (second MMC boot partition). 172 173 CONFIG_ENV_OFFSET: 174 CONFIG_ENV_SIZE: 175 176 These two #defines specify the offset and size of the environment 177 area within the specified MMC device. 178 179 If offset is positive (the usual case), it is treated as relative to 180 the start of the MMC partition. If offset is negative, it is treated 181 as relative to the end of the MMC partition. This can be useful if 182 your board may be fitted with different MMC devices, which have 183 different sizes for the MMC partitions, and you always want the 184 environment placed at the very end of the partition, to leave the 185 maximum possible space before it, to store other data. 186 187 These two values are in units of bytes, but must be aligned to an 188 MMC sector boundary. 189 190 CONFIG_ENV_OFFSET_REDUND (optional): 191 192 Specifies a second storage area, of CONFIG_ENV_SIZE size, used to 193 hold a redundant copy of the environment data. This provides a 194 valid backup copy in case the other copy is corrupted, e.g. due 195 to a power failure during a "saveenv" operation. 196 197 This value may also be positive or negative; this is handled in the 198 same way as CONFIG_ENV_OFFSET. 199 200 This value is also in units of bytes, but must also be aligned to 201 an MMC sector boundary. 202 203 CONFIG_ENV_SIZE_REDUND (optional): 204 205 This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is 206 set. If this value is set, it must be set to the same value as 207 CONFIG_ENV_SIZE. 208 209config ENV_IS_IN_NAND 210 bool "Environment in a NAND device" 211 depends on !CHAIN_OF_TRUST 212 help 213 Define this if you have a NAND device which you want to use for the 214 environment. 215 216 - CONFIG_ENV_OFFSET: 217 - CONFIG_ENV_SIZE: 218 219 These two #defines specify the offset and size of the environment 220 area within the first NAND device. CONFIG_ENV_OFFSET must be 221 aligned to an erase block boundary. 222 223 - CONFIG_ENV_OFFSET_REDUND (optional): 224 225 This setting describes a second storage area of CONFIG_ENV_SIZE 226 size used to hold a redundant copy of the environment data, so 227 that there is a valid backup copy in case there is a power failure 228 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be 229 aligned to an erase block boundary. 230 231 - CONFIG_ENV_RANGE (optional): 232 233 Specifies the length of the region in which the environment 234 can be written. This should be a multiple of the NAND device's 235 block size. Specifying a range with more erase blocks than 236 are needed to hold CONFIG_ENV_SIZE allows bad blocks within 237 the range to be avoided. 238 239 - CONFIG_ENV_OFFSET_OOB (optional): 240 241 Enables support for dynamically retrieving the offset of the 242 environment from block zero's out-of-band data. The 243 "nand env.oob" command can be used to record this offset. 244 Currently, CONFIG_ENV_OFFSET_REDUND is not supported when 245 using CONFIG_ENV_OFFSET_OOB. 246 247config ENV_IS_IN_NVRAM 248 bool "Environment in a non-volatile RAM" 249 depends on !CHAIN_OF_TRUST 250 help 251 Define this if you have some non-volatile memory device 252 (NVRAM, battery buffered SRAM) which you want to use for the 253 environment. 254 255 - CONFIG_ENV_ADDR: 256 - CONFIG_ENV_SIZE: 257 258 These two #defines are used to determine the memory area you 259 want to use for environment. It is assumed that this memory 260 can just be read and written to, without any special 261 provision. 262 263config ENV_IS_IN_ONENAND 264 bool "Environment is in OneNAND" 265 depends on !CHAIN_OF_TRUST 266 help 267 Define this if you want to put your local device's environment in 268 OneNAND. 269 270 - CONFIG_ENV_ADDR: 271 - CONFIG_ENV_SIZE: 272 273 These two #defines are used to determine the device range you 274 want to use for environment. It is assumed that this memory 275 can just be read and written to, without any special 276 provision. 277 278config ENV_IS_IN_REMOTE 279 bool "Environment is in remove memory space" 280 depends on !CHAIN_OF_TRUST 281 help 282 Define this if you have a remote memory space which you 283 want to use for the local device's environment. 284 285 - CONFIG_ENV_ADDR: 286 - CONFIG_ENV_SIZE: 287 288 These two #defines specify the address and size of the 289 environment area within the remote memory space. The 290 local device can get the environment from remote memory 291 space by SRIO or PCIE links. 292 293config ENV_IS_IN_SPI_FLASH 294 bool "Environment is in SPI flash" 295 depends on !CHAIN_OF_TRUST 296 default y if ARMADA_XP 297 default y if INTEL_BAYTRAIL 298 default y if INTEL_BRASWELL 299 default y if INTEL_BROADWELL 300 default y if NORTHBRIDGE_INTEL_IVYBRIDGE 301 default y if INTEL_QUARK 302 default y if INTEL_QUEENSBAY 303 help 304 Define this if you have a SPI Flash memory device which you 305 want to use for the environment. 306 307 - CONFIG_ENV_OFFSET: 308 - CONFIG_ENV_SIZE: 309 310 These two #defines specify the offset and size of the 311 environment area within the SPI Flash. CONFIG_ENV_OFFSET must be 312 aligned to an erase sector boundary. 313 314 - CONFIG_ENV_SECT_SIZE: 315 316 Define the SPI flash's sector size. 317 318 - CONFIG_ENV_OFFSET_REDUND (optional): 319 320 This setting describes a second storage area of CONFIG_ENV_SIZE 321 size used to hold a redundant copy of the environment data, so 322 that there is a valid backup copy in case there is a power failure 323 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be 324 aligned to an erase sector boundary. 325 326 - CONFIG_ENV_SPI_BUS (optional): 327 - CONFIG_ENV_SPI_CS (optional): 328 329 Define the SPI bus and chip select. If not defined they will be 0. 330 331 - CONFIG_ENV_SPI_MAX_HZ (optional): 332 333 Define the SPI max work clock. If not defined then use 1MHz. 334 335 - CONFIG_ENV_SPI_MODE (optional): 336 337 Define the SPI work mode. If not defined then use SPI_MODE_3. 338 339config ENV_IS_IN_UBI 340 bool "Environment in a UBI volume" 341 depends on !CHAIN_OF_TRUST 342 help 343 Define this if you have an UBI volume that you want to use for the 344 environment. This has the benefit of wear-leveling the environment 345 accesses, which is important on NAND. 346 347 - CONFIG_ENV_UBI_PART: 348 349 Define this to a string that is the mtd partition containing the UBI. 350 351 - CONFIG_ENV_UBI_VOLUME: 352 353 Define this to the name of the volume that you want to store the 354 environment in. 355 356 - CONFIG_ENV_UBI_VOLUME_REDUND: 357 358 Define this to the name of another volume to store a second copy of 359 the environment in. This will enable redundant environments in UBI. 360 It is assumed that both volumes are in the same MTD partition. 361 362config ENV_FAT_INTERFACE 363 string "Name of the block device for the environment" 364 depends on ENV_IS_IN_FAT 365 default "mmc" if ARCH_SUNXI 366 default "mmc" if TI_COMMON_CMD_OPTIONS || ARCH_ZYNQMP || ARCH_AT91 367 help 368 Define this to a string that is the name of the block device. 369 370config ENV_FAT_DEVICE_AND_PART 371 string "Device and partition for where to store the environemt in FAT" 372 depends on ENV_IS_IN_FAT 373 default "0:1" if TI_COMMON_CMD_OPTIONS 374 default "0:auto" if ARCH_ZYNQMP 375 default "0:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA = -1 376 default "1:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA != -1 377 default "0" if ARCH_AT91 378 help 379 Define this to a string to specify the partition of the device. It can 380 be as following: 381 382 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1) 383 - "D:P": device D partition P. Error occurs if device D has no 384 partition table. 385 - "D:0": device D. 386 - "D" or "D:": device D partition 1 if device D has partition 387 table, or the whole device D if has no partition 388 table. 389 - "D:auto": first partition in device D with bootable flag set. 390 If none, first valid partition in device D. If no 391 partition table then means device D. 392 393config ENV_FAT_FILE 394 string "Name of the FAT file to use for the environemnt" 395 depends on ENV_IS_IN_FAT 396 default "uboot.env" 397 help 398 It's a string of the FAT file name. This file use to store the 399 environment. 400 401config ENV_EXT4_INTERFACE 402 string "Name of the block device for the environment" 403 depends on ENV_IS_IN_EXT4 404 help 405 Define this to a string that is the name of the block device. 406 407config ENV_EXT4_DEVICE_AND_PART 408 string "Device and partition for where to store the environemt in EXT4" 409 depends on ENV_IS_IN_EXT4 410 help 411 Define this to a string to specify the partition of the device. It can 412 be as following: 413 414 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1) 415 - "D:P": device D partition P. Error occurs if device D has no 416 partition table. 417 - "D:0": device D. 418 - "D" or "D:": device D partition 1 if device D has partition 419 table, or the whole device D if has no partition 420 table. 421 - "D:auto": first partition in device D with bootable flag set. 422 If none, first valid partition in device D. If no 423 partition table then means device D. 424 425config ENV_EXT4_FILE 426 string "Name of the EXT4 file to use for the environemnt" 427 depends on ENV_IS_IN_EXT4 428 default "uboot.env" 429 help 430 It's a string of the EXT4 file name. This file use to store the 431 environment (explicit path to the file) 432 433if ARCH_SUNXI 434 435config ENV_OFFSET 436 hex "Environment Offset" 437 depends on !ENV_IS_IN_UBI 438 depends on !ENV_IS_NOWHERE 439 default 0x88000 if ARCH_SUNXI 440 help 441 Offset from the start of the device (or partition) 442 443config ENV_SIZE 444 hex "Environment Size" 445 depends on !ENV_IS_NOWHERE 446 default 0x20000 if ARCH_SUNXI 447 help 448 Size of the environment storage area 449 450config ENV_UBI_PART 451 string "UBI partition name" 452 depends on ENV_IS_IN_UBI 453 help 454 MTD partition containing the UBI device 455 456config ENV_UBI_VOLUME 457 string "UBI volume name" 458 depends on ENV_IS_IN_UBI 459 help 460 Name of the volume that you want to store the environment in. 461 462endif 463 464if ARCH_ROCKCHIP 465 466config ENV_OFFSET 467 hex 468 depends on !ENV_IS_IN_UBI 469 depends on !ENV_IS_NOWHERE 470 default 0x3f8000 471 help 472 Offset from the start of the device (or partition) 473 474config ENV_SIZE 475 hex 476 default 0x8000 477 help 478 Size of the environment storage area 479 480endif 481 482endmenu 483