env_eeprom: Assign default environment during board_init_f

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@xilinx.com>
Acked-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
Siva Durga Prasad Paladugu 2014-05-26 19:51:22 +05:30 committed by Tom Rini
parent 4f0d1a2aea
commit ed6a5d4f88

View File

@ -147,6 +147,7 @@ int saveenv(void)
#ifdef CONFIG_ENV_OFFSET_REDUND #ifdef CONFIG_ENV_OFFSET_REDUND
int env_init(void) int env_init(void)
{ {
#ifdef ENV_IS_EMBEDDED
ulong len, crc[2], crc_tmp; ulong len, crc[2], crc_tmp;
unsigned int off, off_env[2]; unsigned int off, off_env[2];
uchar buf[64], flags[2]; uchar buf[64], flags[2];
@ -212,12 +213,16 @@ int env_init(void)
gd->env_addr = off_env[1] + offsetof(env_t, data); gd->env_addr = off_env[1] + offsetof(env_t, data);
else if (gd->env_valid == 1) else if (gd->env_valid == 1)
gd->env_addr = off_env[0] + offsetof(env_t, data); 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; return 0;
} }
#else #else
int env_init(void) int env_init(void)
{ {
#ifdef ENV_IS_EMBEDDED
ulong crc, len, new; ulong crc, len, new;
unsigned off; unsigned off;
uchar buf[64]; uchar buf[64];
@ -250,7 +255,10 @@ int env_init(void)
gd->env_addr = 0; gd->env_addr = 0;
gd->env_valid = 0; gd->env_valid = 0;
} }
#else
gd->env_addr = (ulong)&default_environment[0];
gd->env_valid = 1;
#endif
return 0; return 0;
} }
#endif #endif