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