[PATCH v2 0/4] Introduced new Cadence USBHS Driver
From: Pawel Laszczak
Date: Thu Apr 20 2023 - 05:07:02 EST
This series introduce new Cadence USBHS peripheral driver to linux kernel.
The Cadence USBHS Controller is a highly configurable IP Core which
can be instantiated as Peripheral which supports both full and high speed
data transfer.
The current driver has been validated with PCI based on FPGA platform.
To simplyfiy reviewing the driver has been splited into 3 part:
The patch 1: contains main header file.
The patch 2: main part that implements whole driver functionality.
The patch 3: adds to driver tracepoints.
The patch 4: Adds USBSSP DRD IP driver entry to MAINTAINERS file.
Changlog from v1:
- changed some __dynamic_array() to __get_buf()
- removed kernel-doc warnings
- removed some compiler warnings reported with option W=1
- removed unnecessary casting from cdns2_pci_remove function
- fixed issue with ISO mult = 1 and mult = 2
- improved ISO transfer performance
---
Pawel Laszczak (4):
usb: cdns2: Device side header file for CDNS2 driver
usb: cdns2: Add main part of Cadence USBHS driver
usb: cdns2: Add tracepoints for CDNS2 driver
MAINTAINERS: add Cadence USBHS driver entry
MAINTAINERS | 6 +
drivers/usb/gadget/udc/Kconfig | 2 +
drivers/usb/gadget/udc/Makefile | 1 +
drivers/usb/gadget/udc/cdns2/Kconfig | 11 +
drivers/usb/gadget/udc/cdns2/Makefile | 7 +
drivers/usb/gadget/udc/cdns2/cdns2-debug.h | 203 ++
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c | 660 +++++
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c | 2476 +++++++++++++++++++
drivers/usb/gadget/udc/cdns2/cdns2-gadget.h | 707 ++++++
drivers/usb/gadget/udc/cdns2/cdns2-pci.c | 149 ++
drivers/usb/gadget/udc/cdns2/cdns2-trace.c | 11 +
drivers/usb/gadget/udc/cdns2/cdns2-trace.h | 605 +++++
12 files changed, 4838 insertions(+)
create mode 100644 drivers/usb/gadget/udc/cdns2/Kconfig
create mode 100644 drivers/usb/gadget/udc/cdns2/Makefile
create mode 100644 drivers/usb/gadget/udc/cdns2/cdns2-debug.h
create mode 100644 drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
create mode 100644 drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
create mode 100644 drivers/usb/gadget/udc/cdns2/cdns2-gadget.h
create mode 100644 drivers/usb/gadget/udc/cdns2/cdns2-pci.c
create mode 100644 drivers/usb/gadget/udc/cdns2/cdns2-trace.c
create mode 100644 drivers/usb/gadget/udc/cdns2/cdns2-trace.h
--
2.34.1