Message ID | 20200508211929.39020-2-alcooperx@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add XHCI, EHCI and OHCI support for Broadcom STB SoS's | expand |
On 5/8/2020 2:19 PM, Al Cooper wrote: > Some BRCMSTB USB chips have an XHCI, EHCI and OHCI controller > on the same port where XHCI handles 3.0 devices, EHCI handles 2.0 > devices and OHCI handles <2.0 devices. Currently the Makefile > has XHCI linking at the bottom which will result in the XHIC driver > initalizing after the EHCI and OHCI drivers and any installed 3.0 > device will be seen as a 2.0 device. Moving the XHCI linking > above the EHCI and OHCI linking fixes the issue. > > Signed-off-by: Al Cooper <alcooperx@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Hi Al, > From: Al Cooper, Sent: Saturday, May 9, 2020 6:19 AM > > Some BRCMSTB USB chips have an XHCI, EHCI and OHCI controller > on the same port where XHCI handles 3.0 devices, EHCI handles 2.0 > devices and OHCI handles <2.0 devices. Currently the Makefile > has XHCI linking at the bottom which will result in the XHIC driver > initalizing after the EHCI and OHCI drivers and any installed 3.0 > device will be seen as a 2.0 device. Moving the XHCI linking > above the EHCI and OHCI linking fixes the issue. > > Signed-off-by: Al Cooper <alcooperx@gmail.com> I tested on my environment (r8a77951 and r8a77961) and then I didn't detect any regression. So, Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Best regards, Yoshihiro Shimoda
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index b191361257cc..a7f0b8ff7179 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -37,6 +37,16 @@ endif obj-$(CONFIG_USB_PCI) += pci-quirks.o +# NOTE: BRCMSTB systems require that xhci driver be linked before the +# ehci/ohci drivers because they share a port and need the XHCI driver +# to come up first to properly enumerate 3.0 devices. +obj-$(CONFIG_USB_XHCI_HCD) += xhci-hcd.o +obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o +obj-$(CONFIG_USB_XHCI_PLATFORM) += xhci-plat-hcd.o +obj-$(CONFIG_USB_XHCI_HISTB) += xhci-histb.o +obj-$(CONFIG_USB_XHCI_MTK) += xhci-mtk.o +obj-$(CONFIG_USB_XHCI_TEGRA) += xhci-tegra.o + obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o @@ -69,12 +79,6 @@ obj-$(CONFIG_USB_OHCI_HCD_DAVINCI) += ohci-da8xx.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_FHCI_HCD) += fhci.o -obj-$(CONFIG_USB_XHCI_HCD) += xhci-hcd.o -obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o -obj-$(CONFIG_USB_XHCI_PLATFORM) += xhci-plat-hcd.o -obj-$(CONFIG_USB_XHCI_HISTB) += xhci-histb.o -obj-$(CONFIG_USB_XHCI_MTK) += xhci-mtk.o -obj-$(CONFIG_USB_XHCI_TEGRA) += xhci-tegra.o obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o
Some BRCMSTB USB chips have an XHCI, EHCI and OHCI controller on the same port where XHCI handles 3.0 devices, EHCI handles 2.0 devices and OHCI handles <2.0 devices. Currently the Makefile has XHCI linking at the bottom which will result in the XHIC driver initalizing after the EHCI and OHCI drivers and any installed 3.0 device will be seen as a 2.0 device. Moving the XHCI linking above the EHCI and OHCI linking fixes the issue. Signed-off-by: Al Cooper <alcooperx@gmail.com> --- drivers/usb/host/Makefile | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)