blob: 2bbe4c466a6d53126306ba97f3b0e22e1f0ff528 [file] [log] [blame]
Simon Glass0649cd02017-08-03 12:21:49 -06001menu "Environment"
2
Rasmus Villemoesc8221682019-12-15 22:29:39 +00003config ENV_SUPPORT
4 def_bool y
5
Simon Glass86b9c3e2021-10-21 21:08:46 -06006config 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
Tom Rini0613c362022-12-04 10:03:50 -050022 CFG_EXTRA_ENV_SETTINGS #define
Simon Glass86b9c3e2021-10-21 21:08:46 -060023
Rasmus Villemoes1d0adee2020-02-19 09:47:39 +000024config SAVEENV
25 def_bool y if CMD_SAVEENV
26
Adam Forde91907a2020-07-03 06:48:56 -050027config ENV_OVERWRITE
28 bool "Enable overwriting environment"
29 help
30 Use this to permit overriding of certain environmental variables
31 like Ethernet and Serial
32
Tom Rini0a69d6a2022-12-02 16:42:39 -050033config OVERWRITE_ETHADDR_ONCE
34 bool "Enable overwriting ethaddr environment variables once"
35 depends on !ENV_OVERWRITE
36 help
37 Enable this to allow for the ethaddr environment variables to be
38 overwritten one time per boot, only. This allows for a default
39 to be installed in the environment, which can be changed exactly ONCE
40 by the user.
41
Tom Rini82e0b512022-06-12 20:01:58 -040042config ENV_MIN_ENTRIES
43 int "Minimum number of entries in the environment hashtable"
44 default 64
45 help
46 Minimum number of entries in the hash table that is used internally
47 to store the environment settings.
48
49config ENV_MAX_ENTRIES
50 int "Maximumm number of entries in the environment hashtable"
51 default 512
52 help
53 Maximum number of entries in the hash table that is used internally
54 to store the environment settings. The default setting is supposed to
55 be generous and should work in most cases. This setting can be used
56 to tune behaviour; see lib/hashtable.c for details.
57
Simon Glassc1c3fe22017-08-03 12:21:59 -060058config ENV_IS_NOWHERE
59 bool "Environment is not stored"
Patrice Chotard208bd2b2019-05-07 11:24:02 +020060 default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
61 !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \
62 !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \
63 !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \
64 !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \
65 !ENV_IS_IN_UBI
Simon Glassc1c3fe22017-08-03 12:21:59 -060066 help
67 Define this if you don't want to or can't have an environment stored
Shyam Saini919d25c2018-06-07 19:47:19 +053068 on a storage medium. In this case the environment will still exist
Simon Glassc1c3fe22017-08-03 12:21:59 -060069 while U-Boot is running, but once U-Boot exits it will not be
70 stored. U-Boot will therefore always start up with a default
71 environment.
72
Simon Glass0649cd02017-08-03 12:21:49 -060073config ENV_IS_IN_EEPROM
74 bool "Environment in EEPROM"
75 depends on !CHAIN_OF_TRUST
76 help
77 Use this if you have an EEPROM or similar serial access
78 device and a driver for it.
79
80 - CONFIG_ENV_OFFSET:
81 - CONFIG_ENV_SIZE:
82
83 These two #defines specify the offset and size of the
84 environment area within the total memory of your EEPROM.
85
Simon Glass0649cd02017-08-03 12:21:49 -060086 Note that we consider the length of the address field to
87 still be one byte because the extra address bits are hidden
88 in the chip address.
89
Simon Glass0649cd02017-08-03 12:21:49 -060090 EEPROM which holds the environment, is reached over
91 a pca9547 i2c mux with address 0x70, channel 3.
92
93config ENV_IS_IN_FAT
94 bool "Environment is in a FAT filesystem"
95 depends on !CHAIN_OF_TRUST
Maxime Ripardfb694642018-01-23 21:17:01 +010096 default y if ARCH_BCM283X
Maxime Ripard0163c912018-01-23 21:17:04 +010097 default y if ARCH_SUNXI && MMC
Maxime Ripardfb694642018-01-23 21:17:01 +010098 default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
Tuomas Tynkkynen3cd084d2018-01-05 02:45:19 +020099 select FS_FAT
Simon Glass0649cd02017-08-03 12:21:49 -0600100 select FAT_WRITE
101 help
Simon Glass91d3aa02017-08-03 12:21:50 -0600102 Define this if you want to use the FAT file system for the environment.
Simon Glass0649cd02017-08-03 12:21:49 -0600103
Jorge Ramirez-Ortiz1087a792018-01-10 11:33:48 +0100104config ENV_IS_IN_EXT4
105 bool "Environment is in a EXT4 filesystem"
106 depends on !CHAIN_OF_TRUST
Michal Simek07661782020-08-19 10:44:23 +0200107 select FS_EXT4
Jorge Ramirez-Ortiz1087a792018-01-10 11:33:48 +0100108 select EXT4_WRITE
109 help
110 Define this if you want to use the EXT4 file system for the environment.
111
Simon Glass0649cd02017-08-03 12:21:49 -0600112config ENV_IS_IN_FLASH
113 bool "Environment in flash memory"
114 depends on !CHAIN_OF_TRUST
Maxime Ripardfb694642018-01-23 21:17:01 +0100115 default y if ARCH_CINTEGRATOR
116 default y if ARCH_INTEGRATOR_CP
Tom Rini9b7993b2021-05-14 21:34:10 -0400117 default y if M548x || M547x || M5282
Maxime Ripardfb694642018-01-23 21:17:01 +0100118 default y if MCF532x || MCF52x2
119 default y if MPC86xx || MPC83xx
Tom Rini1c588572021-05-14 21:34:26 -0400120 default y if ARCH_MPC8548
Maxime Ripardfb694642018-01-23 21:17:01 +0100121 default y if SH && !CPU_SH4
Simon Glass0649cd02017-08-03 12:21:49 -0600122 help
123 Define this if you have a flash device which you want to use for the
124 environment.
125
126 a) The environment occupies one whole flash sector, which is
127 "embedded" in the text segment with the U-Boot code. This
128 happens usually with "bottom boot sector" or "top boot
129 sector" type flash chips, which have several smaller
130 sectors at the start or the end. For instance, such a
131 layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In
132 such a case you would place the environment in one of the
133 4 kB sectors - with U-Boot code before and after it. With
134 "top boot sector" type flash chips, you would put the
135 environment in one of the last sectors, leaving a gap
136 between U-Boot and the environment.
137
138 CONFIG_ENV_OFFSET:
139
140 Offset of environment data (variable area) to the
141 beginning of flash memory; for instance, with bottom boot
142 type flash chips the second sector can be used: the offset
143 for this sector is given here.
144
Tom Rini65cc0e22022-11-16 13:10:41 -0500145 CONFIG_ENV_OFFSET is used relative to CFG_SYS_FLASH_BASE.
Simon Glass0649cd02017-08-03 12:21:49 -0600146
147 CONFIG_ENV_ADDR:
148
149 This is just another way to specify the start address of
150 the flash sector containing the environment (instead of
151 CONFIG_ENV_OFFSET).
152
153 CONFIG_ENV_SECT_SIZE:
154
155 Size of the sector containing the environment.
156
157
158 b) Sometimes flash chips have few, equal sized, BIG sectors.
159 In such a case you don't want to spend a whole sector for
160 the environment.
161
162 CONFIG_ENV_SIZE:
163
164 If you use this in combination with CONFIG_ENV_IS_IN_FLASH
165 and CONFIG_ENV_SECT_SIZE, you can specify to use only a part
166 of this flash sector for the environment. This saves
167 memory for the RAM copy of the environment.
168
169 It may also save flash memory if you decide to use this
170 when your environment is "embedded" within U-Boot code,
171 since then the remainder of the flash sector could be used
172 for U-Boot code. It should be pointed out that this is
173 STRONGLY DISCOURAGED from a robustness point of view:
174 updating the environment in flash makes it always
175 necessary to erase the WHOLE sector. If something goes
176 wrong before the contents has been restored from a copy in
177 RAM, your target system will be dead.
178
179 CONFIG_ENV_ADDR_REDUND
Simon Glass0649cd02017-08-03 12:21:49 -0600180
181 These settings describe a second storage area used to hold
182 a redundant copy of the environment data, so that there is
183 a valid backup copy in case there is a power failure during
184 a "saveenv" operation.
185
186 BE CAREFUL! Any changes to the flash layout, and some changes to the
187 source code will make it necessary to adapt <board>/u-boot.lds*
188 accordingly!
189
190config ENV_IS_IN_MMC
191 bool "Environment in an MMC device"
192 depends on !CHAIN_OF_TRUST
Maxime Ripardd282a1d2018-01-23 21:17:00 +0100193 depends on MMC
Maxime Ripardfb694642018-01-23 21:17:01 +0100194 default y if ARCH_EXYNOS4
195 default y if MX6SX || MX7D
196 default y if TEGRA30 || TEGRA124
197 default y if TEGRA_ARMV8_COMMON
Simon Glass0649cd02017-08-03 12:21:49 -0600198 help
199 Define this if you have an MMC device which you want to use for the
200 environment.
201
202 CONFIG_SYS_MMC_ENV_DEV:
203
204 Specifies which MMC device the environment is stored in.
205
206 CONFIG_SYS_MMC_ENV_PART (optional):
207
208 Specifies which MMC partition the environment is stored in. If not
209 set, defaults to partition 0, the user area. Common values might be
210 1 (first MMC boot partition), 2 (second MMC boot partition).
211
212 CONFIG_ENV_OFFSET:
213 CONFIG_ENV_SIZE:
214
215 These two #defines specify the offset and size of the environment
216 area within the specified MMC device.
217
218 If offset is positive (the usual case), it is treated as relative to
219 the start of the MMC partition. If offset is negative, it is treated
220 as relative to the end of the MMC partition. This can be useful if
221 your board may be fitted with different MMC devices, which have
222 different sizes for the MMC partitions, and you always want the
223 environment placed at the very end of the partition, to leave the
224 maximum possible space before it, to store other data.
225
226 These two values are in units of bytes, but must be aligned to an
227 MMC sector boundary.
228
229 CONFIG_ENV_OFFSET_REDUND (optional):
230
231 Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
232 hold a redundant copy of the environment data. This provides a
233 valid backup copy in case the other copy is corrupted, e.g. due
234 to a power failure during a "saveenv" operation.
235
236 This value may also be positive or negative; this is handled in the
237 same way as CONFIG_ENV_OFFSET.
238
Marek Vasutd11d1be2021-10-17 19:23:36 +0200239 In case CONFIG_SYS_MMC_ENV_PART is 1 (i.e. environment in eMMC boot
240 partition) then setting CONFIG_ENV_OFFSET_REDUND to the same value
241 as CONFIG_ENV_OFFSET makes use of the second eMMC boot partition for
242 the redundant environment copy.
243
Simon Glass0649cd02017-08-03 12:21:49 -0600244 This value is also in units of bytes, but must also be aligned to
245 an MMC sector boundary.
246
Patrick Delaunayd2103e22022-11-10 11:49:01 +0100247 CONFIG_ENV_MMC_USE_DT (optional):
248
249 These define forces the configuration by the config node in device
250 tree with partition name: "u-boot,mmc-env-partition" or with
251 offset: "u-boot,mmc-env-offset", "u-boot,mmc-env-offset-redundant".
252 CONFIG_ENV_OFFSET and CONFIG_ENV_OFFSET_REDUND are not used.
253
Simon Glass0649cd02017-08-03 12:21:49 -0600254config ENV_IS_IN_NAND
255 bool "Environment in a NAND device"
256 depends on !CHAIN_OF_TRUST
257 help
258 Define this if you have a NAND device which you want to use for the
259 environment.
260
261 - CONFIG_ENV_OFFSET:
262 - CONFIG_ENV_SIZE:
263
264 These two #defines specify the offset and size of the environment
265 area within the first NAND device. CONFIG_ENV_OFFSET must be
266 aligned to an erase block boundary.
267
268 - CONFIG_ENV_OFFSET_REDUND (optional):
269
270 This setting describes a second storage area of CONFIG_ENV_SIZE
271 size used to hold a redundant copy of the environment data, so
272 that there is a valid backup copy in case there is a power failure
273 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
274 aligned to an erase block boundary.
275
Simon Glass0649cd02017-08-03 12:21:49 -0600276 - CONFIG_ENV_OFFSET_OOB (optional):
277
278 Enables support for dynamically retrieving the offset of the
279 environment from block zero's out-of-band data. The
280 "nand env.oob" command can be used to record this offset.
281 Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
282 using CONFIG_ENV_OFFSET_OOB.
283
Tom Rini5d7dea12022-06-13 22:57:33 -0400284config ENV_RANGE
285 hex "Length of the region in which the environment can be written"
286 depends on ENV_IS_IN_NAND
287 range ENV_SIZE 0x7fffffff
288 default ENV_SIZE
289 help
290 This should be a multiple of the NAND device's block size.
291 Specifying a range with more erase blocks than are needed to hold
292 CONFIG_ENV_SIZE allows bad blocks within the range to be avoided.
293
Simon Glass0649cd02017-08-03 12:21:49 -0600294config ENV_IS_IN_NVRAM
295 bool "Environment in a non-volatile RAM"
296 depends on !CHAIN_OF_TRUST
297 help
298 Define this if you have some non-volatile memory device
299 (NVRAM, battery buffered SRAM) which you want to use for the
300 environment.
301
302 - CONFIG_ENV_ADDR:
303 - CONFIG_ENV_SIZE:
304
305 These two #defines are used to determine the memory area you
306 want to use for environment. It is assumed that this memory
307 can just be read and written to, without any special
308 provision.
309
310config ENV_IS_IN_ONENAND
311 bool "Environment is in OneNAND"
312 depends on !CHAIN_OF_TRUST
313 help
314 Define this if you want to put your local device's environment in
315 OneNAND.
316
317 - CONFIG_ENV_ADDR:
318 - CONFIG_ENV_SIZE:
319
320 These two #defines are used to determine the device range you
321 want to use for environment. It is assumed that this memory
322 can just be read and written to, without any special
323 provision.
324
325config ENV_IS_IN_REMOTE
Heinrich Schuchardt646f1ab2018-03-17 22:53:11 +0000326 bool "Environment is in remote memory space"
Simon Glass0649cd02017-08-03 12:21:49 -0600327 depends on !CHAIN_OF_TRUST
328 help
329 Define this if you have a remote memory space which you
330 want to use for the local device's environment.
331
332 - CONFIG_ENV_ADDR:
333 - CONFIG_ENV_SIZE:
334
335 These two #defines specify the address and size of the
336 environment area within the remote memory space. The
337 local device can get the environment from remote memory
338 space by SRIO or PCIE links.
339
340config ENV_IS_IN_SPI_FLASH
341 bool "Environment is in SPI flash"
Tom Rinia4298dd2019-05-29 17:01:28 -0400342 depends on !CHAIN_OF_TRUST && SPI
Maxime Ripardfb694642018-01-23 21:17:01 +0100343 default y if ARMADA_XP
344 default y if INTEL_BAYTRAIL
345 default y if INTEL_BRASWELL
346 default y if INTEL_BROADWELL
347 default y if NORTHBRIDGE_INTEL_IVYBRIDGE
348 default y if INTEL_QUARK
349 default y if INTEL_QUEENSBAY
Andre Przywara753a85f2022-01-11 12:46:05 +0000350 default y if ARCH_SUNXI
Simon Glass0649cd02017-08-03 12:21:49 -0600351 help
352 Define this if you have a SPI Flash memory device which you
353 want to use for the environment.
354
355 - CONFIG_ENV_OFFSET:
356 - CONFIG_ENV_SIZE:
357
358 These two #defines specify the offset and size of the
359 environment area within the SPI Flash. CONFIG_ENV_OFFSET must be
360 aligned to an erase sector boundary.
361
362 - CONFIG_ENV_SECT_SIZE:
363
364 Define the SPI flash's sector size.
365
366 - CONFIG_ENV_OFFSET_REDUND (optional):
367
368 This setting describes a second storage area of CONFIG_ENV_SIZE
369 size used to hold a redundant copy of the environment data, so
370 that there is a valid backup copy in case there is a power failure
371 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
372 aligned to an erase sector boundary.
373
Rasmus Villemoesbcb44f62021-04-14 20:51:43 +0200374config ENV_SECT_SIZE_AUTO
375 bool "Use automatically detected sector size"
376 depends on ENV_IS_IN_SPI_FLASH
377 help
378 Some boards exist in multiple variants, with different
379 flashes having different sector sizes. In such cases, you
380 can select this option to make U-Boot use the actual sector
381 size when figuring out how much to erase, which can thus be
382 more efficient on the flashes with smaller erase size. Since
383 the environment must always be aligned on a sector boundary,
384 CONFIG_ENV_OFFSET must be aligned to the largest of the
385 different sector sizes, and CONFIG_ENV_SECT_SIZE should be
386 set to that value.
387
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100388config ENV_SPI_BUS
389 int "Value of SPI flash bus for environment"
Tom Rini7e6a6fd2021-12-11 14:55:48 -0500390 depends on ENV_IS_IN_SPI_FLASH
391 default SF_DEFAULT_BUS
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100392 help
393 Value the SPI bus and chip select for environment.
Simon Glass0649cd02017-08-03 12:21:49 -0600394
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100395config ENV_SPI_CS
396 int "Value of SPI flash chip select for environment"
Tom Rini7e6a6fd2021-12-11 14:55:48 -0500397 depends on ENV_IS_IN_SPI_FLASH
398 default SF_DEFAULT_CS
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100399 help
400 Value of the SPI chip select for environment.
Simon Glass0649cd02017-08-03 12:21:49 -0600401
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100402config ENV_SPI_MAX_HZ
Marek Vasutdd309612019-05-04 19:10:05 +0200403 int "Value of SPI flash max frequency for environment"
Tom Rini7e6a6fd2021-12-11 14:55:48 -0500404 depends on ENV_IS_IN_SPI_FLASH
405 default SF_DEFAULT_SPEED
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100406 help
407 Value of the SPI max work clock for environment.
408
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100409config ENV_SPI_MODE
410 hex "Value of SPI flash work mode for environment"
Tom Rini7e6a6fd2021-12-11 14:55:48 -0500411 depends on ENV_IS_IN_SPI_FLASH
412 default SF_DEFAULT_MODE
Patrick Delaunayabe66b12019-02-27 15:20:38 +0100413 help
414 Value of the SPI work mode for environment.
415 See include/spi.h for value.
Simon Glass0649cd02017-08-03 12:21:49 -0600416
Heiko Schocher92765f452020-10-10 10:28:05 +0200417config ENV_SPI_EARLY
418 bool "Access Environment in SPI flashes before relocation"
419 depends on ENV_IS_IN_SPI_FLASH
420 help
421 Enable this if you want to use Environment in SPI flash
422 before relocation. Call env_init() and than you can use
423 env_get_f() for accessing Environment variables.
424
Simon Glass0649cd02017-08-03 12:21:49 -0600425config ENV_IS_IN_UBI
426 bool "Environment in a UBI volume"
427 depends on !CHAIN_OF_TRUST
Miquel Raynal00e27042019-10-03 19:50:12 +0200428 depends on MTD_UBI
429 depends on CMD_UBI
Simon Glass0649cd02017-08-03 12:21:49 -0600430 help
431 Define this if you have an UBI volume that you want to use for the
432 environment. This has the benefit of wear-leveling the environment
433 accesses, which is important on NAND.
434
435 - CONFIG_ENV_UBI_PART:
436
437 Define this to a string that is the mtd partition containing the UBI.
438
439 - CONFIG_ENV_UBI_VOLUME:
440
441 Define this to the name of the volume that you want to store the
442 environment in.
443
444 - CONFIG_ENV_UBI_VOLUME_REDUND:
445
446 Define this to the name of another volume to store a second copy of
447 the environment in. This will enable redundant environments in UBI.
448 It is assumed that both volumes are in the same MTD partition.
449
Tom Rinicb6617a2019-11-10 11:28:03 -0500450config SYS_REDUNDAND_ENVIRONMENT
451 bool "Enable redundant environment support"
Tom Rinicb6617a2019-11-10 11:28:03 -0500452 help
453 Normally, the environemt is stored in a single location. By
454 selecting this option, you can then define where to hold a redundant
455 copy of the environment data, so that there is a valid backup copy in
456 case there is a power failure during a "saveenv" operation.
Michal Simek4e3fc5e2021-01-13 10:25:50 +0100457 Also this config changes the binary environment structure handling
458 which is used by env import/export commands which are independent of
459 storing variables to redundant location on a non volatile device.
Tom Rinicb6617a2019-11-10 11:28:03 -0500460
Simon Glass0649cd02017-08-03 12:21:49 -0600461config ENV_FAT_INTERFACE
462 string "Name of the block device for the environment"
463 depends on ENV_IS_IN_FAT
Michal Simek8d782112020-02-25 15:50:33 +0100464 default "mmc"
Simon Glass0649cd02017-08-03 12:21:49 -0600465 help
466 Define this to a string that is the name of the block device.
467
468config ENV_FAT_DEVICE_AND_PART
469 string "Device and partition for where to store the environemt in FAT"
470 depends on ENV_IS_IN_FAT
471 default "0:1" if TI_COMMON_CMD_OPTIONS
Ashok Reddy Soma4fb83c92021-02-23 08:07:46 -0700472 default "0:auto" if ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
Samuel Holland1011ebc2021-04-18 22:16:21 -0500473 default ":auto" if ARCH_SUNXI
Simon Glass0649cd02017-08-03 12:21:49 -0600474 default "0" if ARCH_AT91
475 help
476 Define this to a string to specify the partition of the device. It can
477 be as following:
478
479 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
480 - "D:P": device D partition P. Error occurs if device D has no
481 partition table.
482 - "D:0": device D.
483 - "D" or "D:": device D partition 1 if device D has partition
484 table, or the whole device D if has no partition
485 table.
486 - "D:auto": first partition in device D with bootable flag set.
487 If none, first valid partition in device D. If no
488 partition table then means device D.
489
David Woodhouse6731bef2020-06-19 23:07:17 +0100490 If ENV_FAT_INTERFACE is set to "mmc" then device 'D' can be omitted,
491 leaving the string starting with a colon, and the boot device will
492 be used.
493
Simon Glass0649cd02017-08-03 12:21:49 -0600494config ENV_FAT_FILE
Shyam Saini919d25c2018-06-07 19:47:19 +0530495 string "Name of the FAT file to use for the environment"
Simon Glass0649cd02017-08-03 12:21:49 -0600496 depends on ENV_IS_IN_FAT
497 default "uboot.env"
498 help
499 It's a string of the FAT file name. This file use to store the
500 environment.
501
Brandon Maier2339f012021-01-16 15:14:43 -0600502config ENV_FAT_FILE_REDUND
503 string "Name of the FAT file to use for the environment"
504 depends on ENV_IS_IN_FAT && SYS_REDUNDAND_ENVIRONMENT
505 default "uboot-redund.env"
506 help
507 It's a string of the FAT file name. This file use to store the
508 redundant environment.
509
Jorge Ramirez-Ortiz1087a792018-01-10 11:33:48 +0100510config ENV_EXT4_INTERFACE
511 string "Name of the block device for the environment"
512 depends on ENV_IS_IN_EXT4
513 help
514 Define this to a string that is the name of the block device.
515
516config ENV_EXT4_DEVICE_AND_PART
517 string "Device and partition for where to store the environemt in EXT4"
518 depends on ENV_IS_IN_EXT4
519 help
520 Define this to a string to specify the partition of the device. It can
521 be as following:
522
523 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
524 - "D:P": device D partition P. Error occurs if device D has no
525 partition table.
526 - "D:0": device D.
527 - "D" or "D:": device D partition 1 if device D has partition
528 table, or the whole device D if has no partition
529 table.
530 - "D:auto": first partition in device D with bootable flag set.
531 If none, first valid partition in device D. If no
532 partition table then means device D.
533
David Woodhouseb0493bb2020-08-04 10:05:47 +0100534 If ENV_EXT4_INTERFACE is set to "mmc" then device 'D' can be omitted,
535 leaving the string starting with a colon, and the boot device will
536 be used.
537
Jorge Ramirez-Ortiz1087a792018-01-10 11:33:48 +0100538config ENV_EXT4_FILE
Shyam Saini919d25c2018-06-07 19:47:19 +0530539 string "Name of the EXT4 file to use for the environment"
Jorge Ramirez-Ortiz1087a792018-01-10 11:33:48 +0100540 depends on ENV_IS_IN_EXT4
Patrick Delaunay87dac742020-07-28 11:51:14 +0200541 default "/uboot.env"
Jorge Ramirez-Ortiz1087a792018-01-10 11:33:48 +0100542 help
543 It's a string of the EXT4 file name. This file use to store the
544 environment (explicit path to the file)
545
Tom Rinia09fea12019-11-18 20:02:10 -0500546config ENV_ADDR
547 hex "Environment address"
548 depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
549 ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
550 default 0x0 if ENV_IS_IN_SPI_FLASH
551 help
552 Offset from the start of the device (or partition)
553
554config ENV_ADDR_REDUND
555 hex "Redundant environment address"
556 depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
557 help
558 Offset from the start of the device (or partition) of the redundant
559 environment location.
Simon Glass0649cd02017-08-03 12:21:49 -0600560
561config ENV_OFFSET
Tom Rinia09fea12019-11-18 20:02:10 -0500562 hex "Environment offset"
563 depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
564 ENV_IS_IN_SPI_FLASH
Jagan Tekid7b433e2019-12-21 13:24:35 +0530565 default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
Jagan Teki54b85a92019-12-21 13:24:36 +0530566 default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
Andre Przywara2bdf2132022-01-11 12:46:03 +0000567 default 0xF0000 if ARCH_SUNXI
Michal Simek4aee6242018-07-19 08:45:45 +0200568 default 0xE0000 if ARCH_ZYNQ
569 default 0x1E00000 if ARCH_ZYNQMP
Michal Simekf6aebdf2022-09-19 14:21:02 +0200570 default 0x7F40000 if ARCH_VERSAL || ARCH_VERSAL_NET
Alexey Brodkin70b5ea72019-01-15 11:42:48 +0300571 default 0 if ARC
Markus Klotzbuechera9221f32019-05-15 15:15:54 +0200572 default 0x140000 if ARCH_AT91
573 default 0x260000 if ARCH_OMAP2PLUS
Varalaxmi Bingi63e988e2020-02-05 03:58:20 -0700574 default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
Simon Glass0649cd02017-08-03 12:21:49 -0600575 help
576 Offset from the start of the device (or partition)
577
Tom Rinia09fea12019-11-18 20:02:10 -0500578config ENV_OFFSET_REDUND
579 hex "Redundant environment offset"
580 depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
581 ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
T Karthik Reddyce880862022-08-24 13:23:26 +0200582 default 0x10C0000 if MICROBLAZE
Michal Simekec217212021-02-24 10:33:45 +0100583 default 0
Tom Rinia09fea12019-11-18 20:02:10 -0500584 help
585 Offset from the start of the device (or partition) of the redundant
586 environment location.
587
Simon Glass0649cd02017-08-03 12:21:49 -0600588config ENV_SIZE
589 hex "Environment Size"
Michal Simek4aee6242018-07-19 08:45:45 +0200590 default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
Andre Przywara2bdf2132022-01-11 12:46:03 +0000591 default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
592 default 0x10000 if ARCH_SUNXI
Jagan Tekid7b433e2019-12-21 13:24:35 +0530593 default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
Jagan Teki54b85a92019-12-21 13:24:36 +0530594 default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
Michal Simekf6aebdf2022-09-19 14:21:02 +0200595 default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET
Alexey Brodkin70b5ea72019-01-15 11:42:48 +0300596 default 0x4000 if ARC
Markus Klotzbuechera9221f32019-05-15 15:15:54 +0200597 default 0x1f000
Simon Glass0649cd02017-08-03 12:21:49 -0600598 help
599 Size of the environment storage area
600
Michal Simek4aee6242018-07-19 08:45:45 +0200601config ENV_SECT_SIZE
602 hex "Environment Sector-Size"
Tom Rinia09fea12019-11-18 20:02:10 -0500603 depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
Jagan Teki54b85a92019-12-21 13:24:36 +0530604 default 0x2000 if ARCH_ROCKCHIP
Michal Simekf6aebdf2022-09-19 14:21:02 +0200605 default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET
Markus Klotzbuechera9221f32019-05-15 15:15:54 +0200606 default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
Varalaxmi Bingi63e988e2020-02-05 03:58:20 -0700607 default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
Andre Przywara2bdf2132022-01-11 12:46:03 +0000608 default 0x10000 if ARCH_SUNXI && ENV_IS_IN_SPI_FLASH
Michal Simek4aee6242018-07-19 08:45:45 +0200609 help
610 Size of the sector containing the environment.
611
Simon Glass0649cd02017-08-03 12:21:49 -0600612config ENV_UBI_PART
613 string "UBI partition name"
614 depends on ENV_IS_IN_UBI
615 help
616 MTD partition containing the UBI device
617
618config ENV_UBI_VOLUME
619 string "UBI volume name"
620 depends on ENV_IS_IN_UBI
621 help
622 Name of the volume that you want to store the environment in.
623
Markus Klotzbuecherff4818c2019-05-15 15:15:53 +0200624config ENV_UBI_VOLUME_REDUND
625 string "UBI redundant volume name"
Tom Rinicb6617a2019-11-10 11:28:03 -0500626 depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
Markus Klotzbuecherff4818c2019-05-15 15:15:53 +0200627 help
628 Name of the redundant volume that you want to store the environment in.
629
Hamish Guthrie985186d2019-05-15 15:15:55 +0200630config ENV_UBI_VID_OFFSET
631 int "ubi environment VID offset"
632 depends on ENV_IS_IN_UBI
633 default 0
634 help
635 UBI VID offset for environment. If 0, no custom VID offset is used.
636
Tom Rini8d8ee472019-11-12 22:46:36 -0500637config SYS_RELOC_GD_ENV_ADDR
Patrick Delaunay35c26832020-06-10 19:28:42 +0200638 bool "Relocate gd->env_addr"
Tom Rini8d8ee472019-11-12 22:46:36 -0500639 help
640 Relocate the early env_addr pointer so we know it is not inside
641 the binary. Some systems need this and for the rest, it doesn't hurt.
642
Tom Rini7d080772020-07-24 17:14:47 -0400643config SYS_MMC_ENV_DEV
644 int "mmc device number"
645 depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT || SYS_LS_PPA_FW_IN_MMC || \
Kuldeep Singh9b90e0d2021-08-10 11:20:06 +0530646 CMD_MVEBU_BUBT || FMAN_ENET || QE || PHY_CORTINA
Tom Rini7d080772020-07-24 17:14:47 -0400647 default 0
648 help
649 MMC device number on the platform where the environment is stored.
650
651config SYS_MMC_ENV_PART
652 int "mmc partition number"
653 depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT
654 default 0
655 help
656 MMC hardware partition device number on the platform where the
657 environment is stored. Note that this is not related to any software
658 defined partition table but instead if we are in the user area, which is
659 partition 0 or the first boot partition, which is 1 or some other defined
660 partition.
661
Patrick Delaunayd2103e22022-11-10 11:49:01 +0100662config ENV_MMC_USE_DT
663 bool "Read partition name and offset in DT"
664 depends on ENV_IS_IN_MMC && OF_CONTROL
665 help
666 Only use the device tree to get the environment location in MMC
667 device, with partition name or with offset.
668 The 2 defines CONFIG_ENV_OFFSET, CONFIG_ENV_OFFSET_REDUND
669 are not used as fallback.
670
Rasmus Villemoesf3d8f7d2018-03-20 11:38:45 +0100671config USE_DEFAULT_ENV_FILE
672 bool "Create default environment from file"
673 help
674 Normally, the default environment is automatically generated
675 based on the settings of various CONFIG_* options, as well
Tom Rini0613c362022-12-04 10:03:50 -0500676 as the CFG_EXTRA_ENV_SETTINGS. By selecting this option,
Rasmus Villemoesf3d8f7d2018-03-20 11:38:45 +0100677 you can instead define the entire default environment in an
678 external file.
679
680config DEFAULT_ENV_FILE
681 string "Path to default environment file"
682 depends on USE_DEFAULT_ENV_FILE
683 help
684 The path containing the default environment. The format is
685 the same as accepted by the mkenvimage tool: lines
686 containing key=value pairs, blank lines and lines beginning
687 with # are ignored.
688
Alex Kiernand9101302018-04-01 16:37:53 +0000689config ENV_VARS_UBOOT_RUNTIME_CONFIG
690 bool "Add run-time information to the environment"
691 help
692 Enable this in order to add variables describing certain
693 run-time determined information about the hardware to the
694 environment. These will be named board_name, board_rev.
695
Ovidiu Panaitb8879f22020-05-06 20:38:42 +0300696config DELAY_ENVIRONMENT
697 bool "Delay environment loading"
698 depends on !OF_CONTROL
699 help
700 Enable this to inhibit loading the environment during board
701 initialization. This can address the security risk of untrusted data
702 being used during boot. Normally the environment is loaded when the
703 board is initialised so that it is available to U-Boot. This inhibits
704 that so that the environment is not available until explicitly loaded
705 later by U-Boot code. With CONFIG_OF_CONTROL this is instead
706 controlled by the value of /config/load-environment.
707
Rasmus Villemoes95fd9772021-04-21 11:06:54 +0200708config ENV_IMPORT_FDT
709 bool "Amend environment by FDT properties"
710 depends on OF_CONTROL
711 help
712 If selected, after the environment has been loaded from its
713 persistent location, the "env_fdt_path" variable is looked
714 up and used as a path to a node in the control DTB. The
715 property/value pairs in that node is then used to update the
716 run-time environment. This can be useful to use the same
717 U-Boot binary with different board variants.
718
719config ENV_FDT_PATH
720 string "Default value for env_fdt_path variable"
721 depends on ENV_IMPORT_FDT
722 default "/config/environment"
723 help
724 The initial value of the env_fdt_path variable.
725
Marek Vasut47f3b1f2020-07-07 20:51:38 +0200726config ENV_APPEND
727 bool "Always append the environment with new data"
Marek Vasut47f3b1f2020-07-07 20:51:38 +0200728 help
729 If defined, the environment hash table is only ever appended with new
730 data, but the existing hash table can never be dropped and reloaded
731 with newly imported data. This may be used in combination with static
732 flags to e.g. to protect variables which must not be modified.
733
Marek Vasutd045cba2020-07-07 20:51:39 +0200734config ENV_WRITEABLE_LIST
735 bool "Permit write access only to listed variables"
Jan Kiszka5ab81052023-02-03 13:22:51 +0100736 select ENV_APPEND
Marek Vasutd045cba2020-07-07 20:51:39 +0200737 help
738 If defined, only environment variables which explicitly set the 'w'
739 writeable flag can be written and modified at runtime. No variables
740 can be otherwise created, written or imported into the environment.
741
Marek Vasut3ec46992020-05-22 01:10:14 +0200742config ENV_ACCESS_IGNORE_FORCE
743 bool "Block forced environment operations"
Marek Vasut3ec46992020-05-22 01:10:14 +0200744 help
745 If defined, don't allow the -f switch to env set override variable
746 access flags.
747
York Sun474ecd22018-06-26 10:03:22 -0700748if SPL_ENV_SUPPORT
749config SPL_ENV_IS_NOWHERE
750 bool "SPL Environment is not stored"
751 default y if ENV_IS_NOWHERE
752 help
753 Similar to ENV_IS_NOWHERE, used for SPL environment.
754
755config SPL_ENV_IS_IN_MMC
756 bool "SPL Environment in an MMC device"
757 depends on !SPL_ENV_IS_NOWHERE
758 depends on ENV_IS_IN_MMC
759 default y
760 help
761 Similar to ENV_IS_IN_MMC, used for SPL environment.
762
763config SPL_ENV_IS_IN_FAT
764 bool "SPL Environment is in a FAT filesystem"
765 depends on !SPL_ENV_IS_NOWHERE
766 depends on ENV_IS_IN_FAT
767 default y
768 help
769 Similar to ENV_IS_IN_FAT, used for SPL environment.
770
771config SPL_ENV_IS_IN_EXT4
772 bool "SPL Environment is in a EXT4 filesystem"
773 depends on !SPL_ENV_IS_NOWHERE
774 depends on ENV_IS_IN_EXT4
775 default y
776 help
777 Similar to ENV_IS_IN_EXT4, used for SPL environment.
778
779config SPL_ENV_IS_IN_NAND
780 bool "SPL Environment in a NAND device"
781 depends on !SPL_ENV_IS_NOWHERE
782 depends on ENV_IS_IN_NAND
783 default y
784 help
785 Similar to ENV_IS_IN_NAND, used for SPL environment.
786
787config SPL_ENV_IS_IN_SPI_FLASH
788 bool "SPL Environment is in SPI flash"
789 depends on !SPL_ENV_IS_NOWHERE
790 depends on ENV_IS_IN_SPI_FLASH
791 default y
792 help
793 Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
794
795config SPL_ENV_IS_IN_FLASH
796 bool "SPL Environment in flash memory"
797 depends on !SPL_ENV_IS_NOWHERE
798 depends on ENV_IS_IN_FLASH
799 default y
800 help
801 Similar to ENV_IS_IN_FLASH, used for SPL environment.
802
803endif
804
805if TPL_ENV_SUPPORT
806
807config TPL_ENV_IS_NOWHERE
808 bool "TPL Environment is not stored"
809 default y if ENV_IS_NOWHERE
810 help
811 Similar to ENV_IS_NOWHERE, used for TPL environment.
812
813config TPL_ENV_IS_IN_MMC
814 bool "TPL Environment in an MMC device"
815 depends on !TPL_ENV_IS_NOWHERE
816 depends on ENV_IS_IN_MMC
817 default y
818 help
819 Similar to ENV_IS_IN_MMC, used for TPL environment.
820
821config TPL_ENV_IS_IN_FAT
822 bool "TPL Environment is in a FAT filesystem"
823 depends on !TPL_ENV_IS_NOWHERE
824 depends on ENV_IS_IN_FAT
825 default y
826 help
827 Similar to ENV_IS_IN_FAT, used for TPL environment.
828
829config TPL_ENV_IS_IN_EXT4
830 bool "TPL Environment is in a EXT4 filesystem"
831 depends on !TPL_ENV_IS_NOWHERE
832 depends on ENV_IS_IN_EXT4
833 default y
834 help
835 Similar to ENV_IS_IN_EXT4, used for TPL environment.
836
837config TPL_ENV_IS_IN_NAND
838 bool "TPL Environment in a NAND device"
839 depends on !TPL_ENV_IS_NOWHERE
840 depends on ENV_IS_IN_NAND
841 default y
842 help
843 Similar to ENV_IS_IN_NAND, used for TPL environment.
844
845config TPL_ENV_IS_IN_SPI_FLASH
846 bool "TPL Environment is in SPI flash"
847 depends on !TPL_ENV_IS_NOWHERE
848 depends on ENV_IS_IN_SPI_FLASH
849 default y
850 help
851 Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
852
853config TPL_ENV_IS_IN_FLASH
854 bool "TPL Environment in flash memory"
855 depends on !TPL_ENV_IS_NOWHERE
856 depends on ENV_IS_IN_FLASH
857 default y
858 help
859 Similar to ENV_IS_IN_FLASH, used for TPL environment.
860
861endif
862
Simon Glass40aa82d2023-02-22 09:34:00 -0700863if VPL_ENV_SUPPORT
864
865config VPL_ENV_IS_NOWHERE
866 bool "VPL Environment is not stored"
867 default y if ENV_IS_NOWHERE
868 help
869 Similar to ENV_IS_NOWHERE, used for VPL environment.
870
871endif # VPL_ENV_SUPPORT
872
Tom Rinifdfb17b2022-02-25 11:19:48 -0500873config USE_BOOTFILE
874 bool "Add a 'bootfile' environment variable"
875 help
876 The "bootfile" variable is used in some cases to allow for
877 controlling what file U-Boot will attempt to load and boot. To set
878 this, enable this option and set the value in the next question.
879
880config BOOTFILE
881 string "'bootfile' environment variable value"
882 depends on USE_BOOTFILE
883 help
884 The value to set the "bootfile" variable to.
885
Tom Rini0e14cdf2022-03-11 09:12:07 -0500886config USE_ETHPRIME
887 bool "Add an 'ethprime' environment variable"
888 help
889 The "ethprime" variable is used in some cases to control which
890 network interface is used first.
891
892config ETHPRIME
893 string "'ethprime' environment variable value"
894 depends on USE_ETHPRIME
895 help
896 The value to set the "ethprime" variable to.
897
Tom Rini54f80dd2022-12-02 16:42:27 -0500898config USE_HOSTNAME
899 bool "Set a default 'hostname' value in the environment"
900 default y if X86
901
902config HOSTNAME
903 string "Value of the default 'hostname' value in the environment"
904 depends on USE_HOSTNAME
905 default "x86" if X86
906 default "unknown"
907
Simon Glassbc438b62020-09-10 20:21:24 -0600908config VERSION_VARIABLE
909 bool "Add a 'ver' environment variable with the U-Boot version"
910 help
911 If this variable is defined, an environment variable
912 named "ver" is created by U-Boot showing the U-Boot
913 version as printed by the "version" command.
914 Any change to this variable will be reverted at the
915 next reset.
916
Simon Glass0649cd02017-08-03 12:21:49 -0600917endmenu