blob: aaf0b1fe9acc62d570eeb71082c4b797cdeb95e4 [file] [log] [blame]
Simon Glass547cb402017-08-03 12:21:49 -06001menu "Environment"
2
Rasmus Villemoesecdf0742019-12-15 22:29:39 +00003config ENV_SUPPORT
4 def_bool y
5
Simon Glass7327fe72021-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 Rinic9edebe2022-12-04 10:03:50 -050022 CFG_EXTRA_ENV_SETTINGS #define
Simon Glass7327fe72021-10-21 21:08:46 -060023
Christoph Niedermaierbb3ff7b2024-11-20 17:01:35 +010024config 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
Rasmus Villemoes21294752020-02-19 09:47:39 +000037config SAVEENV
38 def_bool y if CMD_SAVEENV
39
Adam Ford710966e2020-07-03 06:48:56 -050040config 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
Tom Rini7bb25792022-12-02 16:42:39 -050046config 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
Tom Rini0459c6b2022-06-12 20:01:58 -040055config 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 "Maximumm 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
Troy Kisky91229722023-03-13 14:31:24 -070071config ENV_IS_DEFAULT
72 def_bool y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
Patrice Chotardaf755812019-05-07 11:24:02 +020073 !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
Troy Kisky91229722023-03-13 14:31:24 -070078 select ENV_IS_NOWHERE
79
80config ENV_IS_NOWHERE
81 bool "Environment is not stored"
Simon Glass87551f12017-08-03 12:21:59 -060082 help
Troy Kisky91229722023-03-13 14:31:24 -070083 Define this if you don't care whether or not an environment is stored
Shyam Sainiefe757c2018-06-07 19:47:19 +053084 on a storage medium. In this case the environment will still exist
Troy Kisky91229722023-03-13 14:31:24 -070085 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.
Simon Glass87551f12017-08-03 12:21:59 -060088
Simon Glass547cb402017-08-03 12:21:49 -060089config 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
Simon Glass547cb402017-08-03 12:21:49 -0600102 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
Simon Glass547cb402017-08-03 12:21:49 -0600106 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
Maxime Ripard7569e182018-01-23 21:17:01 +0100112 default y if ARCH_BCM283X
Maxime Ripard8b7dcd32018-01-23 21:17:04 +0100113 default y if ARCH_SUNXI && MMC
Maxime Ripard7569e182018-01-23 21:17:01 +0100114 default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
Tuomas Tynkkynendc256cd2018-01-05 02:45:19 +0200115 select FS_FAT
Simon Glass547cb402017-08-03 12:21:49 -0600116 select FAT_WRITE
117 help
Simon Glassea8bf842017-08-03 12:21:50 -0600118 Define this if you want to use the FAT file system for the environment.
Simon Glass547cb402017-08-03 12:21:49 -0600119
Jorge Ramirez-Ortiz4a4c26d2018-01-10 11:33:48 +0100120config ENV_IS_IN_EXT4
121 bool "Environment is in a EXT4 filesystem"
122 depends on !CHAIN_OF_TRUST
Michal Simek4b4ba3c2020-08-19 10:44:23 +0200123 select FS_EXT4
Jorge Ramirez-Ortiz4a4c26d2018-01-10 11:33:48 +0100124 select EXT4_WRITE
125 help
126 Define this if you want to use the EXT4 file system for the environment.
127
Simon Glass547cb402017-08-03 12:21:49 -0600128config ENV_IS_IN_FLASH
129 bool "Environment in flash memory"
130 depends on !CHAIN_OF_TRUST
Maxime Ripard7569e182018-01-23 21:17:01 +0100131 default y if ARCH_CINTEGRATOR
132 default y if ARCH_INTEGRATOR_CP
Tom Rini7ab2f5f2021-05-14 21:34:10 -0400133 default y if M548x || M547x || M5282
Maxime Ripard7569e182018-01-23 21:17:01 +0100134 default y if MCF532x || MCF52x2
135 default y if MPC86xx || MPC83xx
Tom Rinie5404982021-05-14 21:34:26 -0400136 default y if ARCH_MPC8548
Maxime Ripard7569e182018-01-23 21:17:01 +0100137 default y if SH && !CPU_SH4
Simon Glass547cb402017-08-03 12:21:49 -0600138 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
Tom Rini6a5dccc2022-11-16 13:10:41 -0500161 CONFIG_ENV_OFFSET is used relative to CFG_SYS_FLASH_BASE.
Simon Glass547cb402017-08-03 12:21:49 -0600162
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
Simon Glass547cb402017-08-03 12:21:49 -0600196
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
Maxime Ripard662a1ec2018-01-23 21:17:00 +0100209 depends on MMC
Maxime Ripard7569e182018-01-23 21:17:01 +0100210 default y if ARCH_EXYNOS4
211 default y if MX6SX || MX7D
212 default y if TEGRA30 || TEGRA124
213 default y if TEGRA_ARMV8_COMMON
Simon Glass547cb402017-08-03 12:21:49 -0600214 help
215 Define this if you have an MMC device which you want to use for the
216 environment.
217
218 CONFIG_SYS_MMC_ENV_DEV:
219
220 Specifies which MMC device the environment is stored in.
221
222 CONFIG_SYS_MMC_ENV_PART (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 If offset is positive (the usual case), it is treated as relative to
235 the start of the MMC partition. If offset is negative, it is treated
236 as relative to the end of the MMC partition. This can be useful if
237 your board may be fitted with different MMC devices, which have
238 different sizes for the MMC partitions, and you always want the
239 environment placed at the very end of the partition, to leave the
240 maximum possible space before it, to store other data.
241
242 These two values are in units of bytes, but must be aligned to an
243 MMC sector boundary.
244
245 CONFIG_ENV_OFFSET_REDUND (optional):
246
247 Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
248 hold a redundant copy of the environment data. This provides a
249 valid backup copy in case the other copy is corrupted, e.g. due
250 to a power failure during a "saveenv" operation.
251
252 This value may also be positive or negative; this is handled in the
253 same way as CONFIG_ENV_OFFSET.
254
Marek Vasut509f36e2021-10-17 19:23:36 +0200255 In case CONFIG_SYS_MMC_ENV_PART is 1 (i.e. environment in eMMC boot
256 partition) then setting CONFIG_ENV_OFFSET_REDUND to the same value
257 as CONFIG_ENV_OFFSET makes use of the second eMMC boot partition for
258 the redundant environment copy.
259
Simon Glass547cb402017-08-03 12:21:49 -0600260 This value is also in units of bytes, but must also be aligned to
261 an MMC sector boundary.
262
Patrick Delaunay41e143f2022-11-10 11:49:01 +0100263 CONFIG_ENV_MMC_USE_DT (optional):
264
265 These define forces the configuration by the config node in device
266 tree with partition name: "u-boot,mmc-env-partition" or with
267 offset: "u-boot,mmc-env-offset", "u-boot,mmc-env-offset-redundant".
268 CONFIG_ENV_OFFSET and CONFIG_ENV_OFFSET_REDUND are not used.
269
Simon Glass547cb402017-08-03 12:21:49 -0600270config ENV_IS_IN_NAND
271 bool "Environment in a NAND device"
272 depends on !CHAIN_OF_TRUST
273 help
274 Define this if you have a NAND device which you want to use for the
275 environment.
276
277 - CONFIG_ENV_OFFSET:
278 - CONFIG_ENV_SIZE:
279
280 These two #defines specify the offset and size of the environment
281 area within the first NAND device. CONFIG_ENV_OFFSET must be
282 aligned to an erase block boundary.
283
284 - CONFIG_ENV_OFFSET_REDUND (optional):
285
286 This setting describes a second storage area of CONFIG_ENV_SIZE
287 size used to hold a redundant copy of the environment data, so
288 that there is a valid backup copy in case there is a power failure
289 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
290 aligned to an erase block boundary.
291
Simon Glass547cb402017-08-03 12:21:49 -0600292 - CONFIG_ENV_OFFSET_OOB (optional):
293
294 Enables support for dynamically retrieving the offset of the
295 environment from block zero's out-of-band data. The
296 "nand env.oob" command can be used to record this offset.
297 Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
298 using CONFIG_ENV_OFFSET_OOB.
299
Tom Rini0eeb1c72022-06-13 22:57:33 -0400300config ENV_RANGE
301 hex "Length of the region in which the environment can be written"
302 depends on ENV_IS_IN_NAND
303 range ENV_SIZE 0x7fffffff
304 default ENV_SIZE
305 help
306 This should be a multiple of the NAND device's block size.
307 Specifying a range with more erase blocks than are needed to hold
308 CONFIG_ENV_SIZE allows bad blocks within the range to be avoided.
309
Simon Glass547cb402017-08-03 12:21:49 -0600310config ENV_IS_IN_NVRAM
311 bool "Environment in a non-volatile RAM"
312 depends on !CHAIN_OF_TRUST
313 help
314 Define this if you have some non-volatile memory device
315 (NVRAM, battery buffered SRAM) which you want to use for the
316 environment.
317
318 - CONFIG_ENV_ADDR:
319 - CONFIG_ENV_SIZE:
320
321 These two #defines are used to determine the memory area you
322 want to use for environment. It is assumed that this memory
323 can just be read and written to, without any special
324 provision.
325
326config ENV_IS_IN_ONENAND
327 bool "Environment is in OneNAND"
Tom Rinidec7ea02024-05-20 13:35:03 -0600328 depends on !CHAIN_OF_TRUST && CMD_ONENAND
Simon Glass547cb402017-08-03 12:21:49 -0600329 help
330 Define this if you want to put your local device's environment in
331 OneNAND.
332
333 - CONFIG_ENV_ADDR:
334 - CONFIG_ENV_SIZE:
335
336 These two #defines are used to determine the device range you
337 want to use for environment. It is assumed that this memory
338 can just be read and written to, without any special
339 provision.
340
341config ENV_IS_IN_REMOTE
Heinrich Schuchardtaefbfe12018-03-17 22:53:11 +0000342 bool "Environment is in remote memory space"
Simon Glass547cb402017-08-03 12:21:49 -0600343 depends on !CHAIN_OF_TRUST
344 help
345 Define this if you have a remote memory space which you
346 want to use for the local device's environment.
347
348 - CONFIG_ENV_ADDR:
349 - CONFIG_ENV_SIZE:
350
351 These two #defines specify the address and size of the
352 environment area within the remote memory space. The
353 local device can get the environment from remote memory
354 space by SRIO or PCIE links.
355
356config ENV_IS_IN_SPI_FLASH
357 bool "Environment is in SPI flash"
Tom Rini7e28ea82024-01-10 13:46:08 -0500358 depends on !CHAIN_OF_TRUST && (SPI_FLASH || DM_SPI_FLASH)
Maxime Ripard7569e182018-01-23 21:17:01 +0100359 default y if ARMADA_XP
360 default y if INTEL_BAYTRAIL
361 default y if INTEL_BRASWELL
362 default y if INTEL_BROADWELL
363 default y if NORTHBRIDGE_INTEL_IVYBRIDGE
364 default y if INTEL_QUARK
365 default y if INTEL_QUEENSBAY
Andre Przywarae28ff722022-01-11 12:46:05 +0000366 default y if ARCH_SUNXI
Simon Glass547cb402017-08-03 12:21:49 -0600367 help
368 Define this if you have a SPI Flash memory device which you
369 want to use for the environment.
370
371 - CONFIG_ENV_OFFSET:
372 - CONFIG_ENV_SIZE:
373
374 These two #defines specify the offset and size of the
375 environment area within the SPI Flash. CONFIG_ENV_OFFSET must be
376 aligned to an erase sector boundary.
377
378 - CONFIG_ENV_SECT_SIZE:
379
380 Define the SPI flash's sector size.
381
382 - CONFIG_ENV_OFFSET_REDUND (optional):
383
384 This setting describes a second storage area of CONFIG_ENV_SIZE
385 size used to hold a redundant copy of the environment data, so
386 that there is a valid backup copy in case there is a power failure
387 during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
388 aligned to an erase sector boundary.
389
Rasmus Villemoese535f5b2021-04-14 20:51:43 +0200390config ENV_SECT_SIZE_AUTO
391 bool "Use automatically detected sector size"
392 depends on ENV_IS_IN_SPI_FLASH
393 help
394 Some boards exist in multiple variants, with different
395 flashes having different sector sizes. In such cases, you
396 can select this option to make U-Boot use the actual sector
397 size when figuring out how much to erase, which can thus be
398 more efficient on the flashes with smaller erase size. Since
399 the environment must always be aligned on a sector boundary,
400 CONFIG_ENV_OFFSET must be aligned to the largest of the
401 different sector sizes, and CONFIG_ENV_SECT_SIZE should be
402 set to that value.
403
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100404config ENV_SPI_BUS
405 int "Value of SPI flash bus for environment"
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100406 depends on ENV_IS_IN_SPI_FLASH
Tom Rini119d2fb2021-12-11 14:55:48 -0500407 default SF_DEFAULT_BUS
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100408 help
Tom Rini119d2fb2021-12-11 14:55:48 -0500409 Value the SPI bus and chip select for environment.
Simon Glass547cb402017-08-03 12:21:49 -0600410
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100411config ENV_SPI_CS
412 int "Value of SPI flash chip select for environment"
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100413 depends on ENV_IS_IN_SPI_FLASH
Tom Rini119d2fb2021-12-11 14:55:48 -0500414 default SF_DEFAULT_CS
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100415 help
Tom Rini119d2fb2021-12-11 14:55:48 -0500416 Value of the SPI chip select for environment.
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100417
418config ENV_SPI_MAX_HZ
Marek Vasutdfe74622019-05-04 19:10:05 +0200419 int "Value of SPI flash max frequency for environment"
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100420 depends on ENV_IS_IN_SPI_FLASH
Tom Rini119d2fb2021-12-11 14:55:48 -0500421 default SF_DEFAULT_SPEED
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100422 help
Tom Rini119d2fb2021-12-11 14:55:48 -0500423 Value of the SPI max work clock for environment.
Simon Glass547cb402017-08-03 12:21:49 -0600424
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100425config ENV_SPI_MODE
426 hex "Value of SPI flash work mode for environment"
Tom Rini119d2fb2021-12-11 14:55:48 -0500427 depends on ENV_IS_IN_SPI_FLASH
428 default SF_DEFAULT_MODE
Patrick Delaunayf8e932e2019-02-27 15:20:38 +0100429 help
430 Value of the SPI work mode for environment.
431 See include/spi.h for value.
Simon Glass547cb402017-08-03 12:21:49 -0600432
Heiko Schocher704d21c2020-10-10 10:28:05 +0200433config ENV_SPI_EARLY
434 bool "Access Environment in SPI flashes before relocation"
435 depends on ENV_IS_IN_SPI_FLASH
436 help
437 Enable this if you want to use Environment in SPI flash
438 before relocation. Call env_init() and than you can use
439 env_get_f() for accessing Environment variables.
440
Simon Glass547cb402017-08-03 12:21:49 -0600441config ENV_IS_IN_UBI
442 bool "Environment in a UBI volume"
443 depends on !CHAIN_OF_TRUST
Miquel Raynal27271b62019-10-03 19:50:12 +0200444 depends on MTD_UBI
445 depends on CMD_UBI
Simon Glass547cb402017-08-03 12:21:49 -0600446 help
447 Define this if you have an UBI volume that you want to use for the
448 environment. This has the benefit of wear-leveling the environment
449 accesses, which is important on NAND.
450
451 - CONFIG_ENV_UBI_PART:
452
453 Define this to a string that is the mtd partition containing the UBI.
454
455 - CONFIG_ENV_UBI_VOLUME:
456
457 Define this to the name of the volume that you want to store the
458 environment in.
459
460 - CONFIG_ENV_UBI_VOLUME_REDUND:
461
462 Define this to the name of another volume to store a second copy of
463 the environment in. This will enable redundant environments in UBI.
464 It is assumed that both volumes are in the same MTD partition.
465
Tom Rini4bb26a42019-11-10 11:28:03 -0500466config SYS_REDUNDAND_ENVIRONMENT
467 bool "Enable redundant environment support"
Tom Rini4bb26a42019-11-10 11:28:03 -0500468 help
469 Normally, the environemt is stored in a single location. By
470 selecting this option, you can then define where to hold a redundant
471 copy of the environment data, so that there is a valid backup copy in
472 case there is a power failure during a "saveenv" operation.
Michal Simekcc780ec2021-01-13 10:25:50 +0100473 Also this config changes the binary environment structure handling
474 which is used by env import/export commands which are independent of
475 storing variables to redundant location on a non volatile device.
Tom Rini4bb26a42019-11-10 11:28:03 -0500476
Simon Glass547cb402017-08-03 12:21:49 -0600477config ENV_FAT_INTERFACE
478 string "Name of the block device for the environment"
479 depends on ENV_IS_IN_FAT
Michal Simek5227e1e2020-02-25 15:50:33 +0100480 default "mmc"
Simon Glass547cb402017-08-03 12:21:49 -0600481 help
482 Define this to a string that is the name of the block device.
483
484config ENV_FAT_DEVICE_AND_PART
485 string "Device and partition for where to store the environemt in FAT"
486 depends on ENV_IS_IN_FAT
487 default "0:1" if TI_COMMON_CMD_OPTIONS
Venkatesh Yadav Abbarapufc4884b2024-03-12 17:04:21 +0530488 default "0:auto" if ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET
Samuel Hollandbc42abb2021-04-18 22:16:21 -0500489 default ":auto" if ARCH_SUNXI
Simon Glass547cb402017-08-03 12:21:49 -0600490 default "0" if ARCH_AT91
491 help
492 Define this to a string to specify the partition of the device. It can
493 be as following:
494
495 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
496 - "D:P": device D partition P. Error occurs if device D has no
497 partition table.
498 - "D:0": device D.
499 - "D" or "D:": device D partition 1 if device D has partition
500 table, or the whole device D if has no partition
501 table.
502 - "D:auto": first partition in device D with bootable flag set.
503 If none, first valid partition in device D. If no
504 partition table then means device D.
505
David Woodhouse93365392020-06-19 23:07:17 +0100506 If ENV_FAT_INTERFACE is set to "mmc" then device 'D' can be omitted,
507 leaving the string starting with a colon, and the boot device will
508 be used.
509
Simon Glass547cb402017-08-03 12:21:49 -0600510config ENV_FAT_FILE
Shyam Sainiefe757c2018-06-07 19:47:19 +0530511 string "Name of the FAT file to use for the environment"
Simon Glass547cb402017-08-03 12:21:49 -0600512 depends on ENV_IS_IN_FAT
513 default "uboot.env"
514 help
515 It's a string of the FAT file name. This file use to store the
516 environment.
517
Brandon Maierf2815462021-01-16 15:14:43 -0600518config ENV_FAT_FILE_REDUND
519 string "Name of the FAT file to use for the environment"
520 depends on ENV_IS_IN_FAT && SYS_REDUNDAND_ENVIRONMENT
521 default "uboot-redund.env"
522 help
523 It's a string of the FAT file name. This file use to store the
524 redundant environment.
525
Jorge Ramirez-Ortiz4a4c26d2018-01-10 11:33:48 +0100526config ENV_EXT4_INTERFACE
527 string "Name of the block device for the environment"
528 depends on ENV_IS_IN_EXT4
529 help
530 Define this to a string that is the name of the block device.
531
532config ENV_EXT4_DEVICE_AND_PART
533 string "Device and partition for where to store the environemt in EXT4"
534 depends on ENV_IS_IN_EXT4
535 help
536 Define this to a string to specify the partition of the device. It can
537 be as following:
538
539 "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
540 - "D:P": device D partition P. Error occurs if device D has no
541 partition table.
542 - "D:0": device D.
543 - "D" or "D:": device D partition 1 if device D has partition
544 table, or the whole device D if has no partition
545 table.
546 - "D:auto": first partition in device D with bootable flag set.
547 If none, first valid partition in device D. If no
548 partition table then means device D.
549
David Woodhouse6815e2c2020-08-04 10:05:47 +0100550 If ENV_EXT4_INTERFACE is set to "mmc" then device 'D' can be omitted,
551 leaving the string starting with a colon, and the boot device will
552 be used.
553
Jorge Ramirez-Ortiz4a4c26d2018-01-10 11:33:48 +0100554config ENV_EXT4_FILE
Shyam Sainiefe757c2018-06-07 19:47:19 +0530555 string "Name of the EXT4 file to use for the environment"
Jorge Ramirez-Ortiz4a4c26d2018-01-10 11:33:48 +0100556 depends on ENV_IS_IN_EXT4
Patrick Delaunay955b6712020-07-28 11:51:14 +0200557 default "/uboot.env"
Jorge Ramirez-Ortiz4a4c26d2018-01-10 11:33:48 +0100558 help
559 It's a string of the EXT4 file name. This file use to store the
560 environment (explicit path to the file)
561
Tom Rini5cd7ece2019-11-18 20:02:10 -0500562config ENV_ADDR
563 hex "Environment address"
564 depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
565 ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
566 default 0x0 if ENV_IS_IN_SPI_FLASH
567 help
568 Offset from the start of the device (or partition)
569
570config ENV_ADDR_REDUND
571 hex "Redundant environment address"
572 depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
573 help
574 Offset from the start of the device (or partition) of the redundant
575 environment location.
Simon Glass547cb402017-08-03 12:21:49 -0600576
577config ENV_OFFSET
Tom Rini5cd7ece2019-11-18 20:02:10 -0500578 hex "Environment offset"
579 depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
580 ENV_IS_IN_SPI_FLASH
Jagan Tekic4ec2262019-12-21 13:24:35 +0530581 default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
Jagan Teki68397572019-12-21 13:24:36 +0530582 default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
Andre Przywaracf844082022-01-11 12:46:03 +0000583 default 0xF0000 if ARCH_SUNXI
Michal Simeke93ef192018-07-19 08:45:45 +0200584 default 0xE0000 if ARCH_ZYNQ
585 default 0x1E00000 if ARCH_ZYNQMP
Michal Simekd903ce42024-05-29 16:47:58 +0200586 default 0x7F40000 if ARCH_VERSAL || ARCH_VERSAL_NET || ARCH_VERSAL2
Tom Rinif18679c2023-08-02 11:09:43 -0400587 default 0x0 if ARC
Markus Klotzbuecher7bd60e62019-05-15 15:15:54 +0200588 default 0x140000 if ARCH_AT91
589 default 0x260000 if ARCH_OMAP2PLUS
Varalaxmi Bingi52e79212020-02-05 03:58:20 -0700590 default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
Simon Glass547cb402017-08-03 12:21:49 -0600591 help
Paul Barker86e23d12023-09-01 15:28:59 +0100592 Offset from the start of the device (or partition).
593
594 This offset may be interpreted differently depending on the chosen
595 ENV_IS_IN_* options. For example, for ENV_IS_IN_MMC=y, this offset may
596 be negative to indicate an offset backwards from the end of the
597 partition. See the relevant help messages for more details.
Simon Glass547cb402017-08-03 12:21:49 -0600598
Tom Rini5cd7ece2019-11-18 20:02:10 -0500599config ENV_OFFSET_REDUND
600 hex "Redundant environment offset"
601 depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
602 ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
T Karthik Reddy5bb3d912022-08-24 13:23:26 +0200603 default 0x10C0000 if MICROBLAZE
Tom Rinif18679c2023-08-02 11:09:43 -0400604 default 0x0
Tom Rini5cd7ece2019-11-18 20:02:10 -0500605 help
606 Offset from the start of the device (or partition) of the redundant
607 environment location.
608
Paul Barker86e23d12023-09-01 15:28:59 +0100609 This offset may be interpreted differently depending on the chosen
610 ENV_IS_IN_* options. For example, for ENV_IS_IN_MMC=y, this offset may
611 be negative to indicate an offset backwards from the end of the
612 partition. See the relevant help messages for more details.
613
Simon Glass547cb402017-08-03 12:21:49 -0600614config ENV_SIZE
615 hex "Environment Size"
Michal Simeke93ef192018-07-19 08:45:45 +0200616 default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
Andre Przywaracf844082022-01-11 12:46:03 +0000617 default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
618 default 0x10000 if ARCH_SUNXI
Jagan Tekic4ec2262019-12-21 13:24:35 +0530619 default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
Jagan Teki68397572019-12-21 13:24:36 +0530620 default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
Michal Simekd903ce42024-05-29 16:47:58 +0200621 default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET || ARCH_VERSAL2
Alexey Brodkin07dfc092019-01-15 11:42:48 +0300622 default 0x4000 if ARC
Markus Klotzbuecher7bd60e62019-05-15 15:15:54 +0200623 default 0x1f000
Simon Glass547cb402017-08-03 12:21:49 -0600624 help
625 Size of the environment storage area
626
Michal Simeke93ef192018-07-19 08:45:45 +0200627config ENV_SECT_SIZE
628 hex "Environment Sector-Size"
Tom Rini5cd7ece2019-11-18 20:02:10 -0500629 depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
Jagan Teki68397572019-12-21 13:24:36 +0530630 default 0x2000 if ARCH_ROCKCHIP
Michal Simekd903ce42024-05-29 16:47:58 +0200631 default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET || ARCH_VERSAL2
Markus Klotzbuecher7bd60e62019-05-15 15:15:54 +0200632 default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
Varalaxmi Bingi52e79212020-02-05 03:58:20 -0700633 default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
Andre Przywaracf844082022-01-11 12:46:03 +0000634 default 0x10000 if ARCH_SUNXI && ENV_IS_IN_SPI_FLASH
Michal Simeke93ef192018-07-19 08:45:45 +0200635 help
636 Size of the sector containing the environment.
637
Simon Glass547cb402017-08-03 12:21:49 -0600638config ENV_UBI_PART
639 string "UBI partition name"
640 depends on ENV_IS_IN_UBI
641 help
642 MTD partition containing the UBI device
643
644config ENV_UBI_VOLUME
645 string "UBI volume name"
646 depends on ENV_IS_IN_UBI
647 help
648 Name of the volume that you want to store the environment in.
649
Markus Klotzbuecher975bcde2019-05-15 15:15:53 +0200650config ENV_UBI_VOLUME_REDUND
651 string "UBI redundant volume name"
Tom Rini4bb26a42019-11-10 11:28:03 -0500652 depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
Markus Klotzbuecher975bcde2019-05-15 15:15:53 +0200653 help
654 Name of the redundant volume that you want to store the environment in.
655
Hamish Guthrie674ab242019-05-15 15:15:55 +0200656config ENV_UBI_VID_OFFSET
657 int "ubi environment VID offset"
658 depends on ENV_IS_IN_UBI
659 default 0
660 help
661 UBI VID offset for environment. If 0, no custom VID offset is used.
662
Tom Rinica63e712019-11-12 22:46:36 -0500663config SYS_RELOC_GD_ENV_ADDR
Patrick Delaunay9f757532020-06-10 19:28:42 +0200664 bool "Relocate gd->env_addr"
Tom Rinica63e712019-11-12 22:46:36 -0500665 help
666 Relocate the early env_addr pointer so we know it is not inside
667 the binary. Some systems need this and for the rest, it doesn't hurt.
668
Tom Rinieb1f9092020-07-24 17:14:47 -0400669config SYS_MMC_ENV_DEV
670 int "mmc device number"
Heinrich Schuchardtf5a02e32024-03-31 04:37:16 +0200671 depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT || ENV_IS_IN_EXT4 || \
Kuldeep Singhd6cfb902021-08-10 11:20:06 +0530672 CMD_MVEBU_BUBT || FMAN_ENET || QE || PHY_CORTINA
Tom Rinieb1f9092020-07-24 17:14:47 -0400673 default 0
674 help
675 MMC device number on the platform where the environment is stored.
676
677config SYS_MMC_ENV_PART
678 int "mmc partition number"
679 depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT
680 default 0
681 help
682 MMC hardware partition device number on the platform where the
683 environment is stored. Note that this is not related to any software
684 defined partition table but instead if we are in the user area, which is
685 partition 0 or the first boot partition, which is 1 or some other defined
686 partition.
687
Emmanuel Di Fedeb6601dd2023-06-14 12:05:28 +0200688config USE_ENV_MMC_PARTITION
689 bool "use the mmc environment partition name"
690 depends on ENV_IS_IN_MMC
691
692config ENV_MMC_PARTITION
693 string "mmc environment partition name"
694 depends on USE_ENV_MMC_PARTITION
695 help
696 MMC partition name used to save environment variables.
697 If this variable is unset, u-boot will try to get the env partition name
698 from the device-tree's /config node.
699
Patrick Delaunay41e143f2022-11-10 11:49:01 +0100700config ENV_MMC_USE_DT
701 bool "Read partition name and offset in DT"
702 depends on ENV_IS_IN_MMC && OF_CONTROL
703 help
704 Only use the device tree to get the environment location in MMC
705 device, with partition name or with offset.
706 The 2 defines CONFIG_ENV_OFFSET, CONFIG_ENV_OFFSET_REDUND
707 are not used as fallback.
708
Rasmus Villemoes14c71142018-03-20 11:38:45 +0100709config USE_DEFAULT_ENV_FILE
710 bool "Create default environment from file"
711 help
712 Normally, the default environment is automatically generated
713 based on the settings of various CONFIG_* options, as well
Tom Rinic9edebe2022-12-04 10:03:50 -0500714 as the CFG_EXTRA_ENV_SETTINGS. By selecting this option,
Rasmus Villemoes14c71142018-03-20 11:38:45 +0100715 you can instead define the entire default environment in an
716 external file.
717
718config DEFAULT_ENV_FILE
719 string "Path to default environment file"
720 depends on USE_DEFAULT_ENV_FILE
721 help
722 The path containing the default environment. The format is
723 the same as accepted by the mkenvimage tool: lines
724 containing key=value pairs, blank lines and lines beginning
725 with # are ignored.
726
Alex Kiernana410d6e2018-04-01 16:37:53 +0000727config ENV_VARS_UBOOT_RUNTIME_CONFIG
728 bool "Add run-time information to the environment"
729 help
730 Enable this in order to add variables describing certain
731 run-time determined information about the hardware to the
732 environment. These will be named board_name, board_rev.
733
Ovidiu Panait86ccd752020-05-06 20:38:42 +0300734config DELAY_ENVIRONMENT
735 bool "Delay environment loading"
736 depends on !OF_CONTROL
737 help
738 Enable this to inhibit loading the environment during board
739 initialization. This can address the security risk of untrusted data
740 being used during boot. Normally the environment is loaded when the
741 board is initialised so that it is available to U-Boot. This inhibits
742 that so that the environment is not available until explicitly loaded
743 later by U-Boot code. With CONFIG_OF_CONTROL this is instead
744 controlled by the value of /config/load-environment.
745
Rasmus Villemoescf8e5432021-04-21 11:06:54 +0200746config ENV_IMPORT_FDT
747 bool "Amend environment by FDT properties"
748 depends on OF_CONTROL
749 help
750 If selected, after the environment has been loaded from its
751 persistent location, the "env_fdt_path" variable is looked
752 up and used as a path to a node in the control DTB. The
753 property/value pairs in that node is then used to update the
754 run-time environment. This can be useful to use the same
755 U-Boot binary with different board variants.
756
757config ENV_FDT_PATH
758 string "Default value for env_fdt_path variable"
759 depends on ENV_IMPORT_FDT
760 default "/config/environment"
761 help
762 The initial value of the env_fdt_path variable.
763
Marek Vasuta7b82672020-07-07 20:51:38 +0200764config ENV_APPEND
765 bool "Always append the environment with new data"
Marek Vasuta7b82672020-07-07 20:51:38 +0200766 help
767 If defined, the environment hash table is only ever appended with new
768 data, but the existing hash table can never be dropped and reloaded
769 with newly imported data. This may be used in combination with static
770 flags to e.g. to protect variables which must not be modified.
771
Marek Vasut803549f2020-07-07 20:51:39 +0200772config ENV_WRITEABLE_LIST
773 bool "Permit write access only to listed variables"
Jan Kiszka755703b2023-02-03 13:22:51 +0100774 select ENV_APPEND
Marek Vasut803549f2020-07-07 20:51:39 +0200775 help
776 If defined, only environment variables which explicitly set the 'w'
777 writeable flag can be written and modified at runtime. No variables
778 can be otherwise created, written or imported into the environment.
779
Marek Vasutb7f3f232020-05-22 01:10:14 +0200780config ENV_ACCESS_IGNORE_FORCE
781 bool "Block forced environment operations"
Marek Vasutb7f3f232020-05-22 01:10:14 +0200782 help
783 If defined, don't allow the -f switch to env set override variable
784 access flags.
785
York Sun187da8d2018-06-26 10:03:22 -0700786if SPL_ENV_SUPPORT
787config SPL_ENV_IS_NOWHERE
788 bool "SPL Environment is not stored"
789 default y if ENV_IS_NOWHERE
790 help
791 Similar to ENV_IS_NOWHERE, used for SPL environment.
792
793config SPL_ENV_IS_IN_MMC
794 bool "SPL Environment in an MMC device"
795 depends on !SPL_ENV_IS_NOWHERE
796 depends on ENV_IS_IN_MMC
797 default y
798 help
799 Similar to ENV_IS_IN_MMC, used for SPL environment.
800
801config SPL_ENV_IS_IN_FAT
802 bool "SPL Environment is in a FAT filesystem"
803 depends on !SPL_ENV_IS_NOWHERE
804 depends on ENV_IS_IN_FAT
805 default y
806 help
807 Similar to ENV_IS_IN_FAT, used for SPL environment.
808
809config SPL_ENV_IS_IN_EXT4
810 bool "SPL Environment is in a EXT4 filesystem"
811 depends on !SPL_ENV_IS_NOWHERE
812 depends on ENV_IS_IN_EXT4
813 default y
814 help
815 Similar to ENV_IS_IN_EXT4, used for SPL environment.
816
817config SPL_ENV_IS_IN_NAND
818 bool "SPL Environment in a NAND device"
819 depends on !SPL_ENV_IS_NOWHERE
820 depends on ENV_IS_IN_NAND
821 default y
822 help
823 Similar to ENV_IS_IN_NAND, used for SPL environment.
824
825config SPL_ENV_IS_IN_SPI_FLASH
826 bool "SPL Environment is in SPI flash"
827 depends on !SPL_ENV_IS_NOWHERE
828 depends on ENV_IS_IN_SPI_FLASH
829 default y
830 help
831 Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
832
833config SPL_ENV_IS_IN_FLASH
834 bool "SPL Environment in flash memory"
835 depends on !SPL_ENV_IS_NOWHERE
836 depends on ENV_IS_IN_FLASH
837 default y
838 help
839 Similar to ENV_IS_IN_FLASH, used for SPL environment.
840
841endif
842
843if TPL_ENV_SUPPORT
844
845config TPL_ENV_IS_NOWHERE
846 bool "TPL Environment is not stored"
847 default y if ENV_IS_NOWHERE
848 help
849 Similar to ENV_IS_NOWHERE, used for TPL environment.
850
851config TPL_ENV_IS_IN_MMC
852 bool "TPL Environment in an MMC device"
853 depends on !TPL_ENV_IS_NOWHERE
854 depends on ENV_IS_IN_MMC
855 default y
856 help
857 Similar to ENV_IS_IN_MMC, used for TPL environment.
858
859config TPL_ENV_IS_IN_FAT
860 bool "TPL Environment is in a FAT filesystem"
861 depends on !TPL_ENV_IS_NOWHERE
862 depends on ENV_IS_IN_FAT
863 default y
864 help
865 Similar to ENV_IS_IN_FAT, used for TPL environment.
866
867config TPL_ENV_IS_IN_EXT4
868 bool "TPL Environment is in a EXT4 filesystem"
869 depends on !TPL_ENV_IS_NOWHERE
870 depends on ENV_IS_IN_EXT4
871 default y
872 help
873 Similar to ENV_IS_IN_EXT4, used for TPL environment.
874
875config TPL_ENV_IS_IN_NAND
876 bool "TPL Environment in a NAND device"
877 depends on !TPL_ENV_IS_NOWHERE
878 depends on ENV_IS_IN_NAND
879 default y
880 help
881 Similar to ENV_IS_IN_NAND, used for TPL environment.
882
883config TPL_ENV_IS_IN_SPI_FLASH
884 bool "TPL Environment is in SPI flash"
885 depends on !TPL_ENV_IS_NOWHERE
886 depends on ENV_IS_IN_SPI_FLASH
887 default y
888 help
889 Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
890
891config TPL_ENV_IS_IN_FLASH
892 bool "TPL Environment in flash memory"
893 depends on !TPL_ENV_IS_NOWHERE
894 depends on ENV_IS_IN_FLASH
895 default y
896 help
897 Similar to ENV_IS_IN_FLASH, used for TPL environment.
898
899endif
900
Simon Glassfb89f632023-02-22 09:34:00 -0700901if VPL_ENV_SUPPORT
902
903config VPL_ENV_IS_NOWHERE
904 bool "VPL Environment is not stored"
905 default y if ENV_IS_NOWHERE
906 help
907 Similar to ENV_IS_NOWHERE, used for VPL environment.
908
909endif # VPL_ENV_SUPPORT
910
Tom Rini5fb860c2022-02-25 11:19:48 -0500911config USE_BOOTFILE
912 bool "Add a 'bootfile' environment variable"
913 help
914 The "bootfile" variable is used in some cases to allow for
915 controlling what file U-Boot will attempt to load and boot. To set
916 this, enable this option and set the value in the next question.
917
918config BOOTFILE
919 string "'bootfile' environment variable value"
920 depends on USE_BOOTFILE
921 help
922 The value to set the "bootfile" variable to.
923
Tom Rinife586752022-03-11 09:12:07 -0500924config USE_ETHPRIME
925 bool "Add an 'ethprime' environment variable"
926 help
927 The "ethprime" variable is used in some cases to control which
928 network interface is used first.
929
930config ETHPRIME
931 string "'ethprime' environment variable value"
932 depends on USE_ETHPRIME
933 help
934 The value to set the "ethprime" variable to.
935
Tom Rini1479a832022-12-02 16:42:27 -0500936config USE_HOSTNAME
937 bool "Set a default 'hostname' value in the environment"
938 default y if X86
939
940config HOSTNAME
941 string "Value of the default 'hostname' value in the environment"
942 depends on USE_HOSTNAME
943 default "x86" if X86
944 default "unknown"
945
Simon Glass99298be2020-09-10 20:21:24 -0600946config VERSION_VARIABLE
947 bool "Add a 'ver' environment variable with the U-Boot version"
948 help
949 If this variable is defined, an environment variable
950 named "ver" is created by U-Boot showing the U-Boot
951 version as printed by the "version" command.
952 Any change to this variable will be reverted at the
953 next reset.
954
Simon Glass547cb402017-08-03 12:21:49 -0600955endmenu