[PATCH v2 0/4] usb: dwc3: dual-role support
From: Roger Quadros
Date: Thu Feb 16 2017 - 08:07:42 EST
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
 dwc3 trivial fixes - https://lkml.org/lkml/2017/2/15/204
- Use extcon device for VBUS/ID events if extcon phandle is present.
- Fix bugs during system suspend/resume.
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(-)