4 bool "Environment is not stored"
5 default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
6 !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \
7 !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \
8 !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \
9 !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \
12 Define this if you don't want to or can't have an environment stored
13 on a storage medium. In this case the environment will still exist
14 while U-Boot is running, but once U-Boot exits it will not be
15 stored. U-Boot will therefore always start up with a default
18 config ENV_IS_IN_EEPROM
19 bool "Environment in EEPROM"
20 depends on !CHAIN_OF_TRUST
22 Use this if you have an EEPROM or similar serial access
23 device and a driver for it.
28 These two #defines specify the offset and size of the
29 environment area within the total memory of your EEPROM.
31 Note that we consider the length of the address field to
32 still be one byte because the extra address bits are hidden
35 - CONFIG_ENV_EEPROM_IS_ON_I2C
36 define this, if you have I2C and SPI activated, and your
37 EEPROM, which holds the environment, is on the I2C bus.
39 - CONFIG_I2C_ENV_EEPROM_BUS
40 if you have an Environment on an EEPROM reached over
41 I2C muxes, you can define here, how to reach this
44 #define CONFIG_I2C_ENV_EEPROM_BUS 1
46 EEPROM which holds the environment, is reached over
47 a pca9547 i2c mux with address 0x70, channel 3.
50 bool "Environment is in a FAT filesystem"
51 depends on !CHAIN_OF_TRUST
52 default y if ARCH_BCM283X
53 default y if ARCH_SUNXI && MMC
54 default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
58 Define this if you want to use the FAT file system for the environment.
61 bool "Environment is in a EXT4 filesystem"
62 depends on !CHAIN_OF_TRUST
65 Define this if you want to use the EXT4 file system for the environment.
67 config ENV_IS_IN_FLASH
68 bool "Environment in flash memory"
69 depends on !CHAIN_OF_TRUST
70 default y if ARCH_CINTEGRATOR
71 default y if ARCH_INTEGRATOR_CP
72 default y if M548x || M547x || M5282 || MCF547x_8x
73 default y if MCF532x || MCF52x2
74 default y if MPC86xx || MPC83xx
75 default y if ARCH_MPC8572 || ARCH_MPC8548 || ARCH_MPC8641
76 default y if SH && !CPU_SH4
78 Define this if you have a flash device which you want to use for the
81 a) The environment occupies one whole flash sector, which is
82 "embedded" in the text segment with the U-Boot code. This
83 happens usually with "bottom boot sector" or "top boot
84 sector" type flash chips, which have several smaller
85 sectors at the start or the end. For instance, such a
86 layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In
87 such a case you would place the environment in one of the
88 4 kB sectors - with U-Boot code before and after it. With
89 "top boot sector" type flash chips, you would put the
90 environment in one of the last sectors, leaving a gap
91 between U-Boot and the environment.
95 Offset of environment data (variable area) to the
96 beginning of flash memory; for instance, with bottom boot
97 type flash chips the second sector can be used: the offset
98 for this sector is given here.
100 CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE.
104 This is just another way to specify the start address of
105 the flash sector containing the environment (instead of
108 CONFIG_ENV_SECT_SIZE:
110 Size of the sector containing the environment.
113 b) Sometimes flash chips have few, equal sized, BIG sectors.
114 In such a case you don't want to spend a whole sector for
119 If you use this in combination with CONFIG_ENV_IS_IN_FLASH
120 and CONFIG_ENV_SECT_SIZE, you can specify to use only a part
121 of this flash sector for the environment. This saves
122 memory for the RAM copy of the environment.
124 It may also save flash memory if you decide to use this
125 when your environment is "embedded" within U-Boot code,
126 since then the remainder of the flash sector could be used
127 for U-Boot code. It should be pointed out that this is
128 STRONGLY DISCOURAGED from a robustness point of view:
129 updating the environment in flash makes it always
130 necessary to erase the WHOLE sector. If something goes
131 wrong before the contents has been restored from a copy in
132 RAM, your target system will be dead.
134 CONFIG_ENV_ADDR_REDUND
135 CONFIG_ENV_SIZE_REDUND
137 These settings describe a second storage area used to hold
138 a redundant copy of the environment data, so that there is
139 a valid backup copy in case there is a power failure during
140 a "saveenv" operation.
142 BE CAREFUL! Any changes to the flash layout, and some changes to the
143 source code will make it necessary to adapt <board>/u-boot.lds*
147 bool "Environment in an MMC device"
148 depends on !CHAIN_OF_TRUST
150 default y if ARCH_EXYNOS4
151 default y if MX6SX || MX7D
152 default y if TEGRA30 || TEGRA124
153 default y if TEGRA_ARMV8_COMMON
155 Define this if you have an MMC device which you want to use for the
158 CONFIG_SYS_MMC_ENV_DEV:
160 Specifies which MMC device the environment is stored in.
162 CONFIG_SYS_MMC_ENV_PART (optional):
164 Specifies which MMC partition the environment is stored in. If not
165 set, defaults to partition 0, the user area. Common values might be
166 1 (first MMC boot partition), 2 (second MMC boot partition).
171 These two #defines specify the offset and size of the environment
172 area within the specified MMC device.
174 If offset is positive (the usual case), it is treated as relative to
175 the start of the MMC partition. If offset is negative, it is treated
176 as relative to the end of the MMC partition. This can be useful if
177 your board may be fitted with different MMC devices, which have
178 different sizes for the MMC partitions, and you always want the
179 environment placed at the very end of the partition, to leave the
180 maximum possible space before it, to store other data.
182 These two values are in units of bytes, but must be aligned to an
185 CONFIG_ENV_OFFSET_REDUND (optional):
187 Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
188 hold a redundant copy of the environment data. This provides a
189 valid backup copy in case the other copy is corrupted, e.g. due
190 to a power failure during a "saveenv" operation.
192 This value may also be positive or negative; this is handled in the
193 same way as CONFIG_ENV_OFFSET.
195 This value is also in units of bytes, but must also be aligned to
196 an MMC sector boundary.
198 CONFIG_ENV_SIZE_REDUND (optional):
200 This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is
201 set. If this value is set, it must be set to the same value as
204 config ENV_IS_IN_NAND
205 bool "Environment in a NAND device"
206 depends on !CHAIN_OF_TRUST
208 Define this if you have a NAND device which you want to use for the
214 These two #defines specify the offset and size of the environment
215 area within the first NAND device. CONFIG_ENV_OFFSET must be
216 aligned to an erase block boundary.
218 - CONFIG_ENV_OFFSET_REDUND (optional):
220 This setting describes a second storage area of CONFIG_ENV_SIZE
221 size used to hold a redundant copy of the environment data, so
222 that there is a valid backup copy in case there is a power failure
223 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
224 aligned to an erase block boundary.
226 - CONFIG_ENV_RANGE (optional):
228 Specifies the length of the region in which the environment
229 can be written. This should be a multiple of the NAND device's
230 block size. Specifying a range with more erase blocks than
231 are needed to hold CONFIG_ENV_SIZE allows bad blocks within
232 the range to be avoided.
234 - CONFIG_ENV_OFFSET_OOB (optional):
236 Enables support for dynamically retrieving the offset of the
237 environment from block zero's out-of-band data. The
238 "nand env.oob" command can be used to record this offset.
239 Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
240 using CONFIG_ENV_OFFSET_OOB.
242 config ENV_IS_IN_NVRAM
243 bool "Environment in a non-volatile RAM"
244 depends on !CHAIN_OF_TRUST
246 Define this if you have some non-volatile memory device
247 (NVRAM, battery buffered SRAM) which you want to use for the
253 These two #defines are used to determine the memory area you
254 want to use for environment. It is assumed that this memory
255 can just be read and written to, without any special
258 config ENV_IS_IN_ONENAND
259 bool "Environment is in OneNAND"
260 depends on !CHAIN_OF_TRUST
262 Define this if you want to put your local device's environment in
268 These two #defines are used to determine the device range you
269 want to use for environment. It is assumed that this memory
270 can just be read and written to, without any special
273 config ENV_IS_IN_REMOTE
274 bool "Environment is in remote memory space"
275 depends on !CHAIN_OF_TRUST
277 Define this if you have a remote memory space which you
278 want to use for the local device's environment.
283 These two #defines specify the address and size of the
284 environment area within the remote memory space. The
285 local device can get the environment from remote memory
286 space by SRIO or PCIE links.
288 config ENV_IS_IN_SPI_FLASH
289 bool "Environment is in SPI flash"
290 depends on !CHAIN_OF_TRUST && SPI
291 default y if ARMADA_XP
292 default y if INTEL_BAYTRAIL
293 default y if INTEL_BRASWELL
294 default y if INTEL_BROADWELL
295 default y if NORTHBRIDGE_INTEL_IVYBRIDGE
296 default y if INTEL_QUARK
297 default y if INTEL_QUEENSBAY
299 Define this if you have a SPI Flash memory device which you
300 want to use for the environment.
305 These two #defines specify the offset and size of the
306 environment area within the SPI Flash. CONFIG_ENV_OFFSET must be
307 aligned to an erase sector boundary.
309 - CONFIG_ENV_SECT_SIZE:
311 Define the SPI flash's sector size.
313 - CONFIG_ENV_OFFSET_REDUND (optional):
315 This setting describes a second storage area of CONFIG_ENV_SIZE
316 size used to hold a redundant copy of the environment data, so
317 that there is a valid backup copy in case there is a power failure
318 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
319 aligned to an erase sector boundary.
321 config USE_ENV_SPI_BUS
322 bool "SPI flash bus for environment"
323 depends on ENV_IS_IN_SPI_FLASH
325 Force the SPI bus for environment.
326 If not defined, use CONFIG_SF_DEFAULT_BUS.
329 int "Value of SPI flash bus for environment"
330 depends on USE_ENV_SPI_BUS
332 Value the SPI bus and chip select for environment.
334 config USE_ENV_SPI_CS
335 bool "SPI flash chip select for environment"
336 depends on ENV_IS_IN_SPI_FLASH
338 Force the SPI chip select for environment.
339 If not defined, use CONFIG_SF_DEFAULT_CS.
342 int "Value of SPI flash chip select for environment"
343 depends on USE_ENV_SPI_CS
345 Value of the SPI chip select for environment.
347 config USE_ENV_SPI_MAX_HZ
348 bool "SPI flash max frequency for environment"
349 depends on ENV_IS_IN_SPI_FLASH
351 Force the SPI max work clock for environment.
352 If not defined, use CONFIG_SF_DEFAULT_SPEED.
354 config ENV_SPI_MAX_HZ
355 int "Value of SPI flash max frequency for environment"
356 depends on USE_ENV_SPI_MAX_HZ
358 Value of the SPI max work clock for environment.
360 config USE_ENV_SPI_MODE
361 bool "SPI flash mode for environment"
362 depends on ENV_IS_IN_SPI_FLASH
364 Force the SPI work mode for environment.
367 hex "Value of SPI flash work mode for environment"
368 depends on USE_ENV_SPI_MODE
370 Value of the SPI work mode for environment.
371 See include/spi.h for value.
374 bool "Environment in a UBI volume"
375 depends on !CHAIN_OF_TRUST
377 Define this if you have an UBI volume that you want to use for the
378 environment. This has the benefit of wear-leveling the environment
379 accesses, which is important on NAND.
381 - CONFIG_ENV_UBI_PART:
383 Define this to a string that is the mtd partition containing the UBI.
385 - CONFIG_ENV_UBI_VOLUME:
387 Define this to the name of the volume that you want to store the
390 - CONFIG_ENV_UBI_VOLUME_REDUND:
392 Define this to the name of another volume to store a second copy of
393 the environment in. This will enable redundant environments in UBI.
394 It is assumed that both volumes are in the same MTD partition.
396 config ENV_FAT_INTERFACE
397 string "Name of the block device for the environment"
398 depends on ENV_IS_IN_FAT
399 default "mmc" if ARCH_SUNXI
400 default "mmc" if TI_COMMON_CMD_OPTIONS || ARCH_ZYNQMP || ARCH_AT91
402 Define this to a string that is the name of the block device.
404 config ENV_FAT_DEVICE_AND_PART
405 string "Device and partition for where to store the environemt in FAT"
406 depends on ENV_IS_IN_FAT
407 default "0:1" if TI_COMMON_CMD_OPTIONS
408 default "0:auto" if ARCH_ZYNQMP
409 default "0:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA = -1
410 default "1:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA != -1
411 default "0" if ARCH_AT91
413 Define this to a string to specify the partition of the device. It can
416 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
417 - "D:P": device D partition P. Error occurs if device D has no
420 - "D" or "D:": device D partition 1 if device D has partition
421 table, or the whole device D if has no partition
423 - "D:auto": first partition in device D with bootable flag set.
424 If none, first valid partition in device D. If no
425 partition table then means device D.
428 string "Name of the FAT file to use for the environment"
429 depends on ENV_IS_IN_FAT
432 It's a string of the FAT file name. This file use to store the
435 config ENV_EXT4_INTERFACE
436 string "Name of the block device for the environment"
437 depends on ENV_IS_IN_EXT4
439 Define this to a string that is the name of the block device.
441 config ENV_EXT4_DEVICE_AND_PART
442 string "Device and partition for where to store the environemt in EXT4"
443 depends on ENV_IS_IN_EXT4
445 Define this to a string to specify the partition of the device. It can
448 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
449 - "D:P": device D partition P. Error occurs if device D has no
452 - "D" or "D:": device D partition 1 if device D has partition
453 table, or the whole device D if has no partition
455 - "D:auto": first partition in device D with bootable flag set.
456 If none, first valid partition in device D. If no
457 partition table then means device D.
460 string "Name of the EXT4 file to use for the environment"
461 depends on ENV_IS_IN_EXT4
464 It's a string of the EXT4 file name. This file use to store the
465 environment (explicit path to the file)
467 if ARCH_ROCKCHIP || ARCH_SUNXI || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL || ARC || ARCH_STM32MP
470 hex "Environment Offset"
471 depends on !ENV_IS_IN_UBI
472 depends on !ENV_IS_NOWHERE
473 default 0x3f8000 if ARCH_ROCKCHIP
474 default 0x88000 if ARCH_SUNXI
475 default 0xE0000 if ARCH_ZYNQ
476 default 0x1E00000 if ARCH_ZYNQMP
479 Offset from the start of the device (or partition)
482 hex "Environment Size"
483 default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
484 default 0x20000 if ARCH_SUNXI || ARCH_ZYNQ
485 default 0x8000 if ARCH_ROCKCHIP || ARCH_ZYNQMP || ARCH_VERSAL
486 default 0x4000 if ARC
488 Size of the environment storage area
491 hex "Environment Sector-Size"
492 depends on !ENV_IS_NOWHERE && (ARCH_ZYNQ || ARCH_ZYNQMP)
493 default 0x40000 if ARCH_ZYNQMP
494 default 0x20000 if ARCH_ZYNQ
496 Size of the sector containing the environment.
499 string "UBI partition name"
500 depends on ENV_IS_IN_UBI
502 MTD partition containing the UBI device
504 config ENV_UBI_VOLUME
505 string "UBI volume name"
506 depends on ENV_IS_IN_UBI
508 Name of the volume that you want to store the environment in.
512 config USE_DEFAULT_ENV_FILE
513 bool "Create default environment from file"
515 Normally, the default environment is automatically generated
516 based on the settings of various CONFIG_* options, as well
517 as the CONFIG_EXTRA_ENV_SETTINGS. By selecting this option,
518 you can instead define the entire default environment in an
521 config DEFAULT_ENV_FILE
522 string "Path to default environment file"
523 depends on USE_DEFAULT_ENV_FILE
525 The path containing the default environment. The format is
526 the same as accepted by the mkenvimage tool: lines
527 containing key=value pairs, blank lines and lines beginning
530 config ENV_VARS_UBOOT_RUNTIME_CONFIG
531 bool "Add run-time information to the environment"
533 Enable this in order to add variables describing certain
534 run-time determined information about the hardware to the
535 environment. These will be named board_name, board_rev.
538 config SPL_ENV_IS_NOWHERE
539 bool "SPL Environment is not stored"
540 default y if ENV_IS_NOWHERE
542 Similar to ENV_IS_NOWHERE, used for SPL environment.
544 config SPL_ENV_IS_IN_MMC
545 bool "SPL Environment in an MMC device"
546 depends on !SPL_ENV_IS_NOWHERE
547 depends on ENV_IS_IN_MMC
550 Similar to ENV_IS_IN_MMC, used for SPL environment.
552 config SPL_ENV_IS_IN_FAT
553 bool "SPL Environment is in a FAT filesystem"
554 depends on !SPL_ENV_IS_NOWHERE
555 depends on ENV_IS_IN_FAT
558 Similar to ENV_IS_IN_FAT, used for SPL environment.
560 config SPL_ENV_IS_IN_EXT4
561 bool "SPL Environment is in a EXT4 filesystem"
562 depends on !SPL_ENV_IS_NOWHERE
563 depends on ENV_IS_IN_EXT4
566 Similar to ENV_IS_IN_EXT4, used for SPL environment.
568 config SPL_ENV_IS_IN_NAND
569 bool "SPL Environment in a NAND device"
570 depends on !SPL_ENV_IS_NOWHERE
571 depends on ENV_IS_IN_NAND
574 Similar to ENV_IS_IN_NAND, used for SPL environment.
576 config SPL_ENV_IS_IN_SPI_FLASH
577 bool "SPL Environment is in SPI flash"
578 depends on !SPL_ENV_IS_NOWHERE
579 depends on ENV_IS_IN_SPI_FLASH
582 Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
584 config SPL_ENV_IS_IN_FLASH
585 bool "SPL Environment in flash memory"
586 depends on !SPL_ENV_IS_NOWHERE
587 depends on ENV_IS_IN_FLASH
590 Similar to ENV_IS_IN_FLASH, used for SPL environment.
596 config TPL_ENV_IS_NOWHERE
597 bool "TPL Environment is not stored"
598 default y if ENV_IS_NOWHERE
600 Similar to ENV_IS_NOWHERE, used for TPL environment.
602 config TPL_ENV_IS_IN_MMC
603 bool "TPL Environment in an MMC device"
604 depends on !TPL_ENV_IS_NOWHERE
605 depends on ENV_IS_IN_MMC
608 Similar to ENV_IS_IN_MMC, used for TPL environment.
610 config TPL_ENV_IS_IN_FAT
611 bool "TPL Environment is in a FAT filesystem"
612 depends on !TPL_ENV_IS_NOWHERE
613 depends on ENV_IS_IN_FAT
616 Similar to ENV_IS_IN_FAT, used for TPL environment.
618 config TPL_ENV_IS_IN_EXT4
619 bool "TPL Environment is in a EXT4 filesystem"
620 depends on !TPL_ENV_IS_NOWHERE
621 depends on ENV_IS_IN_EXT4
624 Similar to ENV_IS_IN_EXT4, used for TPL environment.
626 config TPL_ENV_IS_IN_NAND
627 bool "TPL Environment in a NAND device"
628 depends on !TPL_ENV_IS_NOWHERE
629 depends on ENV_IS_IN_NAND
632 Similar to ENV_IS_IN_NAND, used for TPL environment.
634 config TPL_ENV_IS_IN_SPI_FLASH
635 bool "TPL Environment is in SPI flash"
636 depends on !TPL_ENV_IS_NOWHERE
637 depends on ENV_IS_IN_SPI_FLASH
640 Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
642 config TPL_ENV_IS_IN_FLASH
643 bool "TPL Environment in flash memory"
644 depends on !TPL_ENV_IS_NOWHERE
645 depends on ENV_IS_IN_FLASH
648 Similar to ENV_IS_IN_FLASH, used for TPL environment.