About a quarter of the files in common/ relate to the environment. It seems better to put these into their own subdirectory and remove the prefix. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>master
parent
ec74f5f9c3
commit
0649cd0d49
@ -0,0 +1,441 @@ |
||||
menu "Environment" |
||||
|
||||
config ENV_IS_IN_DATAFLASH |
||||
bool "Environment in dataflash" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you have a DataFlash memory device which you |
||||
want to use for the environment. |
||||
|
||||
- CONFIG_ENV_OFFSET: |
||||
- CONFIG_ENV_ADDR: |
||||
- CONFIG_ENV_SIZE: |
||||
|
||||
These three #defines specify the offset and size of the |
||||
environment area within the total memory of your DataFlash placed |
||||
at the specified address. |
||||
|
||||
config ENV_IS_IN_EEPROM |
||||
bool "Environment in EEPROM" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Use this if you have an EEPROM or similar serial access |
||||
device and a driver for it. |
||||
|
||||
- CONFIG_ENV_OFFSET: |
||||
- CONFIG_ENV_SIZE: |
||||
|
||||
These two #defines specify the offset and size of the |
||||
environment area within the total memory of your EEPROM. |
||||
|
||||
- CONFIG_SYS_I2C_EEPROM_ADDR: |
||||
If defined, specified the chip address of the EEPROM device. |
||||
The default address is zero. |
||||
|
||||
- CONFIG_SYS_I2C_EEPROM_BUS: |
||||
If defined, specified the i2c bus of the EEPROM device. |
||||
|
||||
- CONFIG_SYS_EEPROM_PAGE_WRITE_BITS: |
||||
If defined, the number of bits used to address bytes in a |
||||
single page in the EEPROM device. A 64 byte page, for example |
||||
would require six bits. |
||||
|
||||
- CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS: |
||||
If defined, the number of milliseconds to delay between |
||||
page writes. The default is zero milliseconds. |
||||
|
||||
- CONFIG_SYS_I2C_EEPROM_ADDR_LEN: |
||||
The length in bytes of the EEPROM memory array address. Note |
||||
that this is NOT the chip address length! |
||||
|
||||
- CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW: |
||||
EEPROM chips that implement "address overflow" are ones |
||||
like Catalyst 24WC04/08/16 which has 9/10/11 bits of |
||||
address and the extra bits end up in the "chip address" bit |
||||
slots. This makes a 24WC08 (1Kbyte) chip look like four 256 |
||||
byte chips. |
||||
|
||||
Note that we consider the length of the address field to |
||||
still be one byte because the extra address bits are hidden |
||||
in the chip address. |
||||
|
||||
- CONFIG_SYS_EEPROM_SIZE: |
||||
The size in bytes of the EEPROM device. |
||||
|
||||
- CONFIG_ENV_EEPROM_IS_ON_I2C |
||||
define this, if you have I2C and SPI activated, and your |
||||
EEPROM, which holds the environment, is on the I2C bus. |
||||
|
||||
- CONFIG_I2C_ENV_EEPROM_BUS |
||||
if you have an Environment on an EEPROM reached over |
||||
I2C muxes, you can define here, how to reach this |
||||
EEPROM. For example: |
||||
|
||||
#define CONFIG_I2C_ENV_EEPROM_BUS 1 |
||||
|
||||
EEPROM which holds the environment, is reached over |
||||
a pca9547 i2c mux with address 0x70, channel 3. |
||||
|
||||
config ENV_IS_IN_FAT |
||||
bool "Environment is in a FAT filesystem" |
||||
depends on !CHAIN_OF_TRUST |
||||
select FAT_WRITE |
||||
help |
||||
Define this if you want to use the FAT file system for the environment. |
||||
|
||||
|
||||
- CONFIG_FAT_WRITE: |
||||
This must be enabled. Otherwise it cannot save the environment file. |
||||
|
||||
config ENV_IS_IN_FLASH |
||||
bool "Environment in flash memory" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you have a flash device which you want to use for the |
||||
environment. |
||||
|
||||
a) The environment occupies one whole flash sector, which is |
||||
"embedded" in the text segment with the U-Boot code. This |
||||
happens usually with "bottom boot sector" or "top boot |
||||
sector" type flash chips, which have several smaller |
||||
sectors at the start or the end. For instance, such a |
||||
layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In |
||||
such a case you would place the environment in one of the |
||||
4 kB sectors - with U-Boot code before and after it. With |
||||
"top boot sector" type flash chips, you would put the |
||||
environment in one of the last sectors, leaving a gap |
||||
between U-Boot and the environment. |
||||
|
||||
CONFIG_ENV_OFFSET: |
||||
|
||||
Offset of environment data (variable area) to the |
||||
beginning of flash memory; for instance, with bottom boot |
||||
type flash chips the second sector can be used: the offset |
||||
for this sector is given here. |
||||
|
||||
CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE. |
||||
|
||||
CONFIG_ENV_ADDR: |
||||
|
||||
This is just another way to specify the start address of |
||||
the flash sector containing the environment (instead of |
||||
CONFIG_ENV_OFFSET). |
||||
|
||||
CONFIG_ENV_SECT_SIZE: |
||||
|
||||
Size of the sector containing the environment. |
||||
|
||||
|
||||
b) Sometimes flash chips have few, equal sized, BIG sectors. |
||||
In such a case you don't want to spend a whole sector for |
||||
the environment. |
||||
|
||||
CONFIG_ENV_SIZE: |
||||
|
||||
If you use this in combination with CONFIG_ENV_IS_IN_FLASH |
||||
and CONFIG_ENV_SECT_SIZE, you can specify to use only a part |
||||
of this flash sector for the environment. This saves |
||||
memory for the RAM copy of the environment. |
||||
|
||||
It may also save flash memory if you decide to use this |
||||
when your environment is "embedded" within U-Boot code, |
||||
since then the remainder of the flash sector could be used |
||||
for U-Boot code. It should be pointed out that this is |
||||
STRONGLY DISCOURAGED from a robustness point of view: |
||||
updating the environment in flash makes it always |
||||
necessary to erase the WHOLE sector. If something goes |
||||
wrong before the contents has been restored from a copy in |
||||
RAM, your target system will be dead. |
||||
|
||||
CONFIG_ENV_ADDR_REDUND |
||||
CONFIG_ENV_SIZE_REDUND |
||||
|
||||
These settings describe a second storage area used to hold |
||||
a redundant copy of the environment data, so that there is |
||||
a valid backup copy in case there is a power failure during |
||||
a "saveenv" operation. |
||||
|
||||
BE CAREFUL! Any changes to the flash layout, and some changes to the |
||||
source code will make it necessary to adapt <board>/u-boot.lds* |
||||
accordingly! |
||||
|
||||
config ENV_IS_IN_MMC |
||||
bool "Environment in an MMC device" |
||||
depends on !CHAIN_OF_TRUST |
||||
default y if ARCH_SUNXI |
||||
help |
||||
Define this if you have an MMC device which you want to use for the |
||||
environment. |
||||
|
||||
CONFIG_SYS_MMC_ENV_DEV: |
||||
|
||||
Specifies which MMC device the environment is stored in. |
||||
|
||||
CONFIG_SYS_MMC_ENV_PART (optional): |
||||
|
||||
Specifies which MMC partition the environment is stored in. If not |
||||
set, defaults to partition 0, the user area. Common values might be |
||||
1 (first MMC boot partition), 2 (second MMC boot partition). |
||||
|
||||
CONFIG_ENV_OFFSET: |
||||
CONFIG_ENV_SIZE: |
||||
|
||||
These two #defines specify the offset and size of the environment |
||||
area within the specified MMC device. |
||||
|
||||
If offset is positive (the usual case), it is treated as relative to |
||||
the start of the MMC partition. If offset is negative, it is treated |
||||
as relative to the end of the MMC partition. This can be useful if |
||||
your board may be fitted with different MMC devices, which have |
||||
different sizes for the MMC partitions, and you always want the |
||||
environment placed at the very end of the partition, to leave the |
||||
maximum possible space before it, to store other data. |
||||
|
||||
These two values are in units of bytes, but must be aligned to an |
||||
MMC sector boundary. |
||||
|
||||
CONFIG_ENV_OFFSET_REDUND (optional): |
||||
|
||||
Specifies a second storage area, of CONFIG_ENV_SIZE size, used to |
||||
hold a redundant copy of the environment data. This provides a |
||||
valid backup copy in case the other copy is corrupted, e.g. due |
||||
to a power failure during a "saveenv" operation. |
||||
|
||||
This value may also be positive or negative; this is handled in the |
||||
same way as CONFIG_ENV_OFFSET. |
||||
|
||||
This value is also in units of bytes, but must also be aligned to |
||||
an MMC sector boundary. |
||||
|
||||
CONFIG_ENV_SIZE_REDUND (optional): |
||||
|
||||
This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is |
||||
set. If this value is set, it must be set to the same value as |
||||
CONFIG_ENV_SIZE. |
||||
|
||||
config ENV_IS_IN_NAND |
||||
bool "Environment in a NAND device" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you have a NAND device which you want to use for the |
||||
environment. |
||||
|
||||
- CONFIG_ENV_OFFSET: |
||||
- CONFIG_ENV_SIZE: |
||||
|
||||
These two #defines specify the offset and size of the environment |
||||
area within the first NAND device. CONFIG_ENV_OFFSET must be |
||||
aligned to an erase block boundary. |
||||
|
||||
- CONFIG_ENV_OFFSET_REDUND (optional): |
||||
|
||||
This setting describes a second storage area of CONFIG_ENV_SIZE |
||||
size used to hold a redundant copy of the environment data, so |
||||
that there is a valid backup copy in case there is a power failure |
||||
during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be |
||||
aligned to an erase block boundary. |
||||
|
||||
- CONFIG_ENV_RANGE (optional): |
||||
|
||||
Specifies the length of the region in which the environment |
||||
can be written. This should be a multiple of the NAND device's |
||||
block size. Specifying a range with more erase blocks than |
||||
are needed to hold CONFIG_ENV_SIZE allows bad blocks within |
||||
the range to be avoided. |
||||
|
||||
- CONFIG_ENV_OFFSET_OOB (optional): |
||||
|
||||
Enables support for dynamically retrieving the offset of the |
||||
environment from block zero's out-of-band data. The |
||||
"nand env.oob" command can be used to record this offset. |
||||
Currently, CONFIG_ENV_OFFSET_REDUND is not supported when |
||||
using CONFIG_ENV_OFFSET_OOB. |
||||
|
||||
config ENV_IS_IN_NVRAM |
||||
bool "Environment in a non-volatile RAM" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you have some non-volatile memory device |
||||
(NVRAM, battery buffered SRAM) which you want to use for the |
||||
environment. |
||||
|
||||
- CONFIG_ENV_ADDR: |
||||
- CONFIG_ENV_SIZE: |
||||
|
||||
These two #defines are used to determine the memory area you |
||||
want to use for environment. It is assumed that this memory |
||||
can just be read and written to, without any special |
||||
provision. |
||||
|
||||
config ENV_IS_IN_ONENAND |
||||
bool "Environment is in OneNAND" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you want to put your local device's environment in |
||||
OneNAND. |
||||
|
||||
- CONFIG_ENV_ADDR: |
||||
- CONFIG_ENV_SIZE: |
||||
|
||||
These two #defines are used to determine the device range you |
||||
want to use for environment. It is assumed that this memory |
||||
can just be read and written to, without any special |
||||
provision. |
||||
|
||||
config ENV_IS_IN_REMOTE |
||||
bool "Environment is in remove memory space" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you have a remote memory space which you |
||||
want to use for the local device's environment. |
||||
|
||||
- CONFIG_ENV_ADDR: |
||||
- CONFIG_ENV_SIZE: |
||||
|
||||
These two #defines specify the address and size of the |
||||
environment area within the remote memory space. The |
||||
local device can get the environment from remote memory |
||||
space by SRIO or PCIE links. |
||||
|
||||
config ENV_IS_IN_SPI_FLASH |
||||
bool "Environment is in SPI flash" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you have a SPI Flash memory device which you |
||||
want to use for the environment. |
||||
|
||||
- CONFIG_ENV_OFFSET: |
||||
- CONFIG_ENV_SIZE: |
||||
|
||||
These two #defines specify the offset and size of the |
||||
environment area within the SPI Flash. CONFIG_ENV_OFFSET must be |
||||
aligned to an erase sector boundary. |
||||
|
||||
- CONFIG_ENV_SECT_SIZE: |
||||
|
||||
Define the SPI flash's sector size. |
||||
|
||||
- CONFIG_ENV_OFFSET_REDUND (optional): |
||||
|
||||
This setting describes a second storage area of CONFIG_ENV_SIZE |
||||
size used to hold a redundant copy of the environment data, so |
||||
that there is a valid backup copy in case there is a power failure |
||||
during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be |
||||
aligned to an erase sector boundary. |
||||
|
||||
- CONFIG_ENV_SPI_BUS (optional): |
||||
- CONFIG_ENV_SPI_CS (optional): |
||||
|
||||
Define the SPI bus and chip select. If not defined they will be 0. |
||||
|
||||
- CONFIG_ENV_SPI_MAX_HZ (optional): |
||||
|
||||
Define the SPI max work clock. If not defined then use 1MHz. |
||||
|
||||
- CONFIG_ENV_SPI_MODE (optional): |
||||
|
||||
Define the SPI work mode. If not defined then use SPI_MODE_3. |
||||
|
||||
config ENV_IS_IN_UBI |
||||
bool "Environment in a UBI volume" |
||||
depends on !CHAIN_OF_TRUST |
||||
help |
||||
Define this if you have an UBI volume that you want to use for the |
||||
environment. This has the benefit of wear-leveling the environment |
||||
accesses, which is important on NAND. |
||||
|
||||
- CONFIG_ENV_UBI_PART: |
||||
|
||||
Define this to a string that is the mtd partition containing the UBI. |
||||
|
||||
- CONFIG_ENV_UBI_VOLUME: |
||||
|
||||
Define this to the name of the volume that you want to store the |
||||
environment in. |
||||
|
||||
- CONFIG_ENV_UBI_VOLUME_REDUND: |
||||
|
||||
Define this to the name of another volume to store a second copy of |
||||
the environment in. This will enable redundant environments in UBI. |
||||
It is assumed that both volumes are in the same MTD partition. |
||||
|
||||
- CONFIG_UBI_SILENCE_MSG |
||||
- CONFIG_UBIFS_SILENCE_MSG |
||||
|
||||
You will probably want to define these to avoid a really noisy system |
||||
when storing the env in UBI. |
||||
|
||||
config ENV_IS_NOWHERE |
||||
bool "Environment is not stored" |
||||
help |
||||
Define this if you don't want to or can't have an environment stored |
||||
on a storage medium |
||||
|
||||
config ENV_FAT_INTERFACE |
||||
string "Name of the block device for the environment" |
||||
depends on ENV_IS_IN_FAT |
||||
default "mmc" if TI_COMMON_CMD_OPTIONS || ARCH_ZYNQMP || ARCH_AT91 |
||||
help |
||||
Define this to a string that is the name of the block device. |
||||
|
||||
config ENV_FAT_DEVICE_AND_PART |
||||
string "Device and partition for where to store the environemt in FAT" |
||||
depends on ENV_IS_IN_FAT |
||||
default "0:1" if TI_COMMON_CMD_OPTIONS |
||||
default "0:auto" if ARCH_ZYNQMP |
||||
default "0" if ARCH_AT91 |
||||
help |
||||
Define this to a string to specify the partition of the device. It can |
||||
be as following: |
||||
|
||||
"D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1) |
||||
- "D:P": device D partition P. Error occurs if device D has no |
||||
partition table. |
||||
- "D:0": device D. |
||||
- "D" or "D:": device D partition 1 if device D has partition |
||||
table, or the whole device D if has no partition |
||||
table. |
||||
- "D:auto": first partition in device D with bootable flag set. |
||||
If none, first valid partition in device D. If no |
||||
partition table then means device D. |
||||
|
||||
config ENV_FAT_FILE |
||||
string "Name of the FAT file to use for the environemnt" |
||||
depends on ENV_IS_IN_FAT |
||||
default "uboot.env" |
||||
help |
||||
It's a string of the FAT file name. This file use to store the |
||||
environment. |
||||
|
||||
if ARCH_SUNXI |
||||
|
||||
config ENV_OFFSET |
||||
hex "Environment Offset" |
||||
depends on !ENV_IS_IN_UBI |
||||
depends on !ENV_IS_NOWHERE |
||||
default 0x88000 if ARCH_SUNXI |
||||
help |
||||
Offset from the start of the device (or partition) |
||||
|
||||
config ENV_SIZE |
||||
hex "Environment Size" |
||||
depends on !ENV_IS_NOWHERE |
||||
default 0x20000 if ARCH_SUNXI |
||||
help |
||||
Size of the environment storage area |
||||
|
||||
config ENV_UBI_PART |
||||
string "UBI partition name" |
||||
depends on ENV_IS_IN_UBI |
||||
help |
||||
MTD partition containing the UBI device |
||||
|
||||
config ENV_UBI_VOLUME |
||||
string "UBI volume name" |
||||
depends on ENV_IS_IN_UBI |
||||
help |
||||
Name of the volume that you want to store the environment in. |
||||
|
||||
endif |
||||
|
||||
endmenu |
@ -0,0 +1,57 @@ |
||||
#
|
||||
# (C) Copyright 2004-2006
|
||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y += common.o
|
||||
|
||||
ifndef CONFIG_SPL_BUILD |
||||
obj-y += attr.o
|
||||
obj-y += callback.o
|
||||
obj-y += flags.o
|
||||
obj-$(CONFIG_ENV_IS_IN_DATAFLASH) += dataflash.o
|
||||
obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
|
||||
extra-$(CONFIG_ENV_IS_EMBEDDED) += embedded.o
|
||||
obj-$(CONFIG_ENV_IS_IN_EEPROM) += embedded.o
|
||||
extra-$(CONFIG_ENV_IS_IN_FLASH) += embedded.o
|
||||
obj-$(CONFIG_ENV_IS_IN_NVRAM) += embedded.o
|
||||
obj-$(CONFIG_ENV_IS_IN_FLASH) += flash.o
|
||||
obj-$(CONFIG_ENV_IS_IN_MMC) += mmc.o
|
||||
obj-$(CONFIG_ENV_IS_IN_FAT) += fat.o
|
||||
obj-$(CONFIG_ENV_IS_IN_EXT4) += ext4.o
|
||||
obj-$(CONFIG_ENV_IS_IN_NAND) += nand.o
|
||||
obj-$(CONFIG_ENV_IS_IN_NVRAM) += nvram.o
|
||||
obj-$(CONFIG_ENV_IS_IN_ONENAND) += onenand.o
|
||||
obj-$(CONFIG_ENV_IS_IN_SATA) += sata.o
|
||||
obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += sf.o
|
||||
obj-$(CONFIG_ENV_IS_IN_REMOTE) += remote.o
|
||||
obj-$(CONFIG_ENV_IS_IN_UBI) += ubi.o
|
||||
obj-$(CONFIG_ENV_IS_NOWHERE) += nowhere.o
|
||||
endif |
||||
|
||||
ifdef CONFIG_SPL_BUILD |
||||
obj-$(CONFIG_ENV_IS_IN_FLASH) += flash.o
|
||||
# environment
|
||||
ifdef CONFIG_TPL_BUILD |
||||
obj-$(CONFIG_TPL_ENV_SUPPORT) += attr.o
|
||||
obj-$(CONFIG_TPL_ENV_SUPPORT) += flags.o
|
||||
obj-$(CONFIG_TPL_ENV_SUPPORT) += callback.o
|
||||
else |
||||
obj-$(CONFIG_SPL_ENV_SUPPORT) += attr.o
|
||||
obj-$(CONFIG_SPL_ENV_SUPPORT) += flags.o
|
||||
obj-$(CONFIG_SPL_ENV_SUPPORT) += callback.o
|
||||
endif |
||||
ifneq ($(CONFIG_TPL_ENV_SUPPORT)$(CONFIG_SPL_ENV_SUPPORT),) |
||||
obj-$(CONFIG_ENV_IS_NOWHERE) += nowhere.o
|
||||
obj-$(CONFIG_ENV_IS_IN_MMC) += mmc.o
|
||||
obj-$(CONFIG_ENV_IS_IN_FAT) += fat.o
|
||||
obj-$(CONFIG_ENV_IS_IN_EXT4) += ext4.o
|
||||
obj-$(CONFIG_ENV_IS_IN_NAND) += nand.o
|
||||
obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += sf.o
|
||||
obj-$(CONFIG_ENV_IS_IN_FLASH) += flash.o
|
||||
endif |
||||
endif |
||||
|
||||
CFLAGS_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null)
|
Loading…
Reference in new issue