summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaiying Wang <Haiying.Wang@freescale.com>2006-05-10 09:38:06 -0500
committerJon Loeliger <jdl@freescale.com>2006-05-10 09:38:06 -0500
commit6cfea33477b04b63ed47386ed1629529484c33ba (patch)
treea723b6fcfbe2e7ae6b41e97ca8e5106db3b1c184
parentd4dd317b58c126a2a7e73f4764ecc1a7c97f876c (diff)
downloadu-boot-imx-6cfea33477b04b63ed47386ed1629529484c33ba.zip
u-boot-imx-6cfea33477b04b63ed47386ed1629529484c33ba.tar.gz
u-boot-imx-6cfea33477b04b63ed47386ed1629529484c33ba.tar.bz2
Remove unneeded INIT_RAM_LOCK cache twiddling.
Correctly tracks r29 as global data pointer now. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
-rw-r--r--board/mpc8641hpcn/mpc8641hpcn.c11
-rw-r--r--common/cmd_bootm.c4
-rw-r--r--cpu/mpc86xx/start.S5
-rw-r--r--lib_ppc/board.c2
4 files changed, 6 insertions, 16 deletions
diff --git a/board/mpc8641hpcn/mpc8641hpcn.c b/board/mpc8641hpcn/mpc8641hpcn.c
index ace6d47..d02a7ef 100644
--- a/board/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/mpc8641hpcn/mpc8641hpcn.c
@@ -291,16 +291,5 @@ ft_board_setup(void *blob, bd_t *bd)
}
#endif
-void
-after_reloc(ulong dest_addr)
-{
- DECLARE_GLOBAL_DATA_PTR;
-
- /* now, jump to the main U-Boot board init code */
- board_init_r ((gd_t *)gd, dest_addr);
-
- /* NOTREACHED */
-}
-
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index fdf7180..e5d70fa 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -809,7 +809,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
#ifndef CONFIG_OF_FLAT_TREE
-#if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
+#if defined(CFG_INIT_RAM_LOCK) && (!defined(CONFIG_E500) || !defined(CONFIG_MPC86xx))
unlock_ram_in_cache();
#endif
@@ -827,7 +827,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
ft_setup(of_flat_tree, OF_FLAT_TREE_MAX_SIZE, kbd, initrd_start, initrd_end);
/* ft_dump_blob(of_flat_tree); */
-#if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
+#if defined(CFG_INIT_RAM_LOCK) && (!defined(CONFIG_E500)||!defined(CONFIG_MPC86xx))
unlock_ram_in_cache();
#endif
/*
diff --git a/cpu/mpc86xx/start.S b/cpu/mpc86xx/start.S
index 0a447a7..b963631 100644
--- a/cpu/mpc86xx/start.S
+++ b/cpu/mpc86xx/start.S
@@ -955,8 +955,9 @@ in_ram:
cmplw 0, r3, r4
bne 5b
6:
- mr r3, r10 /* Destination Address */
- bl after_reloc
+ mr r3, r9 /* Init Date pointer */
+ mr r4, r10 /* Destination Address */
+ bl board_init_r
/* not reached - end relocate_code */
/*-----------------------------------------------------------------------*/
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 126102b..c367b3e 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -676,7 +676,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
icache_enable (); /* it's time to enable the instruction cache */
#endif
-#if defined(CFG_INIT_RAM_LOCK) && defined(CONFIG_E500)
+#if defined(CFG_INIT_RAM_LOCK) && (defined(CONFIG_E500) || defined(CONFIG_MPC86xx))
unlock_ram_in_cache(); /* it's time to unlock D-cache in e500 */
#endif