summaryrefslogtreecommitdiff
path: root/env
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2019-11-21 08:25:53 -0500
committerTom Rini <trini@konsulko.com>2019-11-21 08:25:53 -0500
commitf0fcab6f8e11cee6d6b81a08fbfc641f6fcce0ec (patch)
tree93c09653555ff696eb7705a74475a711cea8b316 /env
parentad38de2093035e07a09d6995a90a0d28fac75a95 (diff)
parenta09fea1d28fe3c69a64bee092f5a764274d26ca2 (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/Kconfig39
-rw-r--r--env/embedded.c2
-rw-r--r--env/flash.c5
-rw-r--r--env/mmc.c9
-rw-r--r--env/nand.c5
-rw-r--r--env/remote.c4
-rw-r--r--env/sata.c2
-rw-r--r--env/sf.c6
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
diff --git a/env/sf.c b/env/sf.c
index 590d0cedd85..16dba115783 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -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
};