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

Kumar Gala galak at kernel.crashing.org
Fri Nov 12 16:58:48 CET 2010


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*

> 	blr
> 
> 	/* Though all the LBIU Local Access Windows and LBC Banks will be
> @@ -1229,5 +1230,6 @@ remap_flash_by_law0:
> 	xor r4, r4, r4
> 	stw r4, LBLAWBAR1(r3)
> 	stw r4, LBLAWAR1(r3) /* Off LBIU LAW1 */
> +	isync /* Wait for HW to catch up */

same here.

> 	blr
> #endif /* CONFIG_SYS_FLASHBOOT */
> -- 
> 1.7.2.2
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot



More information about the U-Boot mailing list