summaryrefslogtreecommitdiff
path: root/env/mmc.c
diff options
context:
space:
mode:
Diffstat (limited to 'env/mmc.c')
-rw-r--r--env/mmc.c36
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();