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