env: Finish migration of common ENV options
- In ARMv8 NXP Layerscape platforms we also need to make use of CONFIG_SYS_RELOC_GD_ENV_ADDR now, do so. - On ENV_IS_IN_REMOTE, CONFIG_ENV_OFFSET is never used, drop the define to 0. - Add Kconfig entry for ENV_ADDR. - Make ENV_ADDR / ENV_OFFSET depend on the env locations that use it. - Add ENV_xxx_REDUND options that depend on their primary option and SYS_REDUNDAND_ENVIRONMENT - On a number of PowerPC platforms, use SPL_ENV_ADDR not CONFIG_ENV_ADDR for the pre-main-U-Boot environment location. - On ENV_IS_IN_SPI_FLASH, check not for CONFIG_ENV_ADDR being set but rather it being non-zero, as it will now be zero by default. - Rework the env_offset absolute in env/embedded.o to not use CONFIG_ENV_OFFSET as it was the only use of ENV_OFFSET within ENV_IS_IN_FLASH. - Migrate all platforms. Cc: Wolfgang Denk <wd@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: uboot-stm32@st-md-mailman.stormreply.com Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
This commit is contained in:
32
env/Kconfig
vendored
32
env/Kconfig
vendored
@@ -467,11 +467,25 @@ config ENV_EXT4_FILE
|
||||
It's a string of the EXT4 file name. This file use to store the
|
||||
environment (explicit path to the file)
|
||||
|
||||
if ARCH_ROCKCHIP || ARCH_SUNXI || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL || ARC || ARCH_STM32MP || ARCH_OMAP2PLUS || ARCH_AT91
|
||||
config ENV_ADDR
|
||||
hex "Environment address"
|
||||
depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
|
||||
ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
|
||||
default 0x0 if ENV_IS_IN_SPI_FLASH
|
||||
help
|
||||
Offset from the start of the device (or partition)
|
||||
|
||||
config ENV_ADDR_REDUND
|
||||
hex "Redundant environment address"
|
||||
depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
|
||||
help
|
||||
Offset from the start of the device (or partition) of the redundant
|
||||
environment location.
|
||||
|
||||
config ENV_OFFSET
|
||||
hex "Environment Offset"
|
||||
depends on (!ENV_IS_IN_UBI && !ENV_IS_NOWHERE) || ARCH_STM32MP
|
||||
hex "Environment offset"
|
||||
depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
|
||||
ENV_IS_IN_SPI_FLASH
|
||||
default 0x3f8000 if ARCH_ROCKCHIP
|
||||
default 0x88000 if ARCH_SUNXI
|
||||
default 0xE0000 if ARCH_ZYNQ
|
||||
@@ -483,6 +497,14 @@ config ENV_OFFSET
|
||||
help
|
||||
Offset from the start of the device (or partition)
|
||||
|
||||
config ENV_OFFSET_REDUND
|
||||
hex "Redundant environment offset"
|
||||
depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
|
||||
ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
|
||||
help
|
||||
Offset from the start of the device (or partition) of the redundant
|
||||
environment location.
|
||||
|
||||
config ENV_SIZE
|
||||
hex "Environment Size"
|
||||
default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
|
||||
@@ -495,7 +517,7 @@ config ENV_SIZE
|
||||
|
||||
config ENV_SECT_SIZE
|
||||
hex "Environment Sector-Size"
|
||||
depends on (!ENV_IS_NOWHERE && (ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL || ARCH_OMAP2PLUS || ARCH_AT91) )|| ARCH_STM32MP
|
||||
depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
|
||||
default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL
|
||||
default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
|
||||
help
|
||||
@@ -526,8 +548,6 @@ config ENV_UBI_VID_OFFSET
|
||||
help
|
||||
UBI VID offset for environment. If 0, no custom VID offset is used.
|
||||
|
||||
endif
|
||||
|
||||
config SYS_RELOC_GD_ENV_ADDR
|
||||
bool "Relocate gd->en_addr"
|
||||
help
|
||||
|
||||
2
env/embedded.c
vendored
2
env/embedded.c
vendored
@@ -91,6 +91,6 @@ unsigned long env_size __UBOOT_ENV_SECTION__(env_size) = sizeof(env_t);
|
||||
/*
|
||||
* Add in absolutes.
|
||||
*/
|
||||
GEN_ABS(env_offset, CONFIG_ENV_OFFSET);
|
||||
GEN_ABS(env_offset, (CONFIG_ENV_ADDR - CONFIG_SYS_FLASH_BASE));
|
||||
|
||||
#endif /* ENV_IS_EMBEDDED */
|
||||
|
||||
4
env/mmc.c
vendored
4
env/mmc.c
vendored
@@ -24,10 +24,6 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#if !defined(CONFIG_ENV_OFFSET)
|
||||
#define CONFIG_ENV_OFFSET 0
|
||||
#endif
|
||||
|
||||
#if CONFIG_IS_ENABLED(OF_CONTROL)
|
||||
static inline int mmc_offset_try_partition(const char *str, s64 *val)
|
||||
{
|
||||
|
||||
4
env/remote.c
vendored
4
env/remote.c
vendored
@@ -18,10 +18,6 @@ env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#if !defined(CONFIG_ENV_OFFSET)
|
||||
#define CONFIG_ENV_OFFSET 0
|
||||
#endif
|
||||
|
||||
static int env_remote_init(void)
|
||||
{
|
||||
if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) {
|
||||
|
||||
6
env/sf.c
vendored
6
env/sf.c
vendored
@@ -284,14 +284,14 @@ out:
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ENV_ADDR
|
||||
#if CONFIG_ENV_ADDR != 0x0
|
||||
__weak void *env_sf_get_env_addr(void)
|
||||
{
|
||||
return (void *)CONFIG_ENV_ADDR;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(INITENV) && defined(CONFIG_ENV_ADDR)
|
||||
#if defined(INITENV) && (CONFIG_ENV_ADDR != 0x0)
|
||||
static int env_sf_init(void)
|
||||
{
|
||||
env_t *env_ptr = (env_t *)env_sf_get_env_addr();
|
||||
@@ -315,7 +315,7 @@ U_BOOT_ENV_LOCATION(sf) = {
|
||||
#ifdef CMD_SAVEENV
|
||||
.save = env_save_ptr(env_sf_save),
|
||||
#endif
|
||||
#if defined(INITENV) && defined(CONFIG_ENV_ADDR)
|
||||
#if defined(INITENV) && (CONFIG_ENV_ADDR != 0x0)
|
||||
.init = env_sf_init,
|
||||
#endif
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user