[U-Boot] [PATCH v2] env_eeprom: Assign default environment during board_init_f

Siva Durga Prasad Paladugu siva.durga.paladugu at xilinx.com
Mon May 26 16:21:22 CEST 2014


Assign default environment and set env valid during board_init_f
before relocation as the actual environment will be read from eeprom
later.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur at xilinx.com>
---

Changes in v2:
-Handled the same in redundant env case also
as per review comment.

 common/env_eeprom.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/common/env_eeprom.c b/common/env_eeprom.c
index 490ac73..905d39a 100644
--- a/common/env_eeprom.c
+++ b/common/env_eeprom.c
@@ -147,6 +147,7 @@ int saveenv(void)
 #ifdef CONFIG_ENV_OFFSET_REDUND
 int env_init(void)
 {
+#ifdef ENV_IS_EMBEDDED
 	ulong len, crc[2], crc_tmp;
 	unsigned int off, off_env[2];
 	uchar buf[64], flags[2];
@@ -212,12 +213,16 @@ int env_init(void)
 		gd->env_addr = off_env[1] + offsetof(env_t, data);
 	else if (gd->env_valid == 1)
 		gd->env_addr = off_env[0] + offsetof(env_t, data);
-
+#else
+	gd->env_addr = (ulong)&default_environment[0];
+	gd->env_valid = 1;
+#endif
 	return 0;
 }
 #else
 int env_init(void)
 {
+#ifdef ENV_IS_EMBEDDED
 	ulong crc, len, new;
 	unsigned off;
 	uchar buf[64];
@@ -250,7 +255,10 @@ int env_init(void)
 		gd->env_addr	= 0;
 		gd->env_valid	= 0;
 	}
-
+#else
+	gd->env_addr = (ulong)&default_environment[0];
+	gd->env_valid = 1;
+#endif
 	return 0;
 }
 #endif
-- 
1.7.4




More information about the U-Boot mailing list