Re: [PATCH 0/8] Introduced new Cadence USBSSP DRD Driver.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20-09-28 14:27:33, Pawel Laszczak wrote:
> This patch introduce new Cadence USBSS DRD driver to linux kernel.
> 
> The Cadence USBSS DRD Controller is 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 side of USBSS-DRD controller is compliance with XHCI
> specification, so it works with standard XHCI Linux driver.
> 
> The host side of USBSS DRD controller is compliant with XHCI.

The device side?

> The architecture for device side is almost the same as for host side,
> and most of the XHCI specification can be used to understand how
> this controller operates.
> 
> This controller and driver support Full Speed, Hight Speed, Supper Speed
> and Supper Speed Plus USB protocol.
> 
> The prefix cdnsp used in driver has chosen by analogy to cdn3 driver.
> The last letter of this acronym means PLUS. The formal name of controller
> is USBSSP but it's to generic so I've decided to use CDNSP.
> 
> The patch 1: adds support for DRD CDNSP. 
> The patch 2: separates common code that can be reusable by cdnsp driver.
> The patch 3: moves reusable code to separate module.
> The patch 4: changes prefixes in reusable code frome cdns3 to common cdns.
> The patch 5: adopts gadget_dev pointer in cdns structure to make possible 
> 	     use it in both drivers.
> The patches 6-8: add the main part of driver and has been intentionally
>              split into 3 part. In my opinion such division should not
>              affect understanding and reviewing the driver, and cause that
>              main patch (7/8) is little smaller. Patch 6 introduces main
>              header file for driver, 7 is the main part that implements all
>              functionality of driver and 8 introduces tracepoints.
> 
> ---
> 
> Pawel Laszczak (7):
>   usb: cdns3: Add support for DRD CDNSP
>   usb: cdns3: Split core.c into cdns3-plat and core.c file
>   usb: cdns3: Moves reusable code to separate module
>   usb: cdns3: Refactoring names in reusable code
>   usb: cdns3: Changed type of gadget_dev in cdns structure
>   usb: cdnsp: Device side header file for CDNSP driver
>   usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver
>   usb: cdnsp: Add tracepoints for CDNSP driver
> 
>  drivers/usb/Kconfig               |    1 +
>  drivers/usb/Makefile              |    1 +
>  drivers/usb/cdns3/Kconfig         |    8 +
>  drivers/usb/cdns3/Makefile        |    8 +-
>  drivers/usb/cdns3/cdns3-plat.c    |  209 +++
>  drivers/usb/cdns3/core.c          |  336 ++--
>  drivers/usb/cdns3/core.h          |   51 +-
>  drivers/usb/cdns3/drd.c           |  219 ++-
>  drivers/usb/cdns3/drd.h           |   93 +-
>  drivers/usb/cdns3/gadget-export.h |   26 +-
>  drivers/usb/cdns3/gadget.c        |   29 +-
>  drivers/usb/cdns3/host-export.h   |   10 +-
>  drivers/usb/cdns3/host.c          |   23 +-
>  drivers/usb/cdnsp/Kconfig         |   40 +
>  drivers/usb/cdnsp/Makefile        |   12 +
>  drivers/usb/cdnsp/cdnsp-pci.c     |  247 +++
>  drivers/usb/cdnsp/debug.h         |  583 +++++++
>  drivers/usb/cdnsp/ep0.c           |  500 ++++++
>  drivers/usb/cdnsp/gadget.c        | 2009 ++++++++++++++++++++++++
>  drivers/usb/cdnsp/gadget.h        | 1598 +++++++++++++++++++
>  drivers/usb/cdnsp/mem.c           | 1326 ++++++++++++++++
>  drivers/usb/cdnsp/ring.c          | 2426 +++++++++++++++++++++++++++++
>  drivers/usb/cdnsp/trace.c         |   12 +
>  drivers/usb/cdnsp/trace.h         |  840 ++++++++++
>  24 files changed, 10228 insertions(+), 379 deletions(-)
>  create mode 100644 drivers/usb/cdns3/cdns3-plat.c
>  create mode 100644 drivers/usb/cdnsp/Kconfig
>  create mode 100644 drivers/usb/cdnsp/Makefile
>  create mode 100644 drivers/usb/cdnsp/cdnsp-pci.c
>  create mode 100644 drivers/usb/cdnsp/debug.h
>  create mode 100644 drivers/usb/cdnsp/ep0.c
>  create mode 100644 drivers/usb/cdnsp/gadget.c
>  create mode 100644 drivers/usb/cdnsp/gadget.h
>  create mode 100644 drivers/usb/cdnsp/mem.c
>  create mode 100644 drivers/usb/cdnsp/ring.c
>  create mode 100644 drivers/usb/cdnsp/trace.c
>  create mode 100644 drivers/usb/cdnsp/trace.h
> 
> -- 
> 2.17.1
> 

-- 

Thanks,
Peter Chen



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux