diff options
| author | Tom Rini <trini@konsulko.com> | 2019-11-21 08:25:53 -0500 |
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2019-11-21 08:25:53 -0500 |
| commit | f0fcab6f8e11cee6d6b81a08fbfc641f6fcce0ec (patch) | |
| tree | 93c09653555ff696eb7705a74475a711cea8b316 /env | |
| parent | ad38de2093035e07a09d6995a90a0d28fac75a95 (diff) | |
| parent | a09fea1d28fe3c69a64bee092f5a764274d26ca2 (diff) | |
Merge branch '2019-11-20-env-migration'
- Migrate a number of common environment related options to Kconfig
Diffstat (limited to 'env')
| -rw-r--r-- | env/Kconfig | 39 | ||||
| -rw-r--r-- | env/embedded.c | 2 | ||||
| -rw-r--r-- | env/flash.c | 5 | ||||
| -rw-r--r-- | env/mmc.c | 9 | ||||
| -rw-r--r-- | env/nand.c | 5 | ||||
| -rw-r--r-- | env/remote.c | 4 | ||||
| -rw-r--r-- | env/sata.c | 2 | ||||
| -rw-r--r-- | env/sf.c | 6 |
8 files changed, 31 insertions, 41 deletions
diff --git a/env/Kconfig b/env/Kconfig index 337787051df..bc88c59cd54 100644 --- a/env/Kconfig +++ b/env/Kconfig @@ -132,7 +132,6 @@ config ENV_IS_IN_FLASH 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 @@ -195,12 +194,6 @@ config ENV_IS_IN_MMC 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 @@ -474,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 @@ -490,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 @@ -502,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 @@ -533,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 diff --git a/env/embedded.c b/env/embedded.c index a38e169fe0b..208553e6af1 100644 --- a/env/embedded.c +++ b/env/embedded.c @@ -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 */ diff --git a/env/flash.c b/env/flash.c index 231a5fdf24d..b94ed2b04f8 100644 --- a/env/flash.c +++ b/env/flash.c @@ -28,11 +28,6 @@ DECLARE_GLOBAL_DATA_PTR; # endif #endif -#if defined(CONFIG_ENV_SIZE_REDUND) && \ - (CONFIG_ENV_SIZE_REDUND < CONFIG_ENV_SIZE) -#error CONFIG_ENV_SIZE_REDUND should not be less then CONFIG_ENV_SIZE -#endif - /* TODO(sjg@chromium.org): Figure out all these special cases */ #if (!defined(CONFIG_MICROBLAZE) && !defined(CONFIG_ARCH_ZYNQ) && \ !defined(CONFIG_TARGET_MCCMON6) && !defined(CONFIG_TARGET_X600) && \ diff --git a/env/mmc.c b/env/mmc.c index 9f1878def13..b24c35cec94 100644 --- a/env/mmc.c +++ b/env/mmc.c @@ -22,17 +22,8 @@ #define __STR(X) #X #define STR(X) __STR(X) -#if defined(CONFIG_ENV_SIZE_REDUND) && \ - (CONFIG_ENV_SIZE_REDUND != CONFIG_ENV_SIZE) -#error CONFIG_ENV_SIZE_REDUND should be the same as CONFIG_ENV_SIZE -#endif - 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) { diff --git a/env/nand.c b/env/nand.c index 9f3dc635cf1..e631bf2fdab 100644 --- a/env/nand.c +++ b/env/nand.c @@ -31,11 +31,6 @@ #error CONFIG_ENV_OFFSET_REDUND must have CONFIG_CMD_SAVEENV & CONFIG_CMD_NAND #endif -#if defined(CONFIG_ENV_SIZE_REDUND) && \ - (CONFIG_ENV_SIZE_REDUND != CONFIG_ENV_SIZE) -#error CONFIG_ENV_SIZE_REDUND should be the same as CONFIG_ENV_SIZE -#endif - #ifndef CONFIG_ENV_RANGE #define CONFIG_ENV_RANGE CONFIG_ENV_SIZE #endif diff --git a/env/remote.c b/env/remote.c index 02531f427ba..55faa1e5d0e 100644 --- a/env/remote.c +++ b/env/remote.c @@ -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) { diff --git a/env/sata.c b/env/sata.c index 93697100815..8bfcc94306d 100644 --- a/env/sata.c +++ b/env/sata.c @@ -16,7 +16,7 @@ #include <sata.h> #include <search.h> -#if defined(CONFIG_ENV_SIZE_REDUND) || defined(CONFIG_ENV_OFFSET_REDUND) +#if defined(CONFIG_ENV_OFFSET_REDUND) #error ENV REDUND not supported #endif @@ -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 }; |
