summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 ace6d47fde..d02a7eff3c 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 fdf7180a19..e5d70fa202 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 0a447a76b7..b96363151d 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 126102bf96..c367b3ef9f 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