On 12/14/2017 04:06 AM, Ashish Kumar wrote: > ENV variables can now be used before relocation. > > Signed-off-by: Ashish Kumar <ashish.ku...@nxp.com> > --- > v2: > replace & with && in #if > > Tested on ls1088ardb. > Tested on ls1012hexa after defining CONFIG_ENV_ADDR > > env/sf.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/env/sf.c b/env/sf.c > index e51b1ae..a2e4c93 100644 > --- a/env/sf.c > +++ b/env/sf.c > @@ -34,6 +34,7 @@ > > #ifndef CONFIG_SPL_BUILD > #define CMD_SAVEENV > +#define INITENV > #endif > > #ifdef CONFIG_ENV_OFFSET_REDUND > @@ -348,6 +349,23 @@ out: > } > #endif > > +#if defined(INITENV) && defined(CONFIG_ENV_ADDR) > +static int env_sf_init(void) > +{ > + env_t *env_ptr = (env_t *)(CONFIG_ENV_ADDR); > + > + if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) { > + gd->env_addr = (ulong)&(env_ptr->data); > + gd->env_valid = 1; > + } else { > + gd->env_addr = (ulong)&default_environment[0]; > + gd->env_valid = 1; > + } > + > + return 0; > +} > +#endif > + > U_BOOT_ENV_LOCATION(sf) = { > .location = ENVL_SPI_FLASH, > ENV_NAME("SPI Flash") > @@ -355,4 +373,7 @@ U_BOOT_ENV_LOCATION(sf) = { > #ifdef CMD_SAVEENV > .save = env_save_ptr(env_sf_save), > #endif > +#if defined(INITENV) && defined(CONFIG_ENV_ADDR) > + .init = env_sf_init, > +#endif > }; >
Please run get_maintainer.pl to get the CC list if you don't use patman. I wonder how SPI worked before. Did it work, Simon and Jagan? York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot