common: Move initr_addr_map() to a bit earlier
authorBin Meng <bmeng.cn@gmail.com>
Thu, 25 Feb 2021 09:22:38 +0000 (17:22 +0800)
committerPriyanka Jain <priyanka.jain@nxp.com>
Fri, 5 Mar 2021 04:55:43 +0000 (10:25 +0530)
At present initr_addr_map() is put at a late stage in the
init_sequence_r[] calls. This won't work because lot of
device driver initialization (e.g.: serial port) happens
before it but is lack of the address translation support.

This moves the call to a bit earlier, right after the DM
initialization.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
common/board_r.c

index 9793439..c835ff8 100644 (file)
@@ -626,6 +626,9 @@ static init_fnc_t init_sequence_r[] = {
 #ifdef CONFIG_DM
        initr_dm,
 #endif
+#ifdef CONFIG_ADDR_MAP
+       initr_addr_map,
+#endif
 #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) || defined(CONFIG_RISCV) || \
        defined(CONFIG_SANDBOX)
        board_init,     /* Setup chipselects */
@@ -661,9 +664,6 @@ static init_fnc_t init_sequence_r[] = {
        initr_manual_reloc_cmdtable,
 #endif
        arch_initr_trap,
-#ifdef CONFIG_ADDR_MAP
-       initr_addr_map,
-#endif
 #if defined(CONFIG_BOARD_EARLY_INIT_R)
        board_early_init_r,
 #endif