[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