mbox series

[RFC,00/14] usb: dwc3: Introduce DWC_usb32

Message ID cover.1576118671.git.thinhn@synopsys.com (mailing list archive)
Headers show
Series usb: dwc3: Introduce DWC_usb32 | expand

Message

Thinh Nguyen Dec. 12, 2019, 2:48 a.m. UTC
This patch series adds support to Synopsys DWC_usb32 controller which is
capable of dual-lane and USB speed up to 40 Gbps. In order to support this new
controller, we need to make a few updates the USB stack and dwc3 driver:

1) dwc3 driver needs to update its IP and revision check. The current scheme
does not support more than 2 controllers.

2) Introduce Lane Speed Mantissa and lane count on the gadget side. Devices
operating in SuperSpeed Plus can refer to gen2x1, gen1x2, or gen2x2.

3) Add a new gadget opts to set the sublink speed for drivers that are
constrained to certain lane count or lane speed mantissa.

4) Add miscellaneous initialization checks for DWC_usb32.


Any review comment is highly appreciated.

Thank you,
Thinh




This patch series depends on the following patches

usb: dwc3: Fix GTXFIFOSIZ.TXFDEP macro name
usb: dwc3: gadget: Properly set maxpacket limit

https://patchwork.kernel.org/cover/11283761/


Thinh Nguyen (14):
  usb: gadget: Add lane count and lsm
  usb: gadget: Add callback to set lane and transfer rate
  usb: composite: Properly report lsm
  usb: dwc3: Implement new id check for DWC_usb32
  usb: dwc3: Update IP checks to support DWC_usb32
  usb: devicetree: dwc3: Add max lane and lsm
  usb: dwc3: gadget: Set lane count and lsm
  usb: dwc3: gadget: Track connected lane count and speed
  usb: dwc3: gadget: Limit the setting of speed
  usb: dwc3: Update HWPARAMS0.MDWIDTH for DWC_usb32
  usb: devicetree: dwc3: Add TRB prefetch count
  usb: dwc3: gadget: Set number of TRB prefetch
  usb: devicetree: dwc3: Add property to disable mult TRB fetch
  usb: dwc3: gadget: Implement disabling of mult TRB fetch

 Documentation/devicetree/bindings/usb/dwc3.txt |   9 ++
 drivers/usb/dwc3/core.c                        |  88 ++++++++----
 drivers/usb/dwc3/core.h                        |  65 ++++++---
 drivers/usb/dwc3/debugfs.c                     |  14 +-
 drivers/usb/dwc3/gadget.c                      | 181 +++++++++++++++++++------
 drivers/usb/dwc3/host.c                        |   2 +-
 drivers/usb/gadget/composite.c                 |  16 ++-
 drivers/usb/gadget/legacy/mass_storage.c       |   2 +
 drivers/usb/gadget/udc/core.c                  |  38 +++++-
 include/linux/usb/composite.h                  |   4 +
 include/linux/usb/gadget.h                     |  15 ++
 11 files changed, 344 insertions(+), 90 deletions(-)