diff options
-rw-r--r-- | drivers/usb/musb-new/linux-compat.h | 4 | ||||
-rw-r--r-- | drivers/usb/musb-new/omap2430.c | 13 | ||||
-rw-r--r-- | drivers/usb/musb-new/omap2430.h | 8 |
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 46f83d9b360..1fc9391b8e0 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 9f307e991b2..684ad9539af 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 56998c794f2..0c3dd8bfd9c 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__ */ |