Blackfin: bf527-ezkit/bf548-ezkit: add musb board specific initialization

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
diff --git a/board/bf527-ezkit/bf527-ezkit.c b/board/bf527-ezkit/bf527-ezkit.c
index a880066..a911880 100644
--- a/board/bf527-ezkit/bf527-ezkit.c
+++ b/board/bf527-ezkit/bf527-ezkit.c
@@ -68,3 +68,16 @@
 
 	return 0;
 }
+
+#ifdef CONFIG_USB_BLACKFIN
+void board_musb_init(void)
+{
+	/*
+	 * BF527 EZ-KITs require PG13 to be high for HOST mode
+	 */
+	bfin_write_PORTG_FER(bfin_read_PORTG_FER() & ~PG13);
+	bfin_write_PORTGIO_DIR(bfin_read_PORTGIO_DIR() | PG13);
+	bfin_write_PORTGIO_SET(PG13);
+	SSYNC();
+}
+#endif
diff --git a/board/bf548-ezkit/bf548-ezkit.c b/board/bf548-ezkit/bf548-ezkit.c
index 7659e34..65fb81a 100644
--- a/board/bf548-ezkit/bf548-ezkit.c
+++ b/board/bf548-ezkit/bf548-ezkit.c
@@ -86,3 +86,19 @@
 	return bfin_mmc_init(bis);
 }
 #endif
+
+#ifdef CONFIG_USB_BLACKFIN
+void board_musb_init(void)
+{
+	/*
+	 * Rev 1.0 BF549 EZ-KITs require PE7 to be high for both device
+	 * and OTG host modes, while rev 1.1 and greater require PE7 to
+	 * be low for device mode and high for host mode.  We set it high
+	 * here because we are in host mode.
+	 */
+	bfin_write_PORTE_FER(bfin_read_PORTE_FER() & ~PE7);
+	bfin_write_PORTE_DIR_SET(PE7);
+	bfin_write_PORTE_SET(PE7);
+	SSYNC();
+}
+#endif