1menu "Environment"
2
3config ENV_SUPPORT
4	def_bool y
5
6config ENV_SOURCE_FILE
7	string "Environment file to use"
8	default ""
9	help
10	  This sets the basename to use to generate the default environment.
11	  This a text file as described in doc/usage/environment.rst
12
13	  The file must be in the board directory and have a .env extension, so
14	  the resulting filename is typically
15	  board/<vendor>/<board>/<CONFIG_ENV_SOURCE_FILE>.env
16
17	  If the file is not present, an error is produced.
18
19	  If this CONFIG is empty, U-Boot uses CONFIG SYS_BOARD as a default, if
20	  the file board/<vendor>/<board>/<SYS_BOARD>.env exists. Otherwise the
21	  environment is assumed to come from the ad-hoc
22	  CFG_EXTRA_ENV_SETTINGS #define
23
24config SAVEENV
25	def_bool y if CMD_SAVEENV
26
27config 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
33config 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
42config 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
58config ENV_IS_NOWHERE
59	bool "Environment is not stored"
60	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
66	help
67	  Define this if you don't want to or can't have an environment stored
68	  on a storage medium. In this case the environment will still exist
69	  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
73config 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
86	  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
90	  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
96	default y if ARCH_BCM283X
97	default y if ARCH_SUNXI && MMC
98	default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
99	select FS_FAT
100	select FAT_WRITE
101	help
102	  Define this if you want to use the FAT file system for the environment.
103
104config ENV_IS_IN_EXT4
105	bool "Environment is in a EXT4 filesystem"
106	depends on !CHAIN_OF_TRUST
107	select FS_EXT4
108	select EXT4_WRITE
109	help
110	  Define this if you want to use the EXT4 file system for the environment.
111
112config ENV_IS_IN_FLASH
113	bool "Environment in flash memory"
114	depends on !CHAIN_OF_TRUST
115	default y if ARCH_CINTEGRATOR
116	default y if ARCH_INTEGRATOR_CP
117	default y if M548x || M547x || M5282
118	default y if MCF532x || MCF52x2
119	default y if MPC86xx || MPC83xx
120	default y if ARCH_MPC8548
121	default y if SH && !CPU_SH4
122	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
145	   CONFIG_ENV_OFFSET is used relative to CFG_SYS_FLASH_BASE.
146
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
180
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
193	depends on MMC
194	default y if ARCH_EXYNOS4
195	default y if MX6SX || MX7D
196	default y if TEGRA30 || TEGRA124
197	default y if TEGRA_ARMV8_COMMON
198	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
239	  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
244	  This value is also in units of bytes, but must also be aligned to
245	  an MMC sector boundary.
246
247	  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
254config 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
276	  - 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
284config 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
294config 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
326	bool "Environment is in remote memory space"
327	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"
342	depends on !CHAIN_OF_TRUST && SPI
343	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
350	default y if ARCH_SUNXI
351	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
374config 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
388config ENV_SPI_BUS
389	int "Value of SPI flash bus for environment"
390	depends on ENV_IS_IN_SPI_FLASH
391	default SF_DEFAULT_BUS
392	help
393	  Value the SPI bus and chip select for environment.
394
395config ENV_SPI_CS
396	int "Value of SPI flash chip select for environment"
397	depends on ENV_IS_IN_SPI_FLASH
398	default SF_DEFAULT_CS
399	help
400	  Value of the SPI chip select for environment.
401
402config ENV_SPI_MAX_HZ
403	int "Value of SPI flash max frequency for environment"
404	depends on ENV_IS_IN_SPI_FLASH
405	default SF_DEFAULT_SPEED
406	help
407	  Value of the SPI max work clock for environment.
408
409config ENV_SPI_MODE
410	hex "Value of SPI flash work mode for environment"
411	depends on ENV_IS_IN_SPI_FLASH
412	default SF_DEFAULT_MODE
413	help
414	  Value of the SPI work mode for environment.
415	  See include/spi.h for value.
416
417config 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
425config ENV_IS_IN_UBI
426	bool "Environment in a UBI volume"
427	depends on !CHAIN_OF_TRUST
428	depends on MTD_UBI
429	depends on CMD_UBI
430	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
450config SYS_REDUNDAND_ENVIRONMENT
451	bool "Enable redundant environment support"
452	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.
457	  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.
460
461config ENV_FAT_INTERFACE
462	string "Name of the block device for the environment"
463	depends on ENV_IS_IN_FAT
464	default "mmc"
465	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
472	default "0:auto" if ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
473	default ":auto" if ARCH_SUNXI
474	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
490	  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
494config ENV_FAT_FILE
495	string "Name of the FAT file to use for the environment"
496	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
502config 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
510config 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
534	  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
538config ENV_EXT4_FILE
539	string "Name of the EXT4 file to use for the environment"
540	depends on ENV_IS_IN_EXT4
541	default "/uboot.env"
542	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
546config 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.
560
561config ENV_OFFSET
562	hex "Environment offset"
563	depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
564		    ENV_IS_IN_SPI_FLASH
565	default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
566	default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
567	default 0xF0000 if ARCH_SUNXI
568	default 0xE0000 if ARCH_ZYNQ
569	default 0x1E00000 if ARCH_ZYNQMP
570	default 0x7F40000 if ARCH_VERSAL || ARCH_VERSAL_NET
571	default 0 if ARC
572	default 0x140000 if ARCH_AT91
573	default 0x260000 if ARCH_OMAP2PLUS
574	default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
575	help
576	  Offset from the start of the device (or partition)
577
578config 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
582	default 0x10C0000 if MICROBLAZE
583	default 0
584	help
585	  Offset from the start of the device (or partition) of the redundant
586	  environment location.
587
588config ENV_SIZE
589	hex "Environment Size"
590	default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
591	default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
592	default 0x10000 if ARCH_SUNXI
593	default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
594	default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
595	default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET
596	default 0x4000 if ARC
597	default 0x1f000
598	help
599	  Size of the environment storage area
600
601config ENV_SECT_SIZE
602	hex "Environment Sector-Size"
603	depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
604	default 0x2000 if ARCH_ROCKCHIP
605	default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET
606	default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
607	default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
608	default 0x10000 if ARCH_SUNXI && ENV_IS_IN_SPI_FLASH
609	help
610	  Size of the sector containing the environment.
611
612config 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
624config ENV_UBI_VOLUME_REDUND
625	string "UBI redundant volume name"
626	depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
627	help
628	  Name of the redundant volume that you want to store the environment in.
629
630config 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
637config SYS_RELOC_GD_ENV_ADDR
638	bool "Relocate gd->env_addr"
639	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
643config 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 || \
646		CMD_MVEBU_BUBT || FMAN_ENET || QE || PHY_CORTINA
647	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
662config 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
671config 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
676	  as the CFG_EXTRA_ENV_SETTINGS. By selecting this option,
677	  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
689config 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
696config 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
708config 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
726config ENV_APPEND
727	bool "Always append the environment with new data"
728	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
734config ENV_WRITEABLE_LIST
735	bool "Permit write access only to listed variables"
736	select ENV_APPEND
737	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
742config ENV_ACCESS_IGNORE_FORCE
743	bool "Block forced environment operations"
744	help
745	  If defined, don't allow the -f switch to env set override variable
746	  access flags.
747
748if 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
863if 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
873config 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
886config 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
898config 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
908config 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
917endmenu
918