patch to latest usbhost patch
[kernel-power] / usbhost / usb / musb / musb_core.h
index dd9de46..36a7dc4 100644 (file)
@@ -85,6 +85,16 @@ struct musb_ep;
 #define        is_host_active(musb)            is_host_capable()
 #endif
 
+static inline int host_mode(void __iomem *addr) 
+{
+       u8              devctl,testmode;
+       devctl = musb_readb(addr, MUSB_DEVCTL);
+       testmode = musb_readb(addr,MUSB_TESTMODE);
+
+       return (testmode & MUSB_TEST_FORCE_HOST) || !(devctl & MUSB_DEVCTL_BDEVICE);
+}
+
+
 #if defined(CONFIG_USB_MUSB_OTG) || defined(CONFIG_USB_MUSB_PERIPHERAL)
 /* for some reason, the "select USB_GADGET_MUSB_HDRC" doesn't always
  * override that choice selection (often USB_GADGET_DUMMY_HCD).
@@ -593,6 +603,14 @@ extern void musb_hnp_stop(struct musb *musb);
 
 extern int musb_platform_set_mode(struct musb *musb, u8 musb_mode);
 
+enum musb_term {
+       MUSB_TERM_HOST_HIGHSPEED,
+       MUSB_TERM_HOST_FULLSPEED,
+       MUSB_TERM_HOST_LOWSPEED,
+};
+
+extern void musb_force_term(void __iomem *addr, enum musb_term term);
+
 #if defined(CONFIG_USB_TUSB6010) || defined(CONFIG_BLACKFIN) || \
        defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP34XX)
 extern void musb_platform_try_idle(struct musb *musb, unsigned long timeout);