[U-Boot] [PATCH] mpc83xx: Make it boot again

Joakim Tjernlund joakim.tjernlund at transmode.se
Fri Nov 12 17:36:42 CET 2010


Kumar Gala <galak at kernel.crashing.org> wrote on 2010/11/12 16:58:48:
>
>
> On Nov 4, 2010, at 9:45 AM, Joakim Tjernlund wrote:
>
> > After the removal of COLD/WARM start flags my mpc8321
> > board didn't boot anymore.
> > Trial and error suggests that map_flash_by_law1 needs
> > an isync(padding with 4 nop's also did the trick)
> > after updating LBLAWAR1 to make sure the the change has
> > reached the HW before continuing with the code that depends on it.
> > Add an isync to remap_flash_by_law0 for good measure too.
> >
> > Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
> > ---
> > arch/powerpc/cpu/mpc83xx/start.S |    2 ++
> > 1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/powerpc/cpu/mpc83xx/start.S b/arch/powerpc/cpu/mpc83xx/start.S
> > index e8b1ebc..d3ec580 100644
> > --- a/arch/powerpc/cpu/mpc83xx/start.S
> > +++ b/arch/powerpc/cpu/mpc83xx/start.S
> > @@ -1191,6 +1191,7 @@ map_flash_by_law1:
> >    bne 1b
> >
> >    stw r4, LBLAWAR1(r3) /* LBLAWAR1 <= 8MB Flash Size */
>
> I think what you want is:
>    lwz   r4, LBLAWAR1(r3)
>
> > +   isync /* Wait for HW to catch up */
>
> I dont think this is needed (unless the manual says otherwise about updates to *LAWAR*

I can confirm that replacing isync with lwz   r4, LBLAWAR1(r3) also
works. I really don't know this stuff well so I hope you can sort this out.

    Jocke



More information about the U-Boot mailing list