|| ||Paul Zimmerman <Paul.Zimmerman-HKixBCOQz3hWk0Htik3Jemail@example.com> |
|| ||balbi-l0cyMroinI0@public.gmane.org |
|| ||[PATCH v5 0/6] DWC2 DesignWare HS OTG driver |
|| ||Tue, 26 Feb 2013 19:23:00 -0800|
|| ||gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org, gordon.hollingworth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
Paul Zimmerman <Paul.Zimmerman-HKixBCOQz3hWk0Htik3Jfirstname.lastname@example.org>|
|| ||Article, Thread
Here is v5 of the DWC2 patch set. I think I made all of the changes we
agreed on after your last review.
You'll be happy to hear that I removed all of the module parameters. I
realized it is easy enough for me to maintain a local patch here to add
them back when we need to do driver/RTL testing. I did keep the
infrastructure for setting all of the values, so they can be tweaked at
compile time if necessary, and so patching the module parameters back in
I also added some verbiage to both the Kconfig and Makefile, explaining
that this is a host-only driver for the time being. Please check that and
see if it looks OK.
If these patches looks acceptable to you now, will you take them in through
your tree, or would you like Greg to take them?
This is a host-mode driver for the Synopsys DesignWare HS OTG controller.
This is the same controller whose peripheral mode is implemented by the
existing s3c-hsotg driver. This controller is also used in host mode in the
Raspberry Pi via a very ugly out-of-tree driver, so merging this would be a
step toward bringing that platform into mainline.
The idea is to add a dwc2/ directory alongside the existing dwc3/ directory,
initially to contain just this host-mode driver. Once that has been accepted
we would then like to move the s3c-hsotg driver into this directory and
integrate it to make a dual-role driver. Finally we will implement support
for the OTG features of the controller.
This driver is still a work in progress, to wit:
- Only a PCI bus interface has been implemented so far. However the core
code and the PCI bus glue code are contained in separate modules, so it
will be easy to add platform driver interfaces in the future. I have
already done that with a platform driver for the Raspberry Pi, but it
is not included here since that platform is out of tree.
- There is no power-management support yet.
- There is quite a bit of debug code included. We would like to keep that
until the integration with s3c-hsotg is complete, then most of it can be
Changes since v4 - Changes in response to Felipe's third review. Also
removed the module parameters. Plus made a few more cleanups and
Changes since v3 - Numerous changes in response to Felipe's second review.
Changes since v2 - Fixed a problem with periodic transfers, so hubs, mice
and keyboards work reliably now. Fixed a spurious channel halted interrupt
by disabling the interrupt if the channel is idle.
Changes since v1 - Numerous changes in response to Felipe's review.
Paul Zimmerman (6):
usb: common: add a routine to print the OTG state
Core files for the DWC2 driver
HCD files for the DWC2 driver
HCD descriptor DMA support for the DWC2 driver
PCI bus interface for the DWC2 driver
Hook the DWC2 driver into the build system
drivers/usb/dwc2/Kconfig | 35 +
drivers/usb/dwc2/Makefile | 18 +
drivers/usb/dwc2/core.c | 2678 +++++++++++++++++++++++++++++++++++++++
drivers/usb/dwc2/core.h | 658 ++++++++++
drivers/usb/dwc2/core_intr.c | 483 +++++++
drivers/usb/dwc2/hcd.c | 2861 ++++++++++++++++++++++++++++++++++++++++++
drivers/usb/dwc2/hcd.h | 852 +++++++++++++
drivers/usb/dwc2/hcd_ddma.c | 1179 +++++++++++++++++
drivers/usb/dwc2/hcd_intr.c | 2104 +++++++++++++++++++++++++++++++
drivers/usb/dwc2/hcd_queue.c | 746 +++++++++++
drivers/usb/dwc2/hw.h | 811 ++++++++++++
drivers/usb/dwc2/pci.c | 199 +++
drivers/usb/usb-common.c | 26 +
include/linux/usb/phy.h | 8 +
14 files changed, 12658 insertions(+)
create mode 100644 drivers/usb/dwc2/Kconfig
create mode 100644 drivers/usb/dwc2/Makefile
create mode 100644 drivers/usb/dwc2/core.c
create mode 100644 drivers/usb/dwc2/core.h
create mode 100644 drivers/usb/dwc2/core_intr.c
create mode 100644 drivers/usb/dwc2/hcd.c
create mode 100644 drivers/usb/dwc2/hcd.h
create mode 100644 drivers/usb/dwc2/hcd_ddma.c
create mode 100644 drivers/usb/dwc2/hcd_intr.c
create mode 100644 drivers/usb/dwc2/hcd_queue.c
create mode 100644 drivers/usb/dwc2/hw.h
create mode 100644 drivers/usb/dwc2/pci.c
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html