blob: 326f36df12a40917fb118bcaf944572d0695c432 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
From 3195e1ec2d772d5e4c16ae5b60c294086cfc17be Mon Sep 17 00:00:00 2001
From: Kuiying Wang <kuiying.wang@intel.com>
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 <kuiying.wang@intel.com>
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
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
|