[U-Boot] [PATCH] 83xx NAND boot: wait for LTESR[CC]

Scott Wood scottwood at freescale.com
Fri Oct 17 17:41:08 CEST 2008


From: Lepcha Suchit <Suchit.Lepcha at freescale.com>

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 <scottwood at freescale.com>
Acked-by: Kim Phillips <kim.phillips at freescale.com>
---
Applied to u-boot-nand-flash

 cpu/mpc83xx/start.S |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/cpu/mpc83xx/start.S b/cpu/mpc83xx/start.S
index 14bfbda..6ff6682 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
-- 
1.5.6.rc1.6.gc53ad


More information about the U-Boot mailing list