[U-Boot] [PATCH v2 0/4] USB: Add cadence USB3 gadget driver and host driver

sherry sun sherry.sun at nxp.com
Wed Aug 14 12:16:32 UTC 2019


From: Sherry Sun <sherry.sun at nxp.com>

These patches introduce new Cadence USBSS driver to U-Boot.
The first patch is to add the Cadence USB3 IP(CDNS3) core and driver for 
the usb gadget.
The second patch introduce the xhci-imx8 usb host driver separately.
The third patch introduce the cdns3 phy driver which can be used for both 
cdns3 host driver and gadget driver.
The cdns3 usb gadget driver/host/phy driver are all used DM mode.

The current driver has been validated on i.MX8 platform.
If anyone want to test it, please note that the additional dts nodes/
config macros/clock driver are also essential. You can also get
my test patches at https://github.com/sherrysun1/u-boot-imx.git.

Changes in v2:
 - Add doc/device-tree-bindings/usb/cdns-usb3.txt to describe the usb node
   properties in dts.
 - Add cdns3 usb phy driver instead of implementing it in cdns3 gadget/host
   driver.
 - Use clrbits_le32() and setbits_le32() globally. 
 - Remove some macros that are not used temporarily.


Sherry Sun (4):
  USB: gadget: Add the cadence USB3 gadget driver
  USB: host: Add the USB3 host driver
  phy: Add USB PHY driver for the cadence USB3
  USB: gadget: core: introduce ->udc_set_speed() method

 Makefile                                   |    1 +
 doc/device-tree-bindings/usb/cdns-usb3.txt |   39 +
 drivers/phy/Kconfig                        |    8 +
 drivers/phy/Makefile                       |    1 +
 drivers/phy/cdns3-usb-phy.c                |  242 +++
 drivers/usb/Kconfig                        |    2 +
 drivers/usb/cdns3/Kconfig                  |   20 +
 drivers/usb/cdns3/Makefile                 |    5 +
 drivers/usb/cdns3/cdns3-generic.c          |  115 +
 drivers/usb/cdns3/cdns3-nxp-reg-def.h      |   89 +
 drivers/usb/cdns3/core.c                   |  197 ++
 drivers/usb/cdns3/core.h                   |  118 ++
 drivers/usb/cdns3/dev-regs-macro.h         |  116 +
 drivers/usb/cdns3/dev-regs-map.h           |  117 ++
 drivers/usb/cdns3/gadget-export.h          |   26 +
 drivers/usb/cdns3/gadget.c                 | 2222 ++++++++++++++++++++
 drivers/usb/cdns3/gadget.h                 |  225 ++
 drivers/usb/cdns3/io.h                     |   30 +
 drivers/usb/gadget/epautoconf.c            |    4 +
 drivers/usb/gadget/gadget_chips.h          |    7 +
 drivers/usb/gadget/udc/Makefile            |    1 +
 drivers/usb/gadget/udc/udc-core.c          |   23 +
 drivers/usb/host/Kconfig                   |    9 +
 drivers/usb/host/Makefile                  |    1 +
 drivers/usb/host/xhci-imx8.c               |  201 ++
 include/linux/usb/gadget.h                 |    5 +
 scripts/Makefile.spl                       |    1 +
 27 files changed, 3825 insertions(+)
 create mode 100644 doc/device-tree-bindings/usb/cdns-usb3.txt
 create mode 100644 drivers/phy/cdns3-usb-phy.c
 create mode 100644 drivers/usb/cdns3/Kconfig
 create mode 100644 drivers/usb/cdns3/Makefile
 create mode 100644 drivers/usb/cdns3/cdns3-generic.c
 create mode 100644 drivers/usb/cdns3/cdns3-nxp-reg-def.h
 create mode 100644 drivers/usb/cdns3/core.c
 create mode 100644 drivers/usb/cdns3/core.h
 create mode 100644 drivers/usb/cdns3/dev-regs-macro.h
 create mode 100644 drivers/usb/cdns3/dev-regs-map.h
 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/io.h
 create mode 100644 drivers/usb/host/xhci-imx8.c

-- 
2.17.1



More information about the U-Boot mailing list