1 From 59bbce22b1cf483d840f302d11e7e8901b4b470c Mon Sep 17 00:00:00 2001
2 From: David-John Willis <John.Willis@Distant-earth.com>
3 Date: Sun, 8 Feb 2009 18:38:20 +0000
4 Subject: [PATCH] Add EHCI patch suggested by Steven Kipisz.
7 drivers/usb/host/ehci-omap.c | 26 ++++++++++++++++++++++++++
8 1 files changed, 26 insertions(+), 0 deletions(-)
9 mode change 100644 => 100755 drivers/usb/host/ehci-omap.c
11 diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
14 index ce975cf..3c01a91
15 --- a/drivers/usb/host/ehci-omap.c
16 +++ b/drivers/usb/host/ehci-omap.c
17 @@ -237,6 +237,32 @@ static int omap_start_ehc(struct platform_device *dev, struct usb_hcd *hcd)
18 udelay(EXT_PHY_RESET_DELAY);
22 + * The PHY register 0x7 - Interface Control register is
23 + * configured to disable the integrated STP pull-up resistor
24 + * used for interface protection.
26 + * May not need to be here.
28 + omap_writel((0x7 << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* interface reg */
29 + (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/* Write */
30 + (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */
31 + (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */
32 + (PHY_STP_PULLUP_DISABLE),
33 + EHCI_INSNREG05_ULPI);
35 + while (!(omap_readl(EHCI_INSNREG05_ULPI) & (1<<EHCI_INSNREG05_ULPI_CONTROL_SHIFT)));
37 + /* Force PHY to HS */
38 + omap_writel((0x4 << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* function ctrl */
39 + (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/* Write */
40 + (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */
41 + (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */
43 + EHCI_INSNREG05_ULPI);
45 + while (!(omap_readl(EHCI_INSNREG05_ULPI) & (1<<EHCI_INSNREG05_ULPI_CONTROL_SHIFT)));
47 /* Configure TLL for 60Mhz clk for ULPI */
48 ehci_clocks->usbtll_fck_clk = clk_get(&dev->dev, USBHOST_TLL_FCLK);
49 if (IS_ERR(ehci_clocks->usbtll_fck_clk))