
In order to later allow for a physical relocation of the flash, setup_bats, which sets up the final BAT mapping for the board, needs to happen *after* init_laws(). Otherwise, there will be no window programmed for the flash at the new physical location at the point when we change the mmu translation.
Signed-off-by: Becky Bruce becky.bruce@freescale.com --- cpu/mpc86xx/cpu_init.c | 4 ++++ cpu/mpc86xx/start.S | 5 ----- 2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/cpu/mpc86xx/cpu_init.c b/cpu/mpc86xx/cpu_init.c index 06f179c..a7e6036 100644 --- a/cpu/mpc86xx/cpu_init.c +++ b/cpu/mpc86xx/cpu_init.c @@ -33,6 +33,8 @@ #include <asm/fsl_law.h> #include "mp.h"
+void setup_bats(void); + DECLARE_GLOBAL_DATA_PTR;
/* @@ -57,6 +59,8 @@ void cpu_init_f(void) init_laws(); #endif
+ setup_bats(); + /* Map banks 0 and 1 to the FLASH banks 0 and 1 at preliminary * addresses - these have to be modified later when FLASH size * has been determined diff --git a/cpu/mpc86xx/start.S b/cpu/mpc86xx/start.S index 48f8c5a..0d30e91 100644 --- a/cpu/mpc86xx/start.S +++ b/cpu/mpc86xx/start.S @@ -272,11 +272,6 @@ in_flash:
GET_GOT /* initialize GOT access */
- /* setup the rest of the bats */ - bl setup_bats - sync - - /* run low-level CPU init code (from Flash) */ bl cpu_init_f sync