From dc2adad85bf580d65916c940683f6e9671e8a5dd Mon Sep 17 00:00:00 2001
From: Dave Liu <daveliu@freescale.com>
Date: Tue, 28 Oct 2008 17:46:12 +0800
Subject: [PATCH] 86xx: Move the clear_tlbs before MMU turn on

We must invalidate TLBs before MMU turn on, but
currently the code is not, if there are some stale
TLB entry valid in the TLBs, it will cause strange
issue.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Becky Bruce <becky.bruce@freescale.com>
---
 cpu/mpc86xx/start.S | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/cpu/mpc86xx/start.S b/cpu/mpc86xx/start.S
index 159f3e1743..30e60477c5 100644
--- a/cpu/mpc86xx/start.S
+++ b/cpu/mpc86xx/start.S
@@ -202,8 +202,12 @@ boot_warm:
 	mtmsr	0
 #endif
 
+	/* Invalidate BATs */
 	bl	invalidate_bats
 	sync
+	/* Invalidate all of TLB before MMU turn on */
+	bl      clear_tlbs
+	sync
 
 #ifdef CONFIG_SYS_L2
 	/* init the L2 cache */
@@ -275,7 +279,6 @@ in_flash:
 
 	/* setup the rest of the bats */
 	bl      setup_bats
-	bl      clear_tlbs
 	sync
 
 #if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR)
-- 
2.39.5