Message ID | 20200430101019.1130956-1-vkoul@kernel.org |
---|---|
Headers | show |
Series | usb: xhci: Add support for Renesas USB controllers | expand |
On 30.4.2020 13.10, Vinod Koul wrote: > From: Christian Lamparter <chunkeey@googlemail.com> > > This add a new driver for renesas xhci which is basically a firmware > loader for uPD720201 and uPD720202 w/o ROM. It uses xhci-pci driver for > most of the work. > > This is added in Makefile before the xhci-pci driver so that it first > get probed for renesas devices before the xhci-pci driver has a chance > to claim any device. Most of the above is no longer correct > > This patch adds a firmware loader for the uPD720201K8-711-BAC-A > and uPD720202K8-711-BAA-A variant. Both of these chips are listed > in Renesas' R19UH0078EJ0500 Rev.5.00 "User's Manual: Hardware" as > devices which need the firmware loader on page 2 in order to > work as they "do not support the External ROM". > > The "Firmware Download Sequence" is describe in chapter > "7.1 FW Download Interface" R19UH0078EJ0500 Rev.5.00 page 131. > > The firmware "K2013080.mem" is available from a USB3.0 Host to > PCIe Adapter (PP2U-E card) "Firmware download" archive. An > alternative version can be sourced from Netgear's WNDR4700 GPL > archives. > > The release notes of the PP2U-E's "Firmware Download" ver 2.0.1.3 > (2012-06-15) state that the firmware is for the following devices: > - uPD720201 ES 2.0 sample whose revision ID is 2. > - uPD720201 ES 2.1 sample & CS sample & Mass product, ID is 3. > - uPD720202 ES 2.0 sample & CS sample & Mass product, ID is 2. > > Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > [vkoul: fixed comments: > used macros for timeout count and delay > removed renesas_fw_alive_check > cleaned renesas_fw_callback > removed recursion for renesas_fw_download > add register defines and field names > move to a separate file > make fw loader as sync probe so that we execute in probe and > prevent race] > Signed-off-by: Vinod Koul <vkoul@kernel.org> > --- > drivers/usb/host/Makefile | 3 +- > drivers/usb/host/xhci-pci-renesas.c | 361 ++++++++++++++++++++++++++++ > drivers/usb/host/xhci-pci.h | 16 ++ > 3 files changed, 379 insertions(+), 1 deletion(-) > create mode 100644 drivers/usb/host/xhci-pci-renesas.c > create mode 100644 drivers/usb/host/xhci-pci.h > > diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile > index b191361257cc..c3a79f626393 100644 > --- a/drivers/usb/host/Makefile > +++ b/drivers/usb/host/Makefile > @@ -70,7 +70,8 @@ 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 > +usb-xhci-pci-objs := xhci-pci.o xhci-pci-renesas.o > +obj-$(CONFIG_USB_XHCI_PCI) += usb-xhci-pci.o I don't think it's a good idea to rename the xhci-pci module to usb-xhci-pci does xhci-pci-y := xhci-pci.o xhci-pci-renesas.o obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o cause some kbuild issues? -Mathias
On 30-04-20, 16:53, Greg Kroah-Hartman wrote: > On Thu, Apr 30, 2020 at 08:16:41PM +0530, Vinod Koul wrote: > > > > diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile > > > > index b191361257cc..c3a79f626393 100644 > > > > --- a/drivers/usb/host/Makefile > > > > +++ b/drivers/usb/host/Makefile > > > > @@ -70,7 +70,8 @@ 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 > > > > +usb-xhci-pci-objs := xhci-pci.o xhci-pci-renesas.o > > > > +obj-$(CONFIG_USB_XHCI_PCI) += usb-xhci-pci.o > > > > > > I don't think it's a good idea to rename the xhci-pci module to usb-xhci-pci > > > > > > does > > > > > > xhci-pci-y := xhci-pci.o xhci-pci-renesas.o > > > obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o > > > > > > cause some kbuild issues? > > > > Yes with this version I get the warning: > > make[4]: Circular drivers/usb/host/xhci-pci.o <- drivers/usb/host/xhci-pci.o dependency dropped. > > > > I don't speak enough Kbuild, but I guess it does make sense that we have > > xhci-pci.o as target for both xhci-pci.o xhci-pci-renesas.o! That was > > the reason for adding usb tag to this to resolve the conflict. > > > > I am okay for any other mechanism which can work well here. Btw what > > issues do you foresee with adding usb tag to module name. > > It will break all sorts of things. Happens every time we rename > modules, let's not do it unless we absolutely have to. Hmm that is interesting, am not sure why though :) Anyway, I have fixed it up and was able to make both as modules and export two symbols for xhci-pci.ko to use :) Makefile change looks like: +obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o xhci-pci-renesas.o Thanks