[PATCH v4 00/13] usb: dwc2: Add host and gadget driver

Jules Maselbas jmaselbas at kalray.eu
Tue Aug 11 11:16:24 EDT 2020


This patchset add USB host and gadget support for the DWC2 controller.

The host driver is ported from the U-Boot driver (v2018.09-rc3), the
memory map structure from U-Boot has been replaced with read/write
functions and the hardware parameters structure are taken from Linux.

The gadget driver is ported from Linux (5.1-rc6) and only support direct
dma (not descriptor based) and does not support direct buffer although
this could be nice to have.

changes since v3:
 - drop ulpi phy patch
 - add dev->detect callback, will call usb_host_detect in host mode
 - use '%pad' when printing dma_addr_t
 - update commit messages to include version information of original driver
changes since v2:
 - rework timeout handling for networking
 - use usb_register_otg_device
 - rework gadget fifo allocation
 - modified makefile/kconfig for host or gadget only

---

Jules Maselbas (13):
  Revert "usb: Add dwc2 host driver"
  usb: dwc2: Add host controller driver
  usb: dwc2: host: Read dr_mode from device tree
  usb: dwc2: Rework roothub interface
  usb: dwc2: Rework timeout
  usb: dwc2: host: Handle dma mapping errors
  usb: dwc2: host: Dynamic fifo size support from Linux
  usb: dwc2: host: Fix toggle reset
  usb: dwc2: host: Rewrite dwc2_hc_init
  usb: dwc2: Add function to flush tx fifo
  usb: dwc2: Add structure for gadget driver
  usb: dwc2: Add gadget driver
  usb: dwc2: Use register_otg_device

 drivers/usb/Kconfig       |    2 +
 drivers/usb/Makefile      |    1 +
 drivers/usb/dwc2/Kconfig  |   21 +
 drivers/usb/dwc2/Makefile |    2 +
 drivers/usb/dwc2/core.c   |  806 +++++++++++
 drivers/usb/dwc2/core.h   |  562 ++++++++
 drivers/usb/dwc2/dwc2.c   |  117 ++
 drivers/usb/dwc2/dwc2.h   |   46 +
 drivers/usb/dwc2/gadget.c | 2736 +++++++++++++++++++++++++++++++++++++
 drivers/usb/dwc2/host.c   |  790 +++++++++++
 drivers/usb/dwc2/regs.h   |  841 ++++++++++++
 drivers/usb/dwc2/rhub.c   |  384 ++++++
 drivers/usb/host/Kconfig  |    3 -
 drivers/usb/host/Makefile |    1 -
 drivers/usb/host/dwc2.c   | 1132 ---------------
 drivers/usb/host/dwc2.h   |  778 -----------
 16 files changed, 6308 insertions(+), 1914 deletions(-)
 create mode 100644 drivers/usb/dwc2/Kconfig
 create mode 100644 drivers/usb/dwc2/Makefile
 create mode 100644 drivers/usb/dwc2/core.c
 create mode 100644 drivers/usb/dwc2/core.h
 create mode 100644 drivers/usb/dwc2/dwc2.c
 create mode 100644 drivers/usb/dwc2/dwc2.h
 create mode 100644 drivers/usb/dwc2/gadget.c
 create mode 100644 drivers/usb/dwc2/host.c
 create mode 100644 drivers/usb/dwc2/regs.h
 create mode 100644 drivers/usb/dwc2/rhub.c
 delete mode 100644 drivers/usb/host/dwc2.c
 delete mode 100644 drivers/usb/host/dwc2.h

-- 
2.17.1




More information about the barebox mailing list