Resending due to screwup in To: address line Hi Felipe, Ben, 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. 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 would implement support for the OTG features of the controller. This driver is still a work in progress, to wit: - Only Control and Bulk transfer types have been tested so far, using the mass-storage gadget. - Only a PCI bus interface has been implemented so far. However all the PCI specific code is isolated to a single file, so it should be fairly easy to add a platform device interface. - The driver has a couple dozen module parameters to control various optional features of the controller. I realize module parameters are frowned upon these days, so I would appreciate any advice on the best way to implement these in an acceptable manner. - There is no power-management support yet. - There is some code present to implement DRD and OTG support, but it is incomplete due to the missing peripheral-mode code. - There is quite a bit of debug code included. I would like to keep that until the integration with s3c-hsotg is complete, then most of it can be stripped out. The patches are checkpatch clean, except for boatloads of camel-case warnings due to the reuse of s3c-hsotg.h for the register definitions. Comments? Questions? -- Paul Zimmerman (6): 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 Kconfig and Makefile for the DWC2 driver Hook the DWC2 driver into the build system drivers/usb/Kconfig | 2 + drivers/usb/Makefile | 2 + drivers/usb/dwc2/Kconfig | 25 + drivers/usb/dwc2/Makefile | 13 + drivers/usb/dwc2/core.c | 2533 +++++++++++++++++++++++++++++++++++ drivers/usb/dwc2/core.h | 745 +++++++++++ drivers/usb/dwc2/core_intr.c | 726 ++++++++++ drivers/usb/dwc2/hcd.c | 3014 ++++++++++++++++++++++++++++++++++++++++++ drivers/usb/dwc2/hcd.h | 1134 ++++++++++++++++ drivers/usb/dwc2/hcd_ddma.c | 1168 ++++++++++++++++ drivers/usb/dwc2/hcd_intr.c | 2029 ++++++++++++++++++++++++++++ drivers/usb/dwc2/hcd_queue.c | 749 +++++++++++ drivers/usb/dwc2/hw.h | 512 +++++++ drivers/usb/dwc2/pci.c | 591 +++++++++ 14 files changed, 13243 insertions(+), 0 deletions(-) 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html