Merge branch 'next'
[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 CONFIG_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
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 0
574         help
575           Offset from the start of the device (or partition) of the redundant
576           environment location.
577
578 config ENV_SIZE
579         hex "Environment Size"
580         default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
581         default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
582         default 0x10000 if ARCH_SUNXI
583         default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
584         default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
585         default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL
586         default 0x4000 if ARC
587         default 0x1f000
588         help
589           Size of the environment storage area
590
591 config ENV_SECT_SIZE
592         hex "Environment Sector-Size"
593         depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
594         default 0x2000 if ARCH_ROCKCHIP
595         default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL
596         default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
597         default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
598         default 0x10000 if ARCH_SUNXI && ENV_IS_IN_SPI_FLASH
599         help
600           Size of the sector containing the environment.
601
602 config ENV_UBI_PART
603         string "UBI partition name"
604         depends on ENV_IS_IN_UBI
605         help
606           MTD partition containing the UBI device
607
608 config ENV_UBI_VOLUME
609         string "UBI volume name"
610         depends on ENV_IS_IN_UBI
611         help
612           Name of the volume that you want to store the environment in.
613
614 config ENV_UBI_VOLUME_REDUND
615         string "UBI redundant volume name"
616         depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
617         help
618           Name of the redundant volume that you want to store the environment in.
619
620 config ENV_UBI_VID_OFFSET
621         int "ubi environment VID offset"
622         depends on ENV_IS_IN_UBI
623         default 0
624         help
625           UBI VID offset for environment. If 0, no custom VID offset is used.
626
627 config SYS_RELOC_GD_ENV_ADDR
628         bool "Relocate gd->env_addr"
629         help
630           Relocate the early env_addr pointer so we know it is not inside
631           the binary. Some systems need this and for the rest, it doesn't hurt.
632
633 config SYS_MMC_ENV_DEV
634         int "mmc device number"
635         depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT || SYS_LS_PPA_FW_IN_MMC || \
636                 CMD_MVEBU_BUBT || FMAN_ENET || QE || PHY_CORTINA
637         default 0
638         help
639           MMC device number on the platform where the environment is stored.
640
641 config SYS_MMC_ENV_PART
642         int "mmc partition number"
643         depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT
644         default 0
645         help
646           MMC hardware partition device number on the platform where the
647           environment is stored.  Note that this is not related to any software
648           defined partition table but instead if we are in the user area, which is
649           partition 0 or the first boot partition, which is 1 or some other defined
650           partition.
651
652 config USE_DEFAULT_ENV_FILE
653         bool "Create default environment from file"
654         help
655           Normally, the default environment is automatically generated
656           based on the settings of various CONFIG_* options, as well
657           as the CONFIG_EXTRA_ENV_SETTINGS. By selecting this option,
658           you can instead define the entire default environment in an
659           external file.
660
661 config DEFAULT_ENV_FILE
662         string "Path to default environment file"
663         depends on USE_DEFAULT_ENV_FILE
664         help
665           The path containing the default environment. The format is
666           the same as accepted by the mkenvimage tool: lines
667           containing key=value pairs, blank lines and lines beginning
668           with # are ignored.
669
670 config ENV_VARS_UBOOT_RUNTIME_CONFIG
671         bool "Add run-time information to the environment"
672         help
673           Enable this in order to add variables describing certain
674           run-time determined information about the hardware to the
675           environment.  These will be named board_name, board_rev.
676
677 config DELAY_ENVIRONMENT
678         bool "Delay environment loading"
679         depends on !OF_CONTROL
680         help
681           Enable this to inhibit loading the environment during board
682           initialization. This can address the security risk of untrusted data
683           being used during boot. Normally the environment is loaded when the
684           board is initialised so that it is available to U-Boot. This inhibits
685           that so that the environment is not available until explicitly loaded
686           later by U-Boot code. With CONFIG_OF_CONTROL this is instead
687           controlled by the value of /config/load-environment.
688
689 config ENV_IMPORT_FDT
690         bool "Amend environment by FDT properties"
691         depends on OF_CONTROL
692         help
693           If selected, after the environment has been loaded from its
694           persistent location, the "env_fdt_path" variable is looked
695           up and used as a path to a node in the control DTB. The
696           property/value pairs in that node is then used to update the
697           run-time environment. This can be useful to use the same
698           U-Boot binary with different board variants.
699
700 config ENV_FDT_PATH
701         string "Default value for env_fdt_path variable"
702         depends on ENV_IMPORT_FDT
703         default "/config/environment"
704         help
705           The initial value of the env_fdt_path variable.
706
707 config ENV_APPEND
708         bool "Always append the environment with new data"
709         help
710           If defined, the environment hash table is only ever appended with new
711           data, but the existing hash table can never be dropped and reloaded
712           with newly imported data. This may be used in combination with static
713           flags to e.g. to protect variables which must not be modified.
714
715 config ENV_WRITEABLE_LIST
716         bool "Permit write access only to listed variables"
717         help
718           If defined, only environment variables which explicitly set the 'w'
719           writeable flag can be written and modified at runtime. No variables
720           can be otherwise created, written or imported into the environment.
721
722 config ENV_ACCESS_IGNORE_FORCE
723         bool "Block forced environment operations"
724         help
725           If defined, don't allow the -f switch to env set override variable
726           access flags.
727
728 if SPL_ENV_SUPPORT
729 config SPL_ENV_IS_NOWHERE
730         bool "SPL Environment is not stored"
731         default y if ENV_IS_NOWHERE
732         help
733           Similar to ENV_IS_NOWHERE, used for SPL environment.
734
735 config SPL_ENV_IS_IN_MMC
736         bool "SPL Environment in an MMC device"
737         depends on !SPL_ENV_IS_NOWHERE
738         depends on ENV_IS_IN_MMC
739         default y
740         help
741           Similar to ENV_IS_IN_MMC, used for SPL environment.
742
743 config SPL_ENV_IS_IN_FAT
744         bool "SPL Environment is in a FAT filesystem"
745         depends on !SPL_ENV_IS_NOWHERE
746         depends on ENV_IS_IN_FAT
747         default y
748         help
749           Similar to ENV_IS_IN_FAT, used for SPL environment.
750
751 config SPL_ENV_IS_IN_EXT4
752         bool "SPL Environment is in a EXT4 filesystem"
753         depends on !SPL_ENV_IS_NOWHERE
754         depends on ENV_IS_IN_EXT4
755         default y
756         help
757           Similar to ENV_IS_IN_EXT4, used for SPL environment.
758
759 config SPL_ENV_IS_IN_NAND
760         bool "SPL Environment in a NAND device"
761         depends on !SPL_ENV_IS_NOWHERE
762         depends on ENV_IS_IN_NAND
763         default y
764         help
765           Similar to ENV_IS_IN_NAND, used for SPL environment.
766
767 config SPL_ENV_IS_IN_SPI_FLASH
768         bool "SPL Environment is in SPI flash"
769         depends on !SPL_ENV_IS_NOWHERE
770         depends on ENV_IS_IN_SPI_FLASH
771         default y
772         help
773           Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
774
775 config SPL_ENV_IS_IN_FLASH
776         bool "SPL Environment in flash memory"
777         depends on !SPL_ENV_IS_NOWHERE
778         depends on ENV_IS_IN_FLASH
779         default y
780         help
781           Similar to ENV_IS_IN_FLASH, used for SPL environment.
782
783 endif
784
785 if TPL_ENV_SUPPORT
786
787 config TPL_ENV_IS_NOWHERE
788         bool "TPL Environment is not stored"
789         default y if ENV_IS_NOWHERE
790         help
791           Similar to ENV_IS_NOWHERE, used for TPL environment.
792
793 config TPL_ENV_IS_IN_MMC
794         bool "TPL Environment in an MMC device"
795         depends on !TPL_ENV_IS_NOWHERE
796         depends on ENV_IS_IN_MMC
797         default y
798         help
799           Similar to ENV_IS_IN_MMC, used for TPL environment.
800
801 config TPL_ENV_IS_IN_FAT
802         bool "TPL Environment is in a FAT filesystem"
803         depends on !TPL_ENV_IS_NOWHERE
804         depends on ENV_IS_IN_FAT
805         default y
806         help
807           Similar to ENV_IS_IN_FAT, used for TPL environment.
808
809 config TPL_ENV_IS_IN_EXT4
810         bool "TPL Environment is in a EXT4 filesystem"
811         depends on !TPL_ENV_IS_NOWHERE
812         depends on ENV_IS_IN_EXT4
813         default y
814         help
815           Similar to ENV_IS_IN_EXT4, used for TPL environment.
816
817 config TPL_ENV_IS_IN_NAND
818         bool "TPL Environment in a NAND device"
819         depends on !TPL_ENV_IS_NOWHERE
820         depends on ENV_IS_IN_NAND
821         default y
822         help
823           Similar to ENV_IS_IN_NAND, used for TPL environment.
824
825 config TPL_ENV_IS_IN_SPI_FLASH
826         bool "TPL Environment is in SPI flash"
827         depends on !TPL_ENV_IS_NOWHERE
828         depends on ENV_IS_IN_SPI_FLASH
829         default y
830         help
831           Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
832
833 config TPL_ENV_IS_IN_FLASH
834         bool "TPL Environment in flash memory"
835         depends on !TPL_ENV_IS_NOWHERE
836         depends on ENV_IS_IN_FLASH
837         default y
838         help
839           Similar to ENV_IS_IN_FLASH, used for TPL environment.
840
841 endif
842
843 config USE_BOOTFILE
844         bool "Add a 'bootfile' environment variable"
845         help
846           The "bootfile" variable is used in some cases to allow for
847           controlling what file U-Boot will attempt to load and boot.  To set
848           this, enable this option and set the value in the next question.
849
850 config BOOTFILE
851         string "'bootfile' environment variable value"
852         depends on USE_BOOTFILE
853         help
854           The value to set the "bootfile" variable to.
855
856 config USE_ETHPRIME
857         bool "Add an 'ethprime' environment variable"
858         help
859           The "ethprime" variable is used in some cases to control which
860           network interface is used first.
861
862 config ETHPRIME
863         string "'ethprime' environment variable value"
864         depends on USE_ETHPRIME
865         help
866           The value to set the "ethprime" variable to.
867
868 config VERSION_VARIABLE
869         bool "Add a 'ver' environment variable with the U-Boot version"
870         help
871           If this variable is defined, an environment variable
872           named "ver" is created by U-Boot showing the U-Boot
873           version as printed by the "version" command.
874           Any change to this variable will be reverted at the
875           next reset.
876
877 endmenu