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