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 ENV_SECT_SIZE_AUTO
328	bool "Use automatically detected sector size"
329	depends on ENV_IS_IN_SPI_FLASH
330	help
331	  Some boards exist in multiple variants, with different
332	  flashes having different sector sizes. In such cases, you
333	  can select this option to make U-Boot use the actual sector
334	  size when figuring out how much to erase, which can thus be
335	  more efficient on the flashes with smaller erase size. Since
336	  the environment must always be aligned on a sector boundary,
337	  CONFIG_ENV_OFFSET must be aligned to the largest of the
338	  different sector sizes, and CONFIG_ENV_SECT_SIZE should be
339	  set to that value.
340
341config USE_ENV_SPI_BUS
342	bool "SPI flash bus for environment"
343	depends on ENV_IS_IN_SPI_FLASH
344	help
345	  Force the SPI bus for environment.
346	  If not defined, use CONFIG_SF_DEFAULT_BUS.
347
348config ENV_SPI_BUS
349	int "Value of SPI flash bus for environment"
350	depends on USE_ENV_SPI_BUS
351	help
352	  Value the SPI bus and chip select for environment.
353
354config USE_ENV_SPI_CS
355	bool "SPI flash chip select for environment"
356	depends on ENV_IS_IN_SPI_FLASH
357	help
358	  Force the SPI chip select for environment.
359	  If not defined, use CONFIG_SF_DEFAULT_CS.
360
361config ENV_SPI_CS
362	int "Value of SPI flash chip select for environment"
363	depends on USE_ENV_SPI_CS
364	help
365	  Value of the SPI chip select for environment.
366
367config USE_ENV_SPI_MAX_HZ
368	bool "SPI flash max frequency for environment"
369	depends on ENV_IS_IN_SPI_FLASH
370	help
371	  Force the SPI max work clock for environment.
372	  If not defined, use CONFIG_SF_DEFAULT_SPEED.
373
374config ENV_SPI_MAX_HZ
375	int "Value of SPI flash max frequency for environment"
376	depends on USE_ENV_SPI_MAX_HZ
377	help
378	  Value of the SPI max work clock for environment.
379
380config USE_ENV_SPI_MODE
381	bool "SPI flash mode for environment"
382	depends on ENV_IS_IN_SPI_FLASH
383	help
384	  Force the SPI work mode for environment.
385
386config ENV_SPI_MODE
387	hex "Value of SPI flash work mode for environment"
388	depends on USE_ENV_SPI_MODE
389	help
390	  Value of the SPI work mode for environment.
391	  See include/spi.h for value.
392
393config ENV_SPI_EARLY
394	bool "Access Environment in SPI flashes before relocation"
395	depends on ENV_IS_IN_SPI_FLASH
396	help
397	  Enable this if you want to use Environment in SPI flash
398	  before relocation. Call env_init() and than you can use
399	  env_get_f() for accessing Environment variables.
400
401config ENV_IS_IN_UBI
402	bool "Environment in a UBI volume"
403	depends on !CHAIN_OF_TRUST
404	depends on MTD_UBI
405	depends on CMD_UBI
406	help
407	  Define this if you have an UBI volume that you want to use for the
408	  environment.  This has the benefit of wear-leveling the environment
409	  accesses, which is important on NAND.
410
411	  - CONFIG_ENV_UBI_PART:
412
413	  Define this to a string that is the mtd partition containing the UBI.
414
415	  - CONFIG_ENV_UBI_VOLUME:
416
417	  Define this to the name of the volume that you want to store the
418	  environment in.
419
420	  - CONFIG_ENV_UBI_VOLUME_REDUND:
421
422	  Define this to the name of another volume to store a second copy of
423	  the environment in.  This will enable redundant environments in UBI.
424	  It is assumed that both volumes are in the same MTD partition.
425
426config SYS_REDUNDAND_ENVIRONMENT
427	bool "Enable redundant environment support"
428	help
429	  Normally, the environemt is stored in a single location.  By
430	  selecting this option, you can then define where to hold a redundant
431	  copy of the environment data, so that there is a valid backup copy in
432	  case there is a power failure during a "saveenv" operation.
433	  Also this config changes the binary environment structure handling
434	  which is used by env import/export commands which are independent of
435	  storing variables to redundant location on a non volatile device.
436
437config ENV_FAT_INTERFACE
438	string "Name of the block device for the environment"
439	depends on ENV_IS_IN_FAT
440	default "mmc"
441	help
442	  Define this to a string that is the name of the block device.
443
444config ENV_FAT_DEVICE_AND_PART
445	string "Device and partition for where to store the environemt in FAT"
446	depends on ENV_IS_IN_FAT
447	default "0:1" if TI_COMMON_CMD_OPTIONS
448	default "0:auto" if ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
449	default "0:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA = -1
450	default "1:auto" if ARCH_SUNXI && MMC_SUNXI_SLOT_EXTRA != -1
451	default "0" if ARCH_AT91
452	help
453	  Define this to a string to specify the partition of the device. It can
454	  be as following:
455
456	    "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
457	       - "D:P": device D partition P. Error occurs if device D has no
458	                partition table.
459	       - "D:0": device D.
460	       - "D" or "D:": device D partition 1 if device D has partition
461	                      table, or the whole device D if has no partition
462	                      table.
463	       - "D:auto": first partition in device D with bootable flag set.
464	                   If none, first valid partition in device D. If no
465	                   partition table then means device D.
466
467	  If ENV_FAT_INTERFACE is set to "mmc" then device 'D' can be omitted,
468	  leaving the string starting with a colon, and the boot device will
469	  be used.
470
471config ENV_FAT_FILE
472	string "Name of the FAT file to use for the environment"
473	depends on ENV_IS_IN_FAT
474	default "uboot.env"
475	help
476	  It's a string of the FAT file name. This file use to store the
477	  environment.
478
479config ENV_FAT_FILE_REDUND
480	string "Name of the FAT file to use for the environment"
481	depends on ENV_IS_IN_FAT && SYS_REDUNDAND_ENVIRONMENT
482	default "uboot-redund.env"
483	help
484	  It's a string of the FAT file name. This file use to store the
485	  redundant environment.
486
487config ENV_EXT4_INTERFACE
488	string "Name of the block device for the environment"
489	depends on ENV_IS_IN_EXT4
490	help
491	  Define this to a string that is the name of the block device.
492
493config ENV_EXT4_DEVICE_AND_PART
494	string "Device and partition for where to store the environemt in EXT4"
495	depends on ENV_IS_IN_EXT4
496	help
497	  Define this to a string to specify the partition of the device. It can
498	  be as following:
499
500	    "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
501	       - "D:P": device D partition P. Error occurs if device D has no
502	                partition table.
503	       - "D:0": device D.
504	       - "D" or "D:": device D partition 1 if device D has partition
505	                      table, or the whole device D if has no partition
506	                      table.
507	       - "D:auto": first partition in device D with bootable flag set.
508	                   If none, first valid partition in device D. If no
509	                   partition table then means device D.
510
511	  If ENV_EXT4_INTERFACE is set to "mmc" then device 'D' can be omitted,
512	  leaving the string starting with a colon, and the boot device will
513	  be used.
514
515config ENV_EXT4_FILE
516	string "Name of the EXT4 file to use for the environment"
517	depends on ENV_IS_IN_EXT4
518	default "/uboot.env"
519	help
520	  It's a string of the EXT4 file name. This file use to store the
521	  environment (explicit path to the file)
522
523config ENV_ADDR
524	hex "Environment address"
525	depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
526		     ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
527	default 0x0 if ENV_IS_IN_SPI_FLASH
528	help
529	  Offset from the start of the device (or partition)
530
531config ENV_ADDR_REDUND
532	hex "Redundant environment address"
533	depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
534	help
535	  Offset from the start of the device (or partition) of the redundant
536	  environment location.
537
538config ENV_OFFSET
539	hex "Environment offset"
540	depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
541		    ENV_IS_IN_SPI_FLASH
542	default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
543	default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
544	default 0x88000 if ARCH_SUNXI
545	default 0xE0000 if ARCH_ZYNQ
546	default 0x1E00000 if ARCH_ZYNQMP
547	default 0x7F40000 if ARCH_VERSAL
548	default 0 if ARC
549	default 0x140000 if ARCH_AT91
550	default 0x260000 if ARCH_OMAP2PLUS
551	default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
552	help
553	  Offset from the start of the device (or partition)
554
555config ENV_OFFSET_REDUND
556	hex "Redundant environment offset"
557	depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
558		    ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
559	default 0
560	help
561	  Offset from the start of the device (or partition) of the redundant
562	  environment location.
563
564config ENV_SIZE
565	hex "Environment Size"
566	default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
567	default 0x20000 if ARCH_SUNXI || ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
568	default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
569	default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
570	default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL
571	default 0x4000 if ARC
572	default 0x1f000
573	help
574	  Size of the environment storage area
575
576config ENV_SECT_SIZE
577	hex "Environment Sector-Size"
578	depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
579	default 0x2000 if ARCH_ROCKCHIP
580	default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL
581	default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
582	default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
583	help
584	  Size of the sector containing the environment.
585
586config ENV_UBI_PART
587	string "UBI partition name"
588	depends on ENV_IS_IN_UBI
589	help
590	  MTD partition containing the UBI device
591
592config ENV_UBI_VOLUME
593	string "UBI volume name"
594	depends on ENV_IS_IN_UBI
595	help
596	  Name of the volume that you want to store the environment in.
597
598config ENV_UBI_VOLUME_REDUND
599	string "UBI redundant volume name"
600	depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
601	help
602	  Name of the redundant volume that you want to store the environment in.
603
604config ENV_UBI_VID_OFFSET
605	int "ubi environment VID offset"
606	depends on ENV_IS_IN_UBI
607	default 0
608	help
609	  UBI VID offset for environment. If 0, no custom VID offset is used.
610
611config SYS_RELOC_GD_ENV_ADDR
612	bool "Relocate gd->env_addr"
613	help
614	  Relocate the early env_addr pointer so we know it is not inside
615	  the binary. Some systems need this and for the rest, it doesn't hurt.
616
617config SYS_MMC_ENV_DEV
618	int "mmc device number"
619	depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT || SYS_LS_PPA_FW_IN_MMC || \
620		CMD_MVEBU_BUBT || FMAN_ENET || QE
621	default 0
622	help
623	  MMC device number on the platform where the environment is stored.
624
625config SYS_MMC_ENV_PART
626	int "mmc partition number"
627	depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT
628	default 0
629	help
630	  MMC hardware partition device number on the platform where the
631	  environment is stored.  Note that this is not related to any software
632	  defined partition table but instead if we are in the user area, which is
633	  partition 0 or the first boot partition, which is 1 or some other defined
634	  partition.
635
636config USE_DEFAULT_ENV_FILE
637	bool "Create default environment from file"
638	help
639	  Normally, the default environment is automatically generated
640	  based on the settings of various CONFIG_* options, as well
641	  as the CONFIG_EXTRA_ENV_SETTINGS. By selecting this option,
642	  you can instead define the entire default environment in an
643	  external file.
644
645config DEFAULT_ENV_FILE
646	string "Path to default environment file"
647	depends on USE_DEFAULT_ENV_FILE
648	help
649	  The path containing the default environment. The format is
650	  the same as accepted by the mkenvimage tool: lines
651	  containing key=value pairs, blank lines and lines beginning
652	  with # are ignored.
653
654config ENV_VARS_UBOOT_RUNTIME_CONFIG
655	bool "Add run-time information to the environment"
656	help
657	  Enable this in order to add variables describing certain
658	  run-time determined information about the hardware to the
659	  environment.  These will be named board_name, board_rev.
660
661config DELAY_ENVIRONMENT
662	bool "Delay environment loading"
663	depends on !OF_CONTROL
664	help
665	  Enable this to inhibit loading the environment during board
666	  initialization. This can address the security risk of untrusted data
667	  being used during boot. Normally the environment is loaded when the
668	  board is initialised so that it is available to U-Boot. This inhibits
669	  that so that the environment is not available until explicitly loaded
670	  later by U-Boot code. With CONFIG_OF_CONTROL this is instead
671	  controlled by the value of /config/load-environment.
672
673config ENV_IMPORT_FDT
674	bool "Amend environment by FDT properties"
675	depends on OF_CONTROL
676	help
677	  If selected, after the environment has been loaded from its
678	  persistent location, the "env_fdt_path" variable is looked
679	  up and used as a path to a node in the control DTB. The
680	  property/value pairs in that node is then used to update the
681	  run-time environment. This can be useful to use the same
682	  U-Boot binary with different board variants.
683
684config ENV_FDT_PATH
685	string "Default value for env_fdt_path variable"
686	depends on ENV_IMPORT_FDT
687	default "/config/environment"
688	help
689	  The initial value of the env_fdt_path variable.
690
691config ENV_APPEND
692	bool "Always append the environment with new data"
693	default n
694	help
695	  If defined, the environment hash table is only ever appended with new
696	  data, but the existing hash table can never be dropped and reloaded
697	  with newly imported data. This may be used in combination with static
698	  flags to e.g. to protect variables which must not be modified.
699
700config ENV_WRITEABLE_LIST
701	bool "Permit write access only to listed variables"
702	default n
703	help
704	  If defined, only environment variables which explicitly set the 'w'
705	  writeable flag can be written and modified at runtime. No variables
706	  can be otherwise created, written or imported into the environment.
707
708config ENV_ACCESS_IGNORE_FORCE
709	bool "Block forced environment operations"
710	default n
711	help
712	  If defined, don't allow the -f switch to env set override variable
713	  access flags.
714
715if SPL_ENV_SUPPORT
716config SPL_ENV_IS_NOWHERE
717	bool "SPL Environment is not stored"
718	default y if ENV_IS_NOWHERE
719	help
720	  Similar to ENV_IS_NOWHERE, used for SPL environment.
721
722config SPL_ENV_IS_IN_MMC
723	bool "SPL Environment in an MMC device"
724	depends on !SPL_ENV_IS_NOWHERE
725	depends on ENV_IS_IN_MMC
726	default y
727	help
728	  Similar to ENV_IS_IN_MMC, used for SPL environment.
729
730config SPL_ENV_IS_IN_FAT
731	bool "SPL Environment is in a FAT filesystem"
732	depends on !SPL_ENV_IS_NOWHERE
733	depends on ENV_IS_IN_FAT
734	default y
735	help
736	  Similar to ENV_IS_IN_FAT, used for SPL environment.
737
738config SPL_ENV_IS_IN_EXT4
739	bool "SPL Environment is in a EXT4 filesystem"
740	depends on !SPL_ENV_IS_NOWHERE
741	depends on ENV_IS_IN_EXT4
742	default y
743	help
744	  Similar to ENV_IS_IN_EXT4, used for SPL environment.
745
746config SPL_ENV_IS_IN_NAND
747	bool "SPL Environment in a NAND device"
748	depends on !SPL_ENV_IS_NOWHERE
749	depends on ENV_IS_IN_NAND
750	default y
751	help
752	  Similar to ENV_IS_IN_NAND, used for SPL environment.
753
754config SPL_ENV_IS_IN_SPI_FLASH
755	bool "SPL Environment is in SPI flash"
756	depends on !SPL_ENV_IS_NOWHERE
757	depends on ENV_IS_IN_SPI_FLASH
758	default y
759	help
760	  Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
761
762config SPL_ENV_IS_IN_FLASH
763	bool "SPL Environment in flash memory"
764	depends on !SPL_ENV_IS_NOWHERE
765	depends on ENV_IS_IN_FLASH
766	default y
767	help
768	  Similar to ENV_IS_IN_FLASH, used for SPL environment.
769
770endif
771
772if TPL_ENV_SUPPORT
773
774config TPL_ENV_IS_NOWHERE
775	bool "TPL Environment is not stored"
776	default y if ENV_IS_NOWHERE
777	help
778	  Similar to ENV_IS_NOWHERE, used for TPL environment.
779
780config TPL_ENV_IS_IN_MMC
781	bool "TPL Environment in an MMC device"
782	depends on !TPL_ENV_IS_NOWHERE
783	depends on ENV_IS_IN_MMC
784	default y
785	help
786	  Similar to ENV_IS_IN_MMC, used for TPL environment.
787
788config TPL_ENV_IS_IN_FAT
789	bool "TPL Environment is in a FAT filesystem"
790	depends on !TPL_ENV_IS_NOWHERE
791	depends on ENV_IS_IN_FAT
792	default y
793	help
794	  Similar to ENV_IS_IN_FAT, used for TPL environment.
795
796config TPL_ENV_IS_IN_EXT4
797	bool "TPL Environment is in a EXT4 filesystem"
798	depends on !TPL_ENV_IS_NOWHERE
799	depends on ENV_IS_IN_EXT4
800	default y
801	help
802	  Similar to ENV_IS_IN_EXT4, used for TPL environment.
803
804config TPL_ENV_IS_IN_NAND
805	bool "TPL Environment in a NAND device"
806	depends on !TPL_ENV_IS_NOWHERE
807	depends on ENV_IS_IN_NAND
808	default y
809	help
810	  Similar to ENV_IS_IN_NAND, used for TPL environment.
811
812config TPL_ENV_IS_IN_SPI_FLASH
813	bool "TPL Environment is in SPI flash"
814	depends on !TPL_ENV_IS_NOWHERE
815	depends on ENV_IS_IN_SPI_FLASH
816	default y
817	help
818	  Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
819
820config TPL_ENV_IS_IN_FLASH
821	bool "TPL Environment in flash memory"
822	depends on !TPL_ENV_IS_NOWHERE
823	depends on ENV_IS_IN_FLASH
824	default y
825	help
826	  Similar to ENV_IS_IN_FLASH, used for TPL environment.
827
828endif
829
830config VERSION_VARIABLE
831	bool "Add a 'ver' environment variable with the U-Boot version"
832	help
833	  If this variable is defined, an environment variable
834	  named "ver" is created by U-Boot showing the U-Boot
835	  version as printed by the "version" command.
836	  Any change to this variable will be reverted at the
837	  next reset.
838
839endmenu
840