1menu "Environment"
2
3config ENV_SUPPORT
4	def_bool y
5
6config SAVEENV
7	def_bool y if CMD_SAVEENV
8
9config ENV_OVERWRITE
10	bool "Enable overwriting environment"
11	help
12	  Use this to permit overriding of certain environmental variables
13	  like Ethernet and Serial
14
15config ENV_IS_NOWHERE
16	bool "Environment is not stored"
17	default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
18		     !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \
19		     !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \
20		     !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \
21		     !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \
22		     !ENV_IS_IN_UBI
23	help
24	  Define this if you don't want to or can't have an environment stored
25	  on a storage medium. In this case the environment will still exist
26	  while U-Boot is running, but once U-Boot exits it will not be
27	  stored. U-Boot will therefore always start up with a default
28	  environment.
29
30config ENV_IS_IN_EEPROM
31	bool "Environment in EEPROM"
32	depends on !CHAIN_OF_TRUST
33	help
34	  Use this if you have an EEPROM or similar serial access
35	  device and a driver for it.
36
37	  - CONFIG_ENV_OFFSET:
38	  - CONFIG_ENV_SIZE:
39
40	  These two #defines specify the offset and size of the
41	  environment area within the total memory of your EEPROM.
42
43	  Note that we consider the length of the address field to
44	  still be one byte because the extra address bits are hidden
45	  in the chip address.
46
47	  - CONFIG_ENV_EEPROM_IS_ON_I2C
48	  define this, if you have I2C and SPI activated, and your
49	  EEPROM, which holds the environment, is on the I2C bus.
50
51	  - CONFIG_I2C_ENV_EEPROM_BUS
52	  if you have an Environment on an EEPROM reached over
53	  I2C muxes, you can define here, how to reach this
54	  EEPROM. For example:
55
56	  #define CONFIG_I2C_ENV_EEPROM_BUS	  1
57
58	  EEPROM which holds the environment, is reached over
59	  a pca9547 i2c mux with address 0x70, channel 3.
60
61config ENV_IS_IN_FAT
62	bool "Environment is in a FAT filesystem"
63	depends on !CHAIN_OF_TRUST
64	default y if ARCH_BCM283X
65	default y if ARCH_SUNXI && MMC
66	default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
67	select FS_FAT
68	select FAT_WRITE
69	help
70	  Define this if you want to use the FAT file system for the environment.
71
72config ENV_IS_IN_EXT4
73	bool "Environment is in a EXT4 filesystem"
74	depends on !CHAIN_OF_TRUST
75	select FS_EXT4
76	select EXT4_WRITE
77	help
78	  Define this if you want to use the EXT4 file system for the environment.
79
80config ENV_IS_IN_FLASH
81	bool "Environment in flash memory"
82	depends on !CHAIN_OF_TRUST
83	default y if ARCH_CINTEGRATOR
84	default y if ARCH_INTEGRATOR_CP
85	default y if M548x || M547x || M5282 || MCF547x_8x
86	default y if MCF532x || MCF52x2
87	default y if MPC86xx || MPC83xx
88	default y if ARCH_MPC8572 || ARCH_MPC8548 || ARCH_MPC8641
89	default y if SH && !CPU_SH4
90	help
91	  Define this if you have a flash device which you want to use for the
92	  environment.
93
94	  a) The environment occupies one whole flash sector, which is
95	   "embedded" in the text segment with the U-Boot code. This
96	   happens usually with "bottom boot sector" or "top boot
97	   sector" type flash chips, which have several smaller
98	   sectors at the start or the end. For instance, such a
99	   layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In
100	   such a case you would place the environment in one of the
101	   4 kB sectors - with U-Boot code before and after it. With
102	   "top boot sector" type flash chips, you would put the
103	   environment in one of the last sectors, leaving a gap
104	   between U-Boot and the environment.
105
106	  CONFIG_ENV_OFFSET:
107
108	   Offset of environment data (variable area) to the
109	   beginning of flash memory; for instance, with bottom boot
110	   type flash chips the second sector can be used: the offset
111	   for this sector is given here.
112
113	   CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE.
114
115	  CONFIG_ENV_ADDR:
116
117	   This is just another way to specify the start address of
118	   the flash sector containing the environment (instead of
119	   CONFIG_ENV_OFFSET).
120
121	  CONFIG_ENV_SECT_SIZE:
122
123	   Size of the sector containing the environment.
124
125
126	  b) Sometimes flash chips have few, equal sized, BIG sectors.
127	   In such a case you don't want to spend a whole sector for
128	   the environment.
129
130	  CONFIG_ENV_SIZE:
131
132	   If you use this in combination with CONFIG_ENV_IS_IN_FLASH
133	   and CONFIG_ENV_SECT_SIZE, you can specify to use only a part
134	   of this flash sector for the environment. This saves
135	   memory for the RAM copy of the environment.
136
137	   It may also save flash memory if you decide to use this
138	   when your environment is "embedded" within U-Boot code,
139	   since then the remainder of the flash sector could be used
140	   for U-Boot code. It should be pointed out that this is
141	   STRONGLY DISCOURAGED from a robustness point of view:
142	   updating the environment in flash makes it always
143	   necessary to erase the WHOLE sector. If something goes
144	   wrong before the contents has been restored from a copy in
145	   RAM, your target system will be dead.
146
147	  CONFIG_ENV_ADDR_REDUND
148
149	   These settings describe a second storage area used to hold
150	   a redundant copy of the environment data, so that there is
151	   a valid backup copy in case there is a power failure during
152	   a "saveenv" operation.
153
154	  BE CAREFUL! Any changes to the flash layout, and some changes to the
155	  source code will make it necessary to adapt <board>/u-boot.lds*
156	  accordingly!
157
158config ENV_IS_IN_MMC
159	bool "Environment in an MMC device"
160	depends on !CHAIN_OF_TRUST
161	depends on MMC
162	default y if ARCH_EXYNOS4
163	default y if MX6SX || MX7D
164	default y if TEGRA30 || TEGRA124
165	default y if TEGRA_ARMV8_COMMON
166	help
167	  Define this if you have an MMC device which you want to use for the
168	  environment.
169
170	  CONFIG_SYS_MMC_ENV_DEV:
171
172	  Specifies which MMC device the environment is stored in.
173
174	  CONFIG_SYS_MMC_ENV_PART (optional):
175
176	  Specifies which MMC partition the environment is stored in. If not
177	  set, defaults to partition 0, the user area. Common values might be
178	  1 (first MMC boot partition), 2 (second MMC boot partition).
179
180	  CONFIG_ENV_OFFSET:
181	  CONFIG_ENV_SIZE:
182
183	  These two #defines specify the offset and size of the environment
184	  area within the specified MMC device.
185
186	  If offset is positive (the usual case), it is treated as relative to
187	  the start of the MMC partition. If offset is negative, it is treated
188	  as relative to the end of the MMC partition. This can be useful if
189	  your board may be fitted with different MMC devices, which have
190	  different sizes for the MMC partitions, and you always want the
191	  environment placed at the very end of the partition, to leave the
192	  maximum possible space before it, to store other data.
193
194	  These two values are in units of bytes, but must be aligned to an
195	  MMC sector boundary.
196
197	  CONFIG_ENV_OFFSET_REDUND (optional):
198
199	  Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
200	  hold a redundant copy of the environment data. This provides a
201	  valid backup copy in case the other copy is corrupted, e.g. due
202	  to a power failure during a "saveenv" operation.
203
204	  This value may also be positive or negative; this is handled in the
205	  same way as CONFIG_ENV_OFFSET.
206
207	  This value is also in units of bytes, but must also be aligned to
208	  an MMC sector boundary.
209
210config ENV_IS_IN_NAND
211	bool "Environment in a NAND device"
212	depends on !CHAIN_OF_TRUST
213	help
214	  Define this if you have a NAND device which you want to use for the
215	  environment.
216
217	  - CONFIG_ENV_OFFSET:
218	  - CONFIG_ENV_SIZE:
219
220	  These two #defines specify the offset and size of the environment
221	  area within the first NAND device.  CONFIG_ENV_OFFSET must be
222	  aligned to an erase block boundary.
223
224	  - CONFIG_ENV_OFFSET_REDUND (optional):
225
226	  This setting describes a second storage area of CONFIG_ENV_SIZE
227	  size used to hold a redundant copy of the environment data, so
228	  that there is a valid backup copy in case there is a power failure
229	  during a "saveenv" operation.	 CONFIG_ENV_OFFSET_REDUND must be
230	  aligned to an erase block boundary.
231
232	  - CONFIG_ENV_RANGE (optional):
233
234	  Specifies the length of the region in which the environment
235	  can be written.  This should be a multiple of the NAND device's
236	  block size.  Specifying a range with more erase blocks than
237	  are needed to hold CONFIG_ENV_SIZE allows bad blocks within
238	  the range to be avoided.
239
240	  - CONFIG_ENV_OFFSET_OOB (optional):
241
242	  Enables support for dynamically retrieving the offset of the
243	  environment from block zero's out-of-band data.  The
244	  "nand env.oob" command can be used to record this offset.
245	  Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
246	  using CONFIG_ENV_OFFSET_OOB.
247
248config ENV_IS_IN_NVRAM
249	bool "Environment in a non-volatile RAM"
250	depends on !CHAIN_OF_TRUST
251	help
252	  Define this if you have some non-volatile memory device
253	  (NVRAM, battery buffered SRAM) which you want to use for the
254	  environment.
255
256	  - CONFIG_ENV_ADDR:
257	  - CONFIG_ENV_SIZE:
258
259	  These two #defines are used to determine the memory area you
260	  want to use for environment. It is assumed that this memory
261	  can just be read and written to, without any special
262	  provision.
263
264config ENV_IS_IN_ONENAND
265	bool "Environment is in OneNAND"
266	depends on !CHAIN_OF_TRUST
267	help
268	  Define this if you want to put your local device's environment in
269	  OneNAND.
270
271	  - CONFIG_ENV_ADDR:
272	  - CONFIG_ENV_SIZE:
273
274	  These two #defines are used to determine the device range you
275	  want to use for environment. It is assumed that this memory
276	  can just be read and written to, without any special
277	  provision.
278
279config ENV_IS_IN_REMOTE
280	bool "Environment is in remote memory space"
281	depends on !CHAIN_OF_TRUST
282	help
283	  Define this if you have a remote memory space which you
284	  want to use for the local device's environment.
285
286	  - CONFIG_ENV_ADDR:
287	  - CONFIG_ENV_SIZE:
288
289	  These two #defines specify the address and size of the
290	  environment area within the remote memory space. The
291	  local device can get the environment from remote memory
292	  space by SRIO or PCIE links.
293
294config ENV_IS_IN_SPI_FLASH
295	bool "Environment is in SPI flash"
296	depends on !CHAIN_OF_TRUST && SPI
297	default y if ARMADA_XP
298	default y if INTEL_BAYTRAIL
299	default y if INTEL_BRASWELL
300	default y if INTEL_BROADWELL
301	default y if NORTHBRIDGE_INTEL_IVYBRIDGE
302	default y if INTEL_QUARK
303	default y if INTEL_QUEENSBAY
304	help
305	  Define this if you have a SPI Flash memory device which you
306	  want to use for the environment.
307
308	  - CONFIG_ENV_OFFSET:
309	  - CONFIG_ENV_SIZE:
310
311	  These two #defines specify the offset and size of the
312	  environment area within the SPI Flash. CONFIG_ENV_OFFSET must be
313	  aligned to an erase sector boundary.
314
315	  - CONFIG_ENV_SECT_SIZE:
316
317	  Define the SPI flash's sector size.
318
319	  - CONFIG_ENV_OFFSET_REDUND (optional):
320
321	  This setting describes a second storage area of CONFIG_ENV_SIZE
322	  size used to hold a redundant copy of the environment data, so
323	  that there is a valid backup copy in case there is a power failure
324	  during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
325	  aligned to an erase sector boundary.
326
327config USE_ENV_SPI_BUS
328	bool "SPI flash bus for environment"
329	depends on ENV_IS_IN_SPI_FLASH
330	help
331	  Force the SPI bus for environment.
332	  If not defined, use CONFIG_SF_DEFAULT_BUS.
333
334config ENV_SPI_BUS
335	int "Value of SPI flash bus for environment"
336	depends on USE_ENV_SPI_BUS
337	help
338	  Value the SPI bus and chip select for environment.
339
340config USE_ENV_SPI_CS
341	bool "SPI flash chip select for environment"
342	depends on ENV_IS_IN_SPI_FLASH
343	help
344	  Force the SPI chip select for environment.
345	  If not defined, use CONFIG_SF_DEFAULT_CS.
346
347config ENV_SPI_CS
348	int "Value of SPI flash chip select for environment"
349	depends on USE_ENV_SPI_CS
350	help
351	  Value of the SPI chip select for environment.
352
353config USE_ENV_SPI_MAX_HZ
354	bool "SPI flash max frequency for environment"
355	depends on ENV_IS_IN_SPI_FLASH
356	help
357	  Force the SPI max work clock for environment.
358	  If not defined, use CONFIG_SF_DEFAULT_SPEED.
359
360config ENV_SPI_MAX_HZ
361	int "Value of SPI flash max frequency for environment"
362	depends on USE_ENV_SPI_MAX_HZ
363	help
364	  Value of the SPI max work clock for environment.
365
366config USE_ENV_SPI_MODE
367	bool "SPI flash mode for environment"
368	depends on ENV_IS_IN_SPI_FLASH
369	help
370	  Force the SPI work mode for environment.
371
372config ENV_SPI_MODE
373	hex "Value of SPI flash work mode for environment"
374	depends on USE_ENV_SPI_MODE
375	help
376	  Value of the SPI work mode for environment.
377	  See include/spi.h for value.
378
379config ENV_SPI_EARLY
380	bool "Access Environment in SPI flashes before relocation"
381	depends on ENV_IS_IN_SPI_FLASH
382	help
383	  Enable this if you want to use Environment in SPI flash
384	  before relocation. Call env_init() and than you can use
385	  env_get_f() for accessing Environment variables.
386
387config ENV_IS_IN_UBI
388	bool "Environment in a UBI volume"
389	depends on !CHAIN_OF_TRUST
390	depends on MTD_UBI
391	depends on CMD_UBI
392	help
393	  Define this if you have an UBI volume that you want to use for the
394	  environment.  This has the benefit of wear-leveling the environment
395	  accesses, which is important on NAND.
396
397	  - CONFIG_ENV_UBI_PART:
398
399	  Define this to a string that is the mtd partition containing the UBI.
400
401	  - CONFIG_ENV_UBI_VOLUME:
402
403	  Define this to the name of the volume that you want to store the
404	  environment in.
405
406	  - CONFIG_ENV_UBI_VOLUME_REDUND:
407
408	  Define this to the name of another volume to store a second copy of
409	  the environment in.  This will enable redundant environments in UBI.
410	  It is assumed that both volumes are in the same MTD partition.
411
412config SYS_REDUNDAND_ENVIRONMENT
413	bool "Enable redundant environment support"
414	help
415	  Normally, the environemt is stored in a single location.  By
416	  selecting this option, you can then define where to hold a redundant
417	  copy of the environment data, so that there is a valid backup copy in
418	  case there is a power failure during a "saveenv" operation.
419	  Also this config changes the binary environment structure handling
420	  which is used by env import/export commands which are independent of
421	  storing variables to redundant location on a non volatile device.
422
423config ENV_FAT_INTERFACE
424	string "Name of the block device for the environment"
425	depends on ENV_IS_IN_FAT
426	default "mmc"
427	help
428	  Define this to a string that is the name of the block device.
429
430config ENV_FAT_DEVICE_AND_PART
431	string "Device and partition for where to store the environemt in FAT"
432	depends on ENV_IS_IN_FAT
433	default "0:1" if TI_COMMON_CMD_OPTIONS
434	default "0:auto" if ARCH_ZYNQ || ARCH_ZYNQMP
435	default "0:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA = -1
436	default "1:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA != -1
437	default "0" if ARCH_AT91
438	help
439	  Define this to a string to specify the partition of the device. It can
440	  be as following:
441
442	    "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
443	       - "D:P": device D partition P. Error occurs if device D has no
444	                partition table.
445	       - "D:0": device D.
446	       - "D" or "D:": device D partition 1 if device D has partition
447	                      table, or the whole device D if has no partition
448	                      table.
449	       - "D:auto": first partition in device D with bootable flag set.
450	                   If none, first valid partition in device D. If no
451	                   partition table then means device D.
452
453	  If ENV_FAT_INTERFACE is set to "mmc" then device 'D' can be omitted,
454	  leaving the string starting with a colon, and the boot device will
455	  be used.
456
457config ENV_FAT_FILE
458	string "Name of the FAT file to use for the environment"
459	depends on ENV_IS_IN_FAT
460	default "uboot.env"
461	help
462	  It's a string of the FAT file name. This file use to store the
463	  environment.
464
465config ENV_EXT4_INTERFACE
466	string "Name of the block device for the environment"
467	depends on ENV_IS_IN_EXT4
468	help
469	  Define this to a string that is the name of the block device.
470
471config ENV_EXT4_DEVICE_AND_PART
472	string "Device and partition for where to store the environemt in EXT4"
473	depends on ENV_IS_IN_EXT4
474	help
475	  Define this to a string to specify the partition of the device. It can
476	  be as following:
477
478	    "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
479	       - "D:P": device D partition P. Error occurs if device D has no
480	                partition table.
481	       - "D:0": device D.
482	       - "D" or "D:": device D partition 1 if device D has partition
483	                      table, or the whole device D if has no partition
484	                      table.
485	       - "D:auto": first partition in device D with bootable flag set.
486	                   If none, first valid partition in device D. If no
487	                   partition table then means device D.
488
489	  If ENV_EXT4_INTERFACE is set to "mmc" then device 'D' can be omitted,
490	  leaving the string starting with a colon, and the boot device will
491	  be used.
492
493config ENV_EXT4_FILE
494	string "Name of the EXT4 file to use for the environment"
495	depends on ENV_IS_IN_EXT4
496	default "/uboot.env"
497	help
498	  It's a string of the EXT4 file name. This file use to store the
499	  environment (explicit path to the file)
500
501config ENV_ADDR
502	hex "Environment address"
503	depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
504		     ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
505	default 0x0 if ENV_IS_IN_SPI_FLASH
506	help
507	  Offset from the start of the device (or partition)
508
509config ENV_ADDR_REDUND
510	hex "Redundant environment address"
511	depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
512	help
513	  Offset from the start of the device (or partition) of the redundant
514	  environment location.
515
516config ENV_OFFSET
517	hex "Environment offset"
518	depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
519		    ENV_IS_IN_SPI_FLASH
520	default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
521	default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
522	default 0x88000 if ARCH_SUNXI
523	default 0xE0000 if ARCH_ZYNQ
524	default 0x1E00000 if ARCH_ZYNQMP
525	default 0x7F40000 if ARCH_VERSAL
526	default 0 if ARC
527	default 0x140000 if ARCH_AT91
528	default 0x260000 if ARCH_OMAP2PLUS
529	default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
530	help
531	  Offset from the start of the device (or partition)
532
533config ENV_OFFSET_REDUND
534	hex "Redundant environment offset"
535	depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
536		    ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
537	help
538	  Offset from the start of the device (or partition) of the redundant
539	  environment location.
540
541config ENV_SIZE
542	hex "Environment Size"
543	default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
544	default 0x20000 if ARCH_SUNXI || ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
545	default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
546	default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
547	default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL
548	default 0x4000 if ARC
549	default 0x1f000
550	help
551	  Size of the environment storage area
552
553config ENV_SECT_SIZE
554	hex "Environment Sector-Size"
555	depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
556	default 0x2000 if ARCH_ROCKCHIP
557	default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL
558	default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
559	default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
560	help
561	  Size of the sector containing the environment.
562
563config ENV_UBI_PART
564	string "UBI partition name"
565	depends on ENV_IS_IN_UBI
566	help
567	  MTD partition containing the UBI device
568
569config ENV_UBI_VOLUME
570	string "UBI volume name"
571	depends on ENV_IS_IN_UBI
572	help
573	  Name of the volume that you want to store the environment in.
574
575config ENV_UBI_VOLUME_REDUND
576	string "UBI redundant volume name"
577	depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
578	help
579	  Name of the redundant volume that you want to store the environment in.
580
581config ENV_UBI_VID_OFFSET
582	int "ubi environment VID offset"
583	depends on ENV_IS_IN_UBI
584	default 0
585	help
586	  UBI VID offset for environment. If 0, no custom VID offset is used.
587
588config SYS_RELOC_GD_ENV_ADDR
589	bool "Relocate gd->env_addr"
590	help
591	  Relocate the early env_addr pointer so we know it is not inside
592	  the binary. Some systems need this and for the rest, it doesn't hurt.
593
594config SYS_MMC_ENV_DEV
595	int "mmc device number"
596	depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT || SYS_LS_PPA_FW_IN_MMC || \
597		CMD_MVEBU_BUBT || FMAN_ENET || QE
598	default 0
599	help
600	  MMC device number on the platform where the environment is stored.
601
602config SYS_MMC_ENV_PART
603	int "mmc partition number"
604	depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT
605	default 0
606	help
607	  MMC hardware partition device number on the platform where the
608	  environment is stored.  Note that this is not related to any software
609	  defined partition table but instead if we are in the user area, which is
610	  partition 0 or the first boot partition, which is 1 or some other defined
611	  partition.
612
613config USE_DEFAULT_ENV_FILE
614	bool "Create default environment from file"
615	help
616	  Normally, the default environment is automatically generated
617	  based on the settings of various CONFIG_* options, as well
618	  as the CONFIG_EXTRA_ENV_SETTINGS. By selecting this option,
619	  you can instead define the entire default environment in an
620	  external file.
621
622config DEFAULT_ENV_FILE
623	string "Path to default environment file"
624	depends on USE_DEFAULT_ENV_FILE
625	help
626	  The path containing the default environment. The format is
627	  the same as accepted by the mkenvimage tool: lines
628	  containing key=value pairs, blank lines and lines beginning
629	  with # are ignored.
630
631config ENV_VARS_UBOOT_RUNTIME_CONFIG
632	bool "Add run-time information to the environment"
633	help
634	  Enable this in order to add variables describing certain
635	  run-time determined information about the hardware to the
636	  environment.  These will be named board_name, board_rev.
637
638config DELAY_ENVIRONMENT
639	bool "Delay environment loading"
640	depends on !OF_CONTROL
641	help
642	  Enable this to inhibit loading the environment during board
643	  initialization. This can address the security risk of untrusted data
644	  being used during boot. Normally the environment is loaded when the
645	  board is initialised so that it is available to U-Boot. This inhibits
646	  that so that the environment is not available until explicitly loaded
647	  later by U-Boot code. With CONFIG_OF_CONTROL this is instead
648	  controlled by the value of /config/load-environment.
649
650config ENV_APPEND
651	bool "Always append the environment with new data"
652	default n
653	help
654	  If defined, the environment hash table is only ever appended with new
655	  data, but the existing hash table can never be dropped and reloaded
656	  with newly imported data. This may be used in combination with static
657	  flags to e.g. to protect variables which must not be modified.
658
659config ENV_WRITEABLE_LIST
660	bool "Permit write access only to listed variables"
661	default n
662	help
663	  If defined, only environment variables which explicitly set the 'w'
664	  writeable flag can be written and modified at runtime. No variables
665	  can be otherwise created, written or imported into the environment.
666
667config ENV_ACCESS_IGNORE_FORCE
668	bool "Block forced environment operations"
669	default n
670	help
671	  If defined, don't allow the -f switch to env set override variable
672	  access flags.
673
674if SPL_ENV_SUPPORT
675config SPL_ENV_IS_NOWHERE
676	bool "SPL Environment is not stored"
677	default y if ENV_IS_NOWHERE
678	help
679	  Similar to ENV_IS_NOWHERE, used for SPL environment.
680
681config SPL_ENV_IS_IN_MMC
682	bool "SPL Environment in an MMC device"
683	depends on !SPL_ENV_IS_NOWHERE
684	depends on ENV_IS_IN_MMC
685	default y
686	help
687	  Similar to ENV_IS_IN_MMC, used for SPL environment.
688
689config SPL_ENV_IS_IN_FAT
690	bool "SPL Environment is in a FAT filesystem"
691	depends on !SPL_ENV_IS_NOWHERE
692	depends on ENV_IS_IN_FAT
693	default y
694	help
695	  Similar to ENV_IS_IN_FAT, used for SPL environment.
696
697config SPL_ENV_IS_IN_EXT4
698	bool "SPL Environment is in a EXT4 filesystem"
699	depends on !SPL_ENV_IS_NOWHERE
700	depends on ENV_IS_IN_EXT4
701	default y
702	help
703	  Similar to ENV_IS_IN_EXT4, used for SPL environment.
704
705config SPL_ENV_IS_IN_NAND
706	bool "SPL Environment in a NAND device"
707	depends on !SPL_ENV_IS_NOWHERE
708	depends on ENV_IS_IN_NAND
709	default y
710	help
711	  Similar to ENV_IS_IN_NAND, used for SPL environment.
712
713config SPL_ENV_IS_IN_SPI_FLASH
714	bool "SPL Environment is in SPI flash"
715	depends on !SPL_ENV_IS_NOWHERE
716	depends on ENV_IS_IN_SPI_FLASH
717	default y
718	help
719	  Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
720
721config SPL_ENV_IS_IN_FLASH
722	bool "SPL Environment in flash memory"
723	depends on !SPL_ENV_IS_NOWHERE
724	depends on ENV_IS_IN_FLASH
725	default y
726	help
727	  Similar to ENV_IS_IN_FLASH, used for SPL environment.
728
729endif
730
731if TPL_ENV_SUPPORT
732
733config TPL_ENV_IS_NOWHERE
734	bool "TPL Environment is not stored"
735	default y if ENV_IS_NOWHERE
736	help
737	  Similar to ENV_IS_NOWHERE, used for TPL environment.
738
739config TPL_ENV_IS_IN_MMC
740	bool "TPL Environment in an MMC device"
741	depends on !TPL_ENV_IS_NOWHERE
742	depends on ENV_IS_IN_MMC
743	default y
744	help
745	  Similar to ENV_IS_IN_MMC, used for TPL environment.
746
747config TPL_ENV_IS_IN_FAT
748	bool "TPL Environment is in a FAT filesystem"
749	depends on !TPL_ENV_IS_NOWHERE
750	depends on ENV_IS_IN_FAT
751	default y
752	help
753	  Similar to ENV_IS_IN_FAT, used for TPL environment.
754
755config TPL_ENV_IS_IN_EXT4
756	bool "TPL Environment is in a EXT4 filesystem"
757	depends on !TPL_ENV_IS_NOWHERE
758	depends on ENV_IS_IN_EXT4
759	default y
760	help
761	  Similar to ENV_IS_IN_EXT4, used for TPL environment.
762
763config TPL_ENV_IS_IN_NAND
764	bool "TPL Environment in a NAND device"
765	depends on !TPL_ENV_IS_NOWHERE
766	depends on ENV_IS_IN_NAND
767	default y
768	help
769	  Similar to ENV_IS_IN_NAND, used for TPL environment.
770
771config TPL_ENV_IS_IN_SPI_FLASH
772	bool "TPL Environment is in SPI flash"
773	depends on !TPL_ENV_IS_NOWHERE
774	depends on ENV_IS_IN_SPI_FLASH
775	default y
776	help
777	  Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
778
779config TPL_ENV_IS_IN_FLASH
780	bool "TPL Environment in flash memory"
781	depends on !TPL_ENV_IS_NOWHERE
782	depends on ENV_IS_IN_FLASH
783	default y
784	help
785	  Similar to ENV_IS_IN_FLASH, used for TPL environment.
786
787endif
788
789config VERSION_VARIABLE
790	bool "Add a 'ver' environment variable with the U-Boot version"
791	help
792	  If this variable is defined, an environment variable
793	  named "ver" is created by U-Boot showing the U-Boot
794	  version as printed by the "version" command.
795	  Any change to this variable will be reverted at the
796	  next reset.
797
798endmenu
799