diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c
index 90fe796ef30ed509f9b4acb766001657fc3b5df9..6148e6baff5e99ec015e10f35ac3f18e81008e54 100644
--- a/arch/sh/lib/board.c
+++ b/arch/sh/lib/board.c
@@ -107,6 +107,15 @@ static int sh_net_init(void)
 }
 #endif
 
+#if defined(CONFIG_CMD_MMC)
+static int sh_mmc_init(void)
+{
+	puts("MMC:   ");
+	mmc_initialize(gd->bd);
+	return 0;
+}
+#endif
+
 typedef int (init_fnc_t) (void);
 
 init_fnc_t *init_sequence[] =
@@ -137,6 +146,9 @@ init_fnc_t *init_sequence[] =
 #endif
 #if defined(CONFIG_CMD_NET)
 	sh_net_init,		/* SH specific eth init */
+#endif
+#if defined(CONFIG_CMD_MMC)
+	sh_mmc_init,
 #endif
 	NULL			/* Terminate this list */
 };