diff options
Diffstat (limited to 'env/mmc.c')
-rw-r--r-- | env/mmc.c | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/env/mmc.c b/env/mmc.c index 8848371eb4f..46ffa6386d6 100644 --- a/env/mmc.c +++ b/env/mmc.c @@ -29,11 +29,19 @@ #else /* Default ENV offset when not defined in Device Tree */ +#if !defined(CONFIG_ENV_OFFSET_RELATIVE_END) #define ENV_MMC_OFFSET CONFIG_ENV_OFFSET +#else +#define ENV_MMC_OFFSET (-(CONFIG_ENV_OFFSET)) +#endif #if defined(CONFIG_ENV_OFFSET_REDUND) +#if !defined(CONFIG_ENV_OFFSET_REDUND_RELATIVE_END) #define ENV_MMC_OFFSET_REDUND CONFIG_ENV_OFFSET_REDUND #else +#define ENV_MMC_OFFSET_REDUND (-(CONFIG_ENV_OFFSET_REDUND)) +#endif +#else #define ENV_MMC_OFFSET_REDUND ENV_MMC_INVALID_OFFSET #endif #endif @@ -157,14 +165,14 @@ static inline s64 mmc_offset(struct mmc *mmc, int copy) int hwpart = 0; int err; -#if defined(CONFIG_SYS_MMC_ENV_PART) +#if defined(CONFIG_ENV_MMC_EMMC_HW_PARTITION) hwpart = mmc_get_env_part(mmc); #endif -#if defined(CONFIG_ENV_MMC_PARTITION) - str = CONFIG_ENV_MMC_PARTITION; +#if defined(CONFIG_ENV_MMC_SW_PARTITION) + str = CONFIG_ENV_MMC_SW_PARTITION; #else - /* look for the partition in mmc CONFIG_SYS_MMC_ENV_DEV */ + /* look for the partition in mmc CONFIG_ENV_MMC_DEVICE_INDEX */ str = ofnode_conf_read_str(dt_prop.partition); #endif @@ -186,7 +194,7 @@ static inline s64 mmc_offset(struct mmc *mmc, int copy) defvalue = ENV_MMC_OFFSET; propname = dt_prop.offset; - if (IS_ENABLED(CONFIG_SYS_REDUNDAND_ENVIRONMENT) && copy) { + if (IS_ENABLED(CONFIG_ENV_REDUNDANT) && copy) { defvalue = ENV_MMC_OFFSET_REDUND; propname = dt_prop.offset_redund; } @@ -198,7 +206,7 @@ static inline s64 mmc_offset(struct mmc *mmc, int copy) { s64 offset = ENV_MMC_OFFSET; - if (IS_ENABLED(CONFIG_SYS_REDUNDAND_ENVIRONMENT) && copy) + if (IS_ENABLED(CONFIG_ENV_REDUNDANT) && copy) offset = ENV_MMC_OFFSET_REDUND; return offset; @@ -213,10 +221,10 @@ static bool mmc_env_is_redundant_in_both_boot_hwparts(struct mmc *mmc) * identical, store the environment and redundant environment in both * eMMC boot partitions, one copy in each. */ - if (!IS_ENABLED(CONFIG_SYS_REDUNDAND_ENVIRONMENT)) + if (!IS_ENABLED(CONFIG_ENV_REDUNDANT)) return false; - if (CONFIG_SYS_MMC_ENV_PART != 1) + if (CONFIG_ENV_MMC_EMMC_HW_PARTITION != 1) return false; return mmc_offset(mmc, 0) == mmc_offset(mmc, 1); @@ -239,10 +247,10 @@ __weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr) return 0; } -#ifdef CONFIG_SYS_MMC_ENV_PART +#ifdef CONFIG_ENV_MMC_EMMC_HW_PARTITION __weak uint mmc_get_env_part(struct mmc *mmc) { - return CONFIG_SYS_MMC_ENV_PART; + return CONFIG_ENV_MMC_EMMC_HW_PARTITION; } static unsigned char env_mmc_orig_hwpart; @@ -337,7 +345,7 @@ static int env_mmc_save(void) if (ret) goto fini; - if (IS_ENABLED(CONFIG_SYS_REDUNDAND_ENVIRONMENT)) { + if (IS_ENABLED(CONFIG_ENV_REDUNDANT)) { if (gd->env_valid == ENV_VALID) copy = 1; @@ -362,7 +370,7 @@ static int env_mmc_save(void) ret = 0; - if (IS_ENABLED(CONFIG_SYS_REDUNDAND_ENVIRONMENT)) + if (IS_ENABLED(CONFIG_ENV_REDUNDANT)) gd->env_valid = gd->env_valid == ENV_REDUND ? ENV_VALID : ENV_REDUND; fini: @@ -411,7 +419,7 @@ static int env_mmc_erase(void) printf("\n"); ret = erase_env(mmc, CONFIG_ENV_SIZE, offset); - if (IS_ENABLED(CONFIG_SYS_REDUNDAND_ENVIRONMENT)) { + if (IS_ENABLED(CONFIG_ENV_REDUNDANT)) { copy = 1; if (mmc_env_is_redundant_in_both_boot_hwparts(mmc)) { @@ -555,7 +563,7 @@ static int env_mmc_load(void) { if (IS_ENABLED(ENV_IS_EMBEDDED)) return 0; - else if (IS_ENABLED(CONFIG_SYS_REDUNDAND_ENVIRONMENT)) + else if (IS_ENABLED(CONFIG_ENV_REDUNDANT)) return env_mmc_load_redundant(); else return env_mmc_load_singular(); |