On Mon, 2014-04-07 at 12:10 +0530, Prabhakar Kushwaha wrote: > On 4/5/2014 5:21 AM, Scott Wood wrote: > > That doesn't really answer my question of how it gets initialized for > > NOR flash. What line in what file does the initialization? It looks > > like the answer is env_init() -- so it doesn't "always" hold the > > address. Why can't env_init() do this on NAND, SPI, etc, provided you > > actually have the environment available before relocation[1]? > > > > I'm also not sure what it has to do with SPL as opposed to non-XIP. > > Doesn't this also apply for non-SPL PBL boot, etc? Why wouldn't you do > > this in env_relocate_spec()? > > > > BTW, I notice a few Freescale boards initialize this in their spl.c > > file. > > > > Also, you don't mention what the actual bug is you see. What uses > > gd->env_addr after relocation, other than api/? I'm not saying that > > api/ isn't important, but I'm wondering if you saw an effect elsewhere. > > > > -Scott > > > > [1] I realize that in many cases we don't, but that's something we need > > to fix, since it's important to how DDR gets set up among other things. > > > > I analyzed further with P5020_NAND boot. i found following observation: > 1. env_init happens in board_init_f > 2. DDR always initialized with default_environment > 3. env_relocate happens in board_init_r > > Looks like, during non-XIP & non - SPL boot, ddr can only be initialized > with fixed settings. > is it a accepted behavior? if Yes, DDR init parameters cannot be changed > like ECC on/off.
It is the current behavior on many boards, but it needs to be fixed (as I noted above). -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot