This patch set introduce new Cadence USBSSP DRD driver to linux kernel. The Cadence USBSSP DRD Driver s a highly configurable IP Core which can be instantiated as Dual-Role Device (DRD), Peripheral Only and Host Only (XHCI) configurations. The current driver has been validated with FPGA burned. We have support for PCIe bus, which is used on FPGA prototyping. The host site of USBSSP controller is compliance with XHCI specification, so it works with standard XHCI linux driver. Also, device side of USBSSP controller was designed in such way to looks like XHCI. It means that most of logic of USBSSP controller is also compliance with XHCI specification. Consequently, the USBSSP driver for peripheral mode is very similar to XHCI driver. This version of driver supports only Device mode but DRD and Host mode will be added in the future. --- Pawel Laszczak (31): usb: usbssp: Defined register maps and other useful structures. usb: usbssp: Added some decoding functions. usb: usbssp: Add trace events used in driver usb: usbssp: Added USBSSP platform driver usb: usbssp: Added first part of initialization sequence. usb: usbssp: added template functions used by upper layer. usb: usbssp: Initialization - added usbssp_mem_init usb: usbssp: Added ring and segment handling functions. usb: usbssp: add implementation of usbssp_mem_cleanup usb: usbssp: added usbssp_trb_in_td function. usb: usbssp: added function for stopping driver. usb: usbssp: added functions for queuing commands. usb: usbssp: addec procedure for handlin Port Status Change events. usb: usbssp: added procedure handling command completion events. usb: usbssp: added device controller error, transfer and SETUP completion event. usb: usbssp: added connect/disconnect procedures. usb: usbssp: added implementation of usbssp_halt_endpoint function. usb: usbssp: added handling of Port Reset event. usb: usbssp: added support for USB enumeration process. usb: usbssp: added queuing procedure for control transfer. usb: usbssp: added queuing procedure for BULK and INT transfer. usb: usbssp: added procedure removing request from transfer ring usb: usbssp: added implementation of transfer events. usb: usbssp: added detecting command timeout. usb: usbssp: added implementation of usbssp interface. usb: usbssp: added endpoint configuration functionality. usb: usbssp: implements usbssp_gadget_ep_enable function usb: usbssp: implemented usbssp_gadget_ep_disable function. usb: usbssp: added support for LPM. usb: usbssp: added support for TEST_MODE. usb: usbssp: add pci to platform driver wrapper. drivers/usb/Kconfig | 2 + drivers/usb/Makefile | 2 + drivers/usb/usbssp/Kconfig | 29 + drivers/usb/usbssp/Makefile | 15 + drivers/usb/usbssp/gadget-dbg.c | 39 + drivers/usb/usbssp/gadget-ep0.c | 567 +++++ drivers/usb/usbssp/gadget-ext-caps.h | 101 + drivers/usb/usbssp/gadget-if.c | 568 +++++ drivers/usb/usbssp/gadget-mem.c | 1927 ++++++++++++++ drivers/usb/usbssp/gadget-port.c | 284 +++ drivers/usb/usbssp/gadget-ring.c | 3444 ++++++++++++++++++++++++++ drivers/usb/usbssp/gadget-trace.c | 13 + drivers/usb/usbssp/gadget-trace.h | 482 ++++ drivers/usb/usbssp/gadget.c | 1907 ++++++++++++++ drivers/usb/usbssp/gadget.h | 2336 +++++++++++++++++ drivers/usb/usbssp/usbssp-pci-wrap.c | 229 ++ drivers/usb/usbssp/usbssp-plat.c | 186 ++ 17 files changed, 12131 insertions(+) create mode 100644 drivers/usb/usbssp/Kconfig create mode 100644 drivers/usb/usbssp/Makefile create mode 100644 drivers/usb/usbssp/gadget-dbg.c create mode 100644 drivers/usb/usbssp/gadget-ep0.c create mode 100644 drivers/usb/usbssp/gadget-ext-caps.h create mode 100644 drivers/usb/usbssp/gadget-if.c create mode 100644 drivers/usb/usbssp/gadget-mem.c create mode 100644 drivers/usb/usbssp/gadget-port.c create mode 100644 drivers/usb/usbssp/gadget-ring.c create mode 100644 drivers/usb/usbssp/gadget-trace.c create mode 100644 drivers/usb/usbssp/gadget-trace.h create mode 100644 drivers/usb/usbssp/gadget.c create mode 100644 drivers/usb/usbssp/gadget.h create mode 100644 drivers/usb/usbssp/usbssp-pci-wrap.c create mode 100644 drivers/usb/usbssp/usbssp-plat.c -- 2.17.1 -- 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