Revert "usb: host: tegra: Remove programing PTC bits based on bus speed."
authorBenoit Goby <benoit@android.com>
Fri, 3 Dec 2010 22:59:55 +0000 (14:59 -0800)
committerBenoit Goby <benoit@android.com>
Sat, 4 Dec 2010 01:45:58 +0000 (17:45 -0800)
This reverts commit 91e80b79243c1b6341c1a8d6e8e5e872b837bfea.

This is needed to resume usb from lp0

drivers/usb/host/ehci-tegra.c

index 5cdad2531ba1473253d75b034836b50ec06a83fd..b02eabb5a61db863162dc83234a8b6a145afd793 100644 (file)
@@ -286,6 +286,18 @@ static int tegra_usb_resume(struct usb_hcd *hcd)
        writel(val, &hw->port_status[0]);
        udelay(10);
 
+       /* Program the field PTC in PORTSC based on the saved speed mode */
+       val = readl(&hw->port_status[0]);
+       val &= ~(TEGRA_USB_PORTSC1_PTC(~0));
+       if (context->port_speed == TEGRA_USB_PHY_PORT_HIGH)
+               val |= TEGRA_USB_PORTSC1_PTC(5);
+       else if (context->port_speed == TEGRA_USB_PHY_PORT_SPEED_FULL)
+               val |= TEGRA_USB_PORTSC1_PTC(6);
+       else if (context->port_speed == TEGRA_USB_PHY_PORT_SPEED_LOW)
+               val |= TEGRA_USB_PORTSC1_PTC(7);
+       writel(val, &hw->port_status[0]);
+       udelay(10);
+
        /* Disable test mode by setting PTC field to NORMAL_OP */
        val = readl(&hw->port_status[0]);
        val &= ~(TEGRA_USB_PORTSC1_PTC(~0));