]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/usb/gadget/omap_udc.c
h63xx: usb gadget driver support for allowing network over usb.
[linux-2.6-omap-h63xx.git] / drivers / usb / gadget / omap_udc.c
index f2b065fd28ba15ddf2d866dafb2111e3c0ad6bd6..975a54fb0dc475ff1ad3a1a71801490b53981fa1 100644 (file)
 #undef USB_TRACE
 
 /* bulk DMA seems to be behaving for both IN and OUT */
+#ifdef CONFIG_MACH_OMAP_H6300
+#undef USE_DMA
+#else
 #define        USE_DMA
+#endif
 
 /* ISO too */
 #define        USE_ISO
@@ -2147,7 +2151,7 @@ int usb_gadget_register_driver (struct usb_gadget_driver *driver)
        /* boards that don't have VBUS sensing can't autogate 48MHz;
         * can't enter deep sleep while a gadget driver is active.
         */
-       if (machine_is_omap_innovator() || machine_is_omap_osk())
+       if (machine_is_omap_innovator() || machine_is_omap_osk() || machine_is_omap_h6300())
                omap_vbus_session(&udc->gadget, 1);
 
 done:
@@ -2170,7 +2174,7 @@ int usb_gadget_unregister_driver (struct usb_gadget_driver *driver)
        if (udc->dc_clk != NULL)
                omap_udc_enable_clock(1);
 
-       if (machine_is_omap_innovator() || machine_is_omap_osk())
+       if (machine_is_omap_innovator() || machine_is_omap_osk() || machine_is_omap_h6300())
                omap_vbus_session(&udc->gadget, 0);
 
        if (udc->transceiver)
@@ -2791,7 +2795,7 @@ static int __init omap_udc_probe(struct platform_device *pdev)
                hmc = HMC_1510;
                type = "(unknown)";
 
-               if (machine_is_omap_innovator()) {
+               if (machine_is_omap_innovator() || machine_is_omap_h6300()) {
                        /* just set up software VBUS detect, and then
                         * later rig it so we always report VBUS.
                         * FIXME without really sensing VBUS, we can't