From 3195e1ec2d772d5e4c16ae5b60c294086cfc17be Mon Sep 17 00:00:00 2001 From: Kuiying Wang Date: Thu, 12 Dec 2019 12:54:18 +0800 Subject: [PATCH] ast2600: intel-layout-environment-addr Tested: Both kernel and u-boot work at the area /dev/mtd/u-boot-env Signed-off-by: Kuiying Wang Signed-off-by: Jae Hyun Yoo --- common/board_r.c | 13 ++++++++++--- include/configs/aspeed-common.h | 11 ++++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/common/board_r.c b/common/board_r.c index 472987d5d52f..b665d0e30262 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -433,10 +433,17 @@ static int should_load_env(void) static int initr_env(void) { /* initialize environment */ - if (should_load_env()) - env_relocate(); - else + if (should_load_env()) { + /* + * try again, in case the environment failed to load the first + * time + */ + if (!gd->env_valid) + env_init(); + env_relocate(); + } else { set_default_env(NULL, 0); + } #ifdef CONFIG_OF_CONTROL env_set_hex("fdtcontroladdr", (unsigned long)map_to_sysmem(gd->fdt_blob)); diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h index cdbffc97a223..6065ec58db0a 100644 --- a/include/configs/aspeed-common.h +++ b/include/configs/aspeed-common.h @@ -65,9 +65,18 @@ #endif #ifndef CONFIG_ENV_OFFSET -#define CONFIG_ENV_OFFSET 0xF0000 +#define CONFIG_ENV_OFFSET 0x2400000 #endif +#define CONFIG_SYS_REDUNDAND_ENVIRONMENT +#define CONFIG_ENV_OVERWRITE + +#define AST_FMC_CS0_BASE 0x20000000 /* CS0 */ +#define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET) +#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) +#define CONFIG_ENV_ADDR_REDUND (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET_REDUND) +#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE + #define CONFIG_ENV_SECT_SIZE (4 << 10) /* -- 2.7.4