musb: reenable high-speed for hostmode paul-experimental
authorPaul Fertser <fercerpav@gmail.com>
Wed, 3 Nov 2010 22:35:05 +0000 (01:35 +0300)
committerPaul Fertser <fercerpav@gmail.com>
Wed, 3 Nov 2010 22:57:38 +0000 (01:57 +0300)
This reverts commit b51fe29c61a2fa167513b2ecdb0fffcb30eab6d6.

Since we discovered that writing 0 to TESTMODE during the force host mode
works to automatically discover and enumerate devices, reenable HS mode as
it works just fine this way.

So, if you're connecting a FS/HS device:
hoston; booston; sleep 1; echo A > /proc/driver/musb_hdrc

If you're connecting a LS device:
hoston; booston; echo F > /proc/driver/musb_hdrc

drivers/usb/musb/musb_virthub.c

index 3191b68..7e7900f 100644 (file)
@@ -149,7 +149,6 @@ static void musb_port_reset(struct musb *musb, bool do_reset)
 
                musb->ignore_disconnect = true;
                power &= 0xf0;
-               power &= ~MUSB_POWER_HSENAB;
                musb_writeb(mbase, MUSB_POWER,
                                power | MUSB_POWER_RESET);
 
@@ -166,7 +165,7 @@ static void musb_port_reset(struct musb *musb, bool do_reset)
                power = musb_readb(mbase, MUSB_POWER);
                if (power & MUSB_POWER_HSMODE) {
                        DBG(4, "high-speed device connected\n");
-                       //musb->port1_status |= USB_PORT_STAT_HIGH_SPEED;
+                       musb->port1_status |= USB_PORT_STAT_HIGH_SPEED;
                }
 
                musb->port1_status &= ~USB_PORT_STAT_RESET;