[RFC PATCH v1 00/14] Introduced new Cadence USBSS DRD Driver

From: Pawel Laszczak
Date: Sat Nov 03 2018 - 14:08:24 EST


This patch set introduce new Cadence USBSS DRD driver
to linux kernel.

The Cadence USBSS 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 USBSS controller is compliance
with XHCI specification, so it works with
standard XHCI linux driver.

---

Pawel Laszczak (14):
usb:cdns3: add pci to platform driver wrapper.
usb:cdns3: Device side header file.
usb:cdns3: Driver initialization code.
usb:cdns3: Added DRD support
usb:cdns3: Added Wrapper to XCHI driver
usb:cdns3: Initialization code for Device side
usb:cdns3: Implements device operations part of the API
usb:cdns3: EpX operations part of the API
usb:cdns3: Ep0 operations part of the API
usb:cdns3: Implements ISR functionality.
usb:cdns3: Adds enumeration related function.
usb:cdns3: Adds transfer related function.
usb:cdns3: Adds debugging function.
usb:cdns3: Feature for changing role

drivers/usb/Kconfig | 2 +
drivers/usb/Makefile | 2 +
drivers/usb/cdns3/Kconfig | 44 +
drivers/usb/cdns3/Makefile | 7 +
drivers/usb/cdns3/cdns3-pci-wrap.c | 162 +++
drivers/usb/cdns3/core.c | 381 +++++++
drivers/usb/cdns3/core.h | 88 ++
drivers/usb/cdns3/debug.c | 128 +++
drivers/usb/cdns3/debugfs.c | 94 ++
drivers/usb/cdns3/drd.c | 219 ++++
drivers/usb/cdns3/drd.h | 125 +++
drivers/usb/cdns3/ep0.c | 855 ++++++++++++++
drivers/usb/cdns3/gadget-export.h | 27 +
drivers/usb/cdns3/gadget.c | 1649 ++++++++++++++++++++++++++++
drivers/usb/cdns3/gadget.h | 1100 +++++++++++++++++++
drivers/usb/cdns3/host-export.h | 30 +
drivers/usb/cdns3/host.c | 252 +++++
17 files changed, 5165 insertions(+)
create mode 100644 drivers/usb/cdns3/Kconfig
create mode 100644 drivers/usb/cdns3/Makefile
create mode 100644 drivers/usb/cdns3/cdns3-pci-wrap.c
create mode 100644 drivers/usb/cdns3/core.c
create mode 100644 drivers/usb/cdns3/core.h
create mode 100644 drivers/usb/cdns3/debug.c
create mode 100644 drivers/usb/cdns3/debugfs.c
create mode 100644 drivers/usb/cdns3/drd.c
create mode 100644 drivers/usb/cdns3/drd.h
create mode 100644 drivers/usb/cdns3/ep0.c
create mode 100644 drivers/usb/cdns3/gadget-export.h
create mode 100644 drivers/usb/cdns3/gadget.c
create mode 100644 drivers/usb/cdns3/gadget.h
create mode 100644 drivers/usb/cdns3/host-export.h
create mode 100644 drivers/usb/cdns3/host.c

--
2.17.1