Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Jack Pham and committed by
Greg Kroah-Hartman
132f5005 adbff3a4

+3
+2
drivers/usb/host/ehci-msm.c
··· 61 61 writel(0x8, USB_AHBMODE); 62 62 /* Disable streaming mode and select host mode */ 63 63 writel(0x13, USB_USBMODE); 64 + /* Disable ULPI_TX_PKT_EN_CLR_FIX which is valid only for HSIC */ 65 + writel(readl(USB_GENCONFIG_2) & ~ULPI_TX_PKT_EN_CLR_FIX, USB_GENCONFIG_2); 64 66 65 67 return 0; 66 68 }
+1
include/linux/usb/msm_hsusb_hw.h
··· 22 22 #define USB_AHBBURST (MSM_USB_BASE + 0x0090) 23 23 #define USB_AHBMODE (MSM_USB_BASE + 0x0098) 24 24 #define USB_GENCONFIG_2 (MSM_USB_BASE + 0x00a0) 25 + #define ULPI_TX_PKT_EN_CLR_FIX BIT(19) 25 26 26 27 #define USB_CAPLENGTH (MSM_USB_BASE + 0x0100) /* 8 bit */ 27 28