Message ID | 20200408181406.40389-5-alcooperx@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add XHCI, EHCI and OHCI support for Broadcom STB SoS's | expand |
On Thu, Apr 9, 2020 at 12:52 AM Al Cooper <alcooperx@gmail.com> wrote: > > Add the build system changes needed to get the Broadcom STB XHCI, > EHCI and OHCI functionality working. The OHCI support does not > require anything unique to Broadcom so the standard ohci-platform > driver is being used. The link order for XHCI was changed in the > Makefile because of the way STB XHCI, EHCI and OHCI controllers > share a port which requires that the XHCI driver be initialized > first. Also update MAINTAINERS. > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -3477,6 +3477,14 @@ S: Supported > F: drivers/i2c/busses/i2c-brcmstb.c > F: Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml > > +BROADCOM BRCMSTB USB EHCI DRIVER > +M: Al Cooper <alcooperx@gmail.com> > +L: linux-usb@vger.kernel.org > +L: bcm-kernel-feedback-list@broadcom.com > +S: Maintained > +F: drivers/usb/host/ehci-brcm.* > +F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml This has ordering issues. Run parse-maintainer.pl to fix. (Note, it creates by default a new file, you might need to run diff manually to see the difference).
On Thu, Apr 9, 2020 at 5:08 AM Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > > On Thu, Apr 9, 2020 at 12:52 AM Al Cooper <alcooperx@gmail.com> wrote: > > > > Add the build system changes needed to get the Broadcom STB XHCI, > > EHCI and OHCI functionality working. The OHCI support does not > > require anything unique to Broadcom so the standard ohci-platform > > driver is being used. The link order for XHCI was changed in the > > Makefile because of the way STB XHCI, EHCI and OHCI controllers > > share a port which requires that the XHCI driver be initialized > > first. Also update MAINTAINERS. > > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -3477,6 +3477,14 @@ S: Supported > > F: drivers/i2c/busses/i2c-brcmstb.c > > F: Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml > > > > +BROADCOM BRCMSTB USB EHCI DRIVER > > +M: Al Cooper <alcooperx@gmail.com> > > +L: linux-usb@vger.kernel.org > > +L: bcm-kernel-feedback-list@broadcom.com > > +S: Maintained > > +F: drivers/usb/host/ehci-brcm.* > > +F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml > > This has ordering issues. > Run parse-maintainer.pl to fix. (Note, it creates by default a new > file, you might need to run diff manually to see the difference). I'm not sure what you mean. I ran "./scripts/parse-maintainers.pl" and did "diff MAINTAINERS MAINTAINERS.new" and there are no differences in or around my entry. Al > > -- > With Best Regards, > Andy Shevchenko
On Thu, Apr 09, 2020 at 07:49:52AM -0400, Alan Cooper wrote: > On Thu, Apr 9, 2020 at 5:08 AM Andy Shevchenko > <andy.shevchenko@gmail.com> wrote: > > > > On Thu, Apr 9, 2020 at 12:52 AM Al Cooper <alcooperx@gmail.com> wrote: > > > > > > Add the build system changes needed to get the Broadcom STB XHCI, > > > EHCI and OHCI functionality working. The OHCI support does not > > > require anything unique to Broadcom so the standard ohci-platform > > > driver is being used. The link order for XHCI was changed in the > > > Makefile because of the way STB XHCI, EHCI and OHCI controllers > > > share a port which requires that the XHCI driver be initialized > > > first. Also update MAINTAINERS. > > > > > --- a/MAINTAINERS > > > +++ b/MAINTAINERS > > > @@ -3477,6 +3477,14 @@ S: Supported > > > F: drivers/i2c/busses/i2c-brcmstb.c > > > F: Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml > > > > > > +BROADCOM BRCMSTB USB EHCI DRIVER > > > +M: Al Cooper <alcooperx@gmail.com> > > > +L: linux-usb@vger.kernel.org > > > +L: bcm-kernel-feedback-list@broadcom.com > > > +S: Maintained > > > +F: drivers/usb/host/ehci-brcm.* > > > +F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml > > > > This has ordering issues. > > Run parse-maintainer.pl to fix. (Note, it creates by default a new > > file, you might need to run diff manually to see the difference). > > I'm not sure what you mean. > I ran "./scripts/parse-maintainers.pl" and did "diff MAINTAINERS > MAINTAINERS.new" and there are no differences in or around my entry. Perhaps --order should be added.
On Thu, Apr 9, 2020 at 8:30 AM Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > > On Thu, Apr 09, 2020 at 07:49:52AM -0400, Alan Cooper wrote: > > On Thu, Apr 9, 2020 at 5:08 AM Andy Shevchenko > > <andy.shevchenko@gmail.com> wrote: > > > > > > On Thu, Apr 9, 2020 at 12:52 AM Al Cooper <alcooperx@gmail.com> wrote: > > > > > > > > Add the build system changes needed to get the Broadcom STB XHCI, > > > > EHCI and OHCI functionality working. The OHCI support does not > > > > require anything unique to Broadcom so the standard ohci-platform > > > > driver is being used. The link order for XHCI was changed in the > > > > Makefile because of the way STB XHCI, EHCI and OHCI controllers > > > > share a port which requires that the XHCI driver be initialized > > > > first. Also update MAINTAINERS. > > > > > > > --- a/MAINTAINERS > > > > +++ b/MAINTAINERS > > > > @@ -3477,6 +3477,14 @@ S: Supported > > > > F: drivers/i2c/busses/i2c-brcmstb.c > > > > F: Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml > > > > > > > > +BROADCOM BRCMSTB USB EHCI DRIVER > > > > +M: Al Cooper <alcooperx@gmail.com> > > > > +L: linux-usb@vger.kernel.org > > > > +L: bcm-kernel-feedback-list@broadcom.com > > > > +S: Maintained > > > > +F: drivers/usb/host/ehci-brcm.* > > > > +F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml > > > > > > This has ordering issues. > > > Run parse-maintainer.pl to fix. (Note, it creates by default a new > > > file, you might need to run diff manually to see the difference). > > > > I'm not sure what you mean. > > I ran "./scripts/parse-maintainers.pl" and did "diff MAINTAINERS > > MAINTAINERS.new" and there are no differences in or around my entry. > > Perhaps --order should be added. So you're asking me to swap the following lines? F: drivers/usb/host/ehci-brcm.* F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml Al > > -- > With Best Regards, > Andy Shevchenko > >
On Thu, Apr 9, 2020 at 9:15 PM Alan Cooper <alcooperx@gmail.com> wrote: > On Thu, Apr 9, 2020 at 8:30 AM Andy Shevchenko > <andy.shevchenko@gmail.com> wrote: > > On Thu, Apr 09, 2020 at 07:49:52AM -0400, Alan Cooper wrote: > > > On Thu, Apr 9, 2020 at 5:08 AM Andy Shevchenko > > > <andy.shevchenko@gmail.com> wrote: > > > > On Thu, Apr 9, 2020 at 12:52 AM Al Cooper <alcooperx@gmail.com> wrote: > > > > > +BROADCOM BRCMSTB USB EHCI DRIVER > > > > > +M: Al Cooper <alcooperx@gmail.com> > > > > > +L: linux-usb@vger.kernel.org > > > > > +L: bcm-kernel-feedback-list@broadcom.com > > > > > +S: Maintained > > > > > +F: drivers/usb/host/ehci-brcm.* > > > > > +F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml > > > > > > > > This has ordering issues. > > > > Run parse-maintainer.pl to fix. (Note, it creates by default a new > > > > file, you might need to run diff manually to see the difference). > > > > > > I'm not sure what you mean. > > > I ran "./scripts/parse-maintainers.pl" and did "diff MAINTAINERS > > > MAINTAINERS.new" and there are no differences in or around my entry. > > > > Perhaps --order should be added. > > So you're asking me to swap the following lines? > > F: drivers/usb/host/ehci-brcm.* > F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml Yes, that is correct.
diff --git a/MAINTAINERS b/MAINTAINERS index 534a8dc4f84a..f6e8ebc8ccfd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3477,6 +3477,14 @@ S: Supported F: drivers/i2c/busses/i2c-brcmstb.c F: Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml +BROADCOM BRCMSTB USB EHCI DRIVER +M: Al Cooper <alcooperx@gmail.com> +L: linux-usb@vger.kernel.org +L: bcm-kernel-feedback-list@broadcom.com +S: Maintained +F: drivers/usb/host/ehci-brcm.* +F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml + BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER M: Al Cooper <alcooperx@gmail.com> L: linux-kernel@vger.kernel.org diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 55bdfdf11e4c..7d58fd66e412 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -97,6 +97,22 @@ config USB_XHCI_TEGRA endif # USB_XHCI_HCD +config USB_EHCI_BRCMSTB + tristate + +config USB_BRCMSTB + tristate "Broadcom STB USB support" + depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST + select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD + select USB_EHCI_BRCMSTB if USB_EHCI_HCD + select USB_XHCI_PLATFORM if USB_XHCI_HCD + help + Say Y to enable support for XHCI, EHCI and OHCI host controllers + found in Broadcom STB SoC's. + + Disabling this will keep the controllers and corresponding + PHYs powered down. + config USB_EHCI_HCD tristate "EHCI HCD (USB 2.0) support" depends on HAS_DMA && HAS_IOMEM diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile index b191361257cc..85fa6ace552a 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -37,6 +37,15 @@ endif obj-$(CONFIG_USB_PCI) += pci-quirks.o +# NOTE: BRCMSTB systems require that xhci driver be linked before the +# ehci/ohci drivers. +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 @@ -49,6 +58,7 @@ obj-$(CONFIG_USB_EHCI_HCD_STI) += ehci-st.o obj-$(CONFIG_USB_EHCI_EXYNOS) += ehci-exynos.o obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-atmel.o obj-$(CONFIG_USB_EHCI_TEGRA) += ehci-tegra.o +obj-$(CONFIG_USB_EHCI_BRCMSTB) += ehci-brcm.o obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.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
Add the build system changes needed to get the Broadcom STB XHCI, EHCI and OHCI functionality working. The OHCI support does not require anything unique to Broadcom so the standard ohci-platform driver is being used. The link order for XHCI was changed in the Makefile because of the way STB XHCI, EHCI and OHCI controllers share a port which requires that the XHCI driver be initialized first. Also update MAINTAINERS. Signed-off-by: Al Cooper <alcooperx@gmail.com> --- MAINTAINERS | 8 ++++++++ drivers/usb/host/Kconfig | 16 ++++++++++++++++ drivers/usb/host/Makefile | 16 ++++++++++------ 3 files changed, 34 insertions(+), 6 deletions(-)