[PATCH v2 0/4] usb: dwc3: dual-role support

From: Roger Quadros
Date: Thu Feb 16 2017 - 08:07:42 EST


Hi,

We rely on the OTG controller block or Extcon to provide us with
VBUS and ID line status via an interrupt.

This is then used to switch the controller between host, peripheral
and idle roles based on the following table.

ID VBUS dual-role state
-- ---- ---------------
0 x A_HOST - Host controller active
1 0 B_IDLE - Both Host and Gadget controllers inactive
1 1 B_PERIPHERAL - Gadget controller active

Series depends on
[1] dwc3 trivial fixes - https://lkml.org/lkml/2017/2/15/204

Changelog:
v2:
- Use extcon device for VBUS/ID events if extcon phandle is present.
- Fix bugs during system suspend/resume.

cheers,
-roger

Roger Quadros (4):
usb: dwc3: core.h: add some register definitions
usb: dwc3: omap: don't miss events during suspend/resume
usb: dwc3: add dual-role support
usb: dwc3: Workaround for super-speed host on dra7 in dual-role mode

Documentation/devicetree/bindings/usb/dwc3.txt | 2 +
drivers/usb/dwc3/core.c | 752 ++++++++++++++++++++++++-
drivers/usb/dwc3/core.h | 131 ++++-
drivers/usb/dwc3/dwc3-omap.c | 16 +
drivers/usb/dwc3/gadget.c | 18 +-
5 files changed, 895 insertions(+), 24 deletions(-)

--
2.7.4