Browse Source

usb: host: ehci-msm: Allow LS devices to work

Disable the silicon quirk which is normally enabled for HSIC
host mode. This would otherwise prevent low speed devices
from enumerating properly.

Signed-off-by: Jack Pham <jackp@codeaurora.org>
Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jack Pham 9 năm trước cách đây
mục cha
commit
132f5005ab
2 tập tin đã thay đổi với 3 bổ sung0 xóa
  1. 2 0
      drivers/usb/host/ehci-msm.c
  2. 1 0
      include/linux/usb/msm_hsusb_hw.h

+ 2 - 0
drivers/usb/host/ehci-msm.c

@@ -61,6 +61,8 @@ static int ehci_msm_reset(struct usb_hcd *hcd)
 	writel(0x8, USB_AHBMODE);
 	/* Disable streaming mode and select host mode */
 	writel(0x13, USB_USBMODE);
+	/* Disable ULPI_TX_PKT_EN_CLR_FIX which is valid only for HSIC */
+	writel(readl(USB_GENCONFIG_2) & ~ULPI_TX_PKT_EN_CLR_FIX, USB_GENCONFIG_2);
 
 	return 0;
 }

+ 1 - 0
include/linux/usb/msm_hsusb_hw.h

@@ -22,6 +22,7 @@
 #define USB_AHBBURST         (MSM_USB_BASE + 0x0090)
 #define USB_AHBMODE          (MSM_USB_BASE + 0x0098)
 #define USB_GENCONFIG_2      (MSM_USB_BASE + 0x00a0)
+#define ULPI_TX_PKT_EN_CLR_FIX	BIT(19)
 
 #define USB_CAPLENGTH        (MSM_USB_BASE + 0x0100) /* 8 bit */