[U-Boot] [PATCH 0/8] usb: Add support for Cadence USB controller driver

Jean-Jacques Hiblot jjhiblot at ti.com
Fri Oct 11 08:59:40 UTC 2019


On 01/10/2019 13:56, Vignesh Raghavendra wrote:
> This series adds support for Cadence USB Host and Gadget controller
> drivers. This is borrowed directly from Linux kernel v5.4-rc1.
> Driver as such supports both 3.0 and 2.0 speeds. But USB 3.0 requires a
> PHY driver which will be added in a separate follow series
>
> Patch 7 adds TI wrapper driver for Cadence USB controller.
>
> Both host and device mode has been tested on TI's J721e SoC. DFU, UMS
> and fastboot gadgets have been tested.
>
> Complete series (+ DT nodes required for J721e) can be found here:
> https://github.com/r-vignesh/u-boot.git branch: usb
>
> Regards
> Vignesh
>
> Sherry Sun (1):
>    usb: udc: Introduce ->udc_set_speed() method
>
> Vignesh Raghavendra (7):
>    list: import list_first_entry_or_null()
>    bitmaps: import for_each_set_bit() macro
>    usb: gadget: Add match_ep() op to usb_gadget_ops
>    usb: Add Cadence USB3 host and gadget driver
>    usb: cdns3: gadget: Implement udc_set_speed() callback
>    usb: cdns3: Add TI wrapper driver for CDNS USB3 controller
>    usb: gadget: Add gadget_is_cdns3() macro
>
>   Makefile                          |    1 +
>   drivers/usb/Kconfig               |    2 +
>   drivers/usb/cdns3/Kconfig         |   58 +
>   drivers/usb/cdns3/Makefile        |   11 +
>   drivers/usb/cdns3/cdns3-ti.c      |  193 ++
>   drivers/usb/cdns3/core.c          |  498 ++++++
>   drivers/usb/cdns3/core.h          |  108 ++
>   drivers/usb/cdns3/debug.h         |  162 ++
>   drivers/usb/cdns3/drd.c           |  301 ++++
>   drivers/usb/cdns3/drd.h           |  166 ++
>   drivers/usb/cdns3/ep0.c           |  910 ++++++++++
>   drivers/usb/cdns3/gadget-export.h |   28 +
>   drivers/usb/cdns3/gadget.c        | 2760 +++++++++++++++++++++++++++++
>   drivers/usb/cdns3/gadget.h        | 1338 ++++++++++++++
>   drivers/usb/cdns3/host-export.h   |   28 +
>   drivers/usb/cdns3/host.c          |   55 +
>   drivers/usb/cdns3/trace.c         |   11 +
>   drivers/usb/cdns3/trace.h         |   26 +
>   drivers/usb/gadget/epautoconf.c   |    3 +
>   drivers/usb/gadget/gadget_chips.h |    8 +
>   drivers/usb/gadget/udc/udc-core.c |   23 +
>   include/linux/bitmap.h            |   61 +
>   include/linux/list.h              |   14 +
>   include/linux/usb/gadget.h        |   25 +
>   scripts/Makefile.spl              |    1 +
>   25 files changed, 6791 insertions(+)
>   create mode 100644 drivers/usb/cdns3/Kconfig
>   create mode 100644 drivers/usb/cdns3/Makefile
>   create mode 100644 drivers/usb/cdns3/cdns3-ti.c
>   create mode 100644 drivers/usb/cdns3/core.c
>   create mode 100644 drivers/usb/cdns3/core.h
>   create mode 100644 drivers/usb/cdns3/debug.h
>   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
>   create mode 100644 drivers/usb/cdns3/trace.c
>   create mode 100644 drivers/usb/cdns3/trace.h

I tested the series for Host and device operations onĀ  with a J721e-evm.

As expected, USB3 is not yet supported on the J721e because the driver 
for the USB3 phy is not there yet.

Tested-by: Jean-Jacques Hiblot <jjhiblot at ti.com>



More information about the U-Boot mailing list