This adds support for the OMAP4 MUSB USB controller, with a matching Linux
compat definition, TWL6030 USB device setup and USBOTGHS register setup.

Signed-off-by: Paul Kocialkowski <[email protected]>
---
 drivers/usb/musb-new/linux-compat.h |  4 ++++
 drivers/usb/musb-new/omap2430.c     | 13 +++++++++++++
 drivers/usb/musb-new/omap2430.h     |  8 ++++++++
 3 files changed, 25 insertions(+)

diff --git a/drivers/usb/musb-new/linux-compat.h 
b/drivers/usb/musb-new/linux-compat.h
index 46f83d9..1fc9391 100644
--- a/drivers/usb/musb-new/linux-compat.h
+++ b/drivers/usb/musb-new/linux-compat.h
@@ -37,4 +37,8 @@
 #define CONFIG_SOC_OMAP3430
 #endif
 
+#ifdef CONFIG_OMAP4430
+#define CONFIG_ARCH_OMAP4
+#endif
+
 #endif /* __LINUX_COMPAT_H__ */
diff --git a/drivers/usb/musb-new/omap2430.c b/drivers/usb/musb-new/omap2430.c
index 9f307e9..684ad95 100644
--- a/drivers/usb/musb-new/omap2430.c
+++ b/drivers/usb/musb-new/omap2430.c
@@ -23,8 +23,10 @@
 #include <linux/usb/musb-omap.h>
 #else
 #include <common.h>
+#include <asm/omap_common.h>
 #include <asm/omap_musb.h>
 #include <twl4030.h>
+#include <twl6030.h>
 #include "linux-compat.h"
 #endif
 
@@ -434,6 +436,17 @@ static int omap2430_musb_enable(struct musb *musb)
                                __PRETTY_FUNCTION__);
        }
 #endif
+
+#ifdef CONFIG_TWL6030_POWER
+       twl6030_usb_device_settings();
+#endif
+
+#ifdef CONFIG_OMAP4430
+       u32 *usbotghs_control = (u32 *)((*ctrl)->control_usbotghs_ctrl);
+       *usbotghs_control = USBOTGHS_CONTROL_AVALID |
+               USBOTGHS_CONTROL_VBUSVALID | USBOTGHS_CONTROL_IDDIG;
+#endif
+
        return 0;
 #endif
 }
diff --git a/drivers/usb/musb-new/omap2430.h b/drivers/usb/musb-new/omap2430.h
index 56998c7..0c3dd8b 100644
--- a/drivers/usb/musb-new/omap2430.h
+++ b/drivers/usb/musb-new/omap2430.h
@@ -50,4 +50,12 @@
 #define OTG_FORCESTDBY         0x414
 #      define  ENABLEFORCE             (1 << 0)
 
+/*
+ * OMAP4-specific definitions
+ */
+
+#define USBOTGHS_CONTROL_AVALID                (1 << 0)
+#define USBOTGHS_CONTROL_VBUSVALID     (1 << 2)
+#define USBOTGHS_CONTROL_IDDIG         (1 << 4)
+
 #endif /* __MUSB_OMAP243X_H__ */
-- 
2.6.4

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to