usb: Introduce DesignWare USB3 DRD Driver
authorFelipe Balbi <balbi@ti.com>
Fri, 19 Aug 2011 15:10:58 +0000 (18:10 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 22 Aug 2011 23:03:11 +0000 (16:03 -0700)
commit72246da40f3719af3bfd104a2365b32537c27d83
treedb6a4b139c24340e0d5dccab8d9df0b23ab509ef
parent500fdf8becb9c8d51970c7ac6a4fa308a5481ebe
usb: Introduce DesignWare USB3 DRD Driver

The DesignWare USB3 is a highly
configurable IP Core which can be
instantiated as Dual-Role Device (DRD),
Peripheral Only and Host Only (XHCI)
configurations.

Several other parameters can be configured
like amount of FIFO space, amount of TX and
RX endpoints, amount of Host Interrupters,
etc.

The current driver has been validated with
a virtual model of version 1.73a of that core
and with an FPGA burned with version 1.83a
of the DRD core. We have support for PCIe
bus, which is used on FPGA prototyping, and
for the OMAP5, more adaptation (or glue)
layers can be easily added and the driver
is half prepared to handle any possible
configuration the HW engineer has chosen
considering we have the information on
one of the GHWPARAMS registers to do
runtime checking of certain features.

More runtime checks can, and should, be added
in order to make this driver even more flexible
with regards to number of endpoints, FIFO sizes,
transfer types, etc.

While this supports only the device side, for
now, we will add support for Host side (xHCI -
see the updated series Sebastian has sent [1])
and OTG after we have it all stabilized.

[1] http://marc.info/?l=linux-usb&m=131341992020339&w=2

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 files changed:
Documentation/usb/dwc3.txt [new file with mode: 0644]
drivers/usb/Kconfig
drivers/usb/Makefile
drivers/usb/dwc3/Kconfig [new file with mode: 0644]
drivers/usb/dwc3/Makefile [new file with mode: 0644]
drivers/usb/dwc3/core.c [new file with mode: 0644]
drivers/usb/dwc3/core.h [new file with mode: 0644]
drivers/usb/dwc3/debug.h [new file with mode: 0644]
drivers/usb/dwc3/debugfs.c [new file with mode: 0644]
drivers/usb/dwc3/dwc3-omap.c [new file with mode: 0644]
drivers/usb/dwc3/dwc3-pci.c [new file with mode: 0644]
drivers/usb/dwc3/ep0.c [new file with mode: 0644]
drivers/usb/dwc3/gadget.c [new file with mode: 0644]
drivers/usb/dwc3/gadget.h [new file with mode: 0644]
drivers/usb/dwc3/io.h [new file with mode: 0644]
drivers/usb/gadget/Kconfig