summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb-new
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2016-02-27 19:19:05 +0100
committerTom Rini <trini@konsulko.com>2016-03-15 15:12:51 -0400
commit27754d18fc1b5a5c6a6e86ababf44b382a6dc7d9 (patch)
treeab39a6b626ab9a313635573a34752bea5bcbd4d9 /drivers/usb/musb-new
parent6313c6500484ed85892f425e3ca93f706fd9a2ea (diff)
downloadtalos-obmc-uboot-27754d18fc1b5a5c6a6e86ababf44b382a6dc7d9.tar.gz
talos-obmc-uboot-27754d18fc1b5a5c6a6e86ababf44b382a6dc7d9.zip
usb: musb-new: omap2430: OMAP4 MUSB USB controller support
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 <contact@paulk.fr>
Diffstat (limited to 'drivers/usb/musb-new')
-rw-r--r--drivers/usb/musb-new/linux-compat.h4
-rw-r--r--drivers/usb/musb-new/omap2430.c13
-rw-r--r--drivers/usb/musb-new/omap2430.h8
3 files changed, 25 insertions, 0 deletions
diff --git a/drivers/usb/musb-new/linux-compat.h b/drivers/usb/musb-new/linux-compat.h
index 46f83d9b36..1fc9391b8e 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 9f307e991b..684ad9539a 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 56998c794f..0c3dd8bfd9 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__ */
OpenPOWER on IntegriCloud