common/board_r: Fix booting issue on T4240QDS
authorYork Sun <yorksun@freescale.com>
Thu, 2 Oct 2014 22:20:10 +0000 (15:20 -0700)
committerTom Rini <trini@ti.com>
Fri, 10 Oct 2014 13:44:41 +0000 (09:44 -0400)
Commit 294b91a5817147d4b7f47be2ac69bac2a1f26491 moved initr_malloc
earlier than initr_unlock_ram_in_cache. This causes issue on T4240.
It may be related to locked L1 d-cache and unlocked L2 cache. D-
cache could and should be unlock earlier for normal operation.

This patch moves initr_unlock_ram_in_cache before initr_malloc. It
has been verified on the following boards, in which only T4240QDS
suffered and has been since fixed: T4240QDS, T2080QDS, P5040DS,
P4080DS, MPC8572DS, MPC8536DS, MPC8641HPCN, B4860QDS.

Signed-off-by: York Sun <yorksun@freescale.com>
CC: Scott Wood <scottwood@freescale.com>
CC: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
common/board_r.c

index 231c6d67115e871eb10c5619fc5227e413a1ea53..c339aad7f58a8a58d16309cfe780268aa78c9f36 100644 (file)
@@ -717,6 +717,9 @@ init_fnc_t init_sequence_r[] = {
        initr_caches,
 #endif
        initr_reloc_global_data,
+#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
+       initr_unlock_ram_in_cache,
+#endif
        initr_barrier,
        initr_malloc,
        bootstage_relocate,
@@ -759,9 +762,6 @@ init_fnc_t init_sequence_r[] = {
 #ifdef CONFIG_SYS_DELAYED_ICACHE
        initr_icache_enable,
 #endif
-#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
-       initr_unlock_ram_in_cache,
-#endif
 #if defined(CONFIG_PCI) && defined(CONFIG_SYS_EARLY_PCI_INIT)
        /*
         * Do early PCI configuration _before_ the flash gets initialised,