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