From: Lepcha Suchit Date: Thu, 16 Oct 2008 18:38:00 +0000 (-0500) Subject: 83xx NAND boot: wait for LTESR[CC] X-Git-Tag: v2008.10~3 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=fa7b1c07e9371aea8f87ee6d3c2ea5564bd8cc8d;p=u-boot 83xx NAND boot: wait for LTESR[CC] At least some revisions of the 8313, and possibly other chips, do not wait for all pages of the initial 4K NAND region to be loaded before beginning execution; thus, we wait for it before branching out of the first NAND page. This fixes warm reset problems when booting from NAND on 8313erdb. Signed-off-by: Scott Wood Acked-by: Kim Phillips --- diff --git a/cpu/mpc83xx/start.S b/cpu/mpc83xx/start.S index 14bfbdade8..6ff6682622 100644 --- a/cpu/mpc83xx/start.S +++ b/cpu/mpc83xx/start.S @@ -167,6 +167,18 @@ boot_warm: /* time t 5 */ /* Initialise the E300 processor core */ /*------------------------------------------*/ +#ifdef CONFIG_NAND_SPL + /* The FCM begins execution after only the first page + * is loaded. Wait for the rest before branching + * to another flash page. + */ + addi r7, r3, 0x50b0 +1: dcbi 0, r7 + lwz r6, 0(r7) + andi. r6, r6, 1 + beq 1b +#endif + bl init_e300_core #ifdef CFG_FLASHBOOT