This is a note to let you know that I've just added the patch titled

    USB: ehci-omap: Tweak PHY initialization sequence

to the 3.10-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     usb-ehci-omap-tweak-phy-initialization-sequence.patch
and it can be found in the queue-3.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 4e5c9e6fa2d232a0686d5fe45cd1508484048936 Mon Sep 17 00:00:00 2001
From: Roger Quadros <[email protected]>
Date: Fri, 14 Jun 2013 16:52:07 +0300
Subject: USB: ehci-omap: Tweak PHY initialization sequence

From: Roger Quadros <[email protected]>

commit 4e5c9e6fa2d232a0686d5fe45cd1508484048936 upstream.

For PHY mode, the PHYs must be brought out of reset
before the EHCI controller is started.

This patch fixes the issue where USB devices are not found
on Beagleboard/Beagle-xm if USB has been started previously
by the bootloader. (e.g. by "usb start" command in u-boot)

Tested on Beagleboard, Beagleboard-xm and Pandaboard.

Issue present on 3.10 onwards.

Reported-by: Tomi Valkeinen <[email protected]>
Tested-by: Tomi Valkeinen <[email protected]>
Signed-off-by: Roger Quadros <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/usb/host/ehci-omap.c |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -187,6 +187,12 @@ static int ehci_hcd_omap_probe(struct pl
                }
 
                omap->phy[i] = phy;
+
+               if (pdata->port_mode[i] == OMAP_EHCI_PORT_MODE_PHY) {
+                       usb_phy_init(omap->phy[i]);
+                       /* bring PHY out of suspend */
+                       usb_phy_set_suspend(omap->phy[i], 0);
+               }
        }
 
        pm_runtime_enable(dev);
@@ -211,13 +217,14 @@ static int ehci_hcd_omap_probe(struct pl
        }
 
        /*
-        * Bring PHYs out of reset.
+        * Bring PHYs out of reset for non PHY modes.
         * Even though HSIC mode is a PHY-less mode, the reset
         * line exists between the chips and can be modelled
         * as a PHY device for reset control.
         */
        for (i = 0; i < omap->nports; i++) {
-               if (!omap->phy[i])
+               if (!omap->phy[i] ||
+                    pdata->port_mode[i] == OMAP_EHCI_PORT_MODE_PHY)
                        continue;
 
                usb_phy_init(omap->phy[i]);


Patches currently in stable-queue which might be from [email protected] are

queue-3.10/usb-ehci-omap-tweak-phy-initialization-sequence.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to