diff options
Diffstat (limited to 'arch/powerpc/lib/board.c')
-rw-r--r-- | arch/powerpc/lib/board.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index 0e00d8619e..628d067abf 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -783,6 +783,17 @@ void board_init_r (gd_t *id, ulong dest_addr) nand_init(); /* go init the NAND */ #endif +#ifdef CONFIG_GENERIC_MMC +/* + * MMC initialization is called before relocating env. + * Thus It is required that operations like pin multiplexer + * be put in board_init. + */ + WATCHDOG_RESET (); + puts ("MMC: "); + mmc_initialize (bd); +#endif + /* relocate environment function pointers etc. */ env_relocate (); @@ -939,12 +950,6 @@ void board_init_r (gd_t *id, ulong dest_addr) scsi_init (); #endif -#ifdef CONFIG_GENERIC_MMC - WATCHDOG_RESET (); - puts ("MMC: "); - mmc_initialize (bd); -#endif - #if defined(CONFIG_CMD_DOC) WATCHDOG_RESET (); puts ("DOC: "); |