[PATCH 0/4] usb: dwc3: Add dual-role support using OTG core

From: Roger Quadros
Date: Mon Jan 22 2018 - 08:11:41 EST


Hi Felipe,

Some platforms (e.g. TI's AM437x) don't have USB ID pin state available
over GPIO/extcon but need to rely on the DWC3 core's OTG block to
get the ID pin state instead.

This series implements simple dual-role functionality using DWC3's OTG block.
Debugfs 'mode' override is also functional so user can switch
between "otg", "host" or "device" modes for debug.

Although system suspend/resume isn't working yet in mainline for AM437x,
I've tested this series for system suspend/resume using a local tree.

This series depends on [1] and [2]

[1] https://www.mail-archive.com/linux-usb@xxxxxxxxxxxxxxx/msg98771.html

[2] https://www.mail-archive.com/linux-usb@xxxxxxxxxxxxxxx/msg98848.html

Roger Quadros (4):
usb: dwc3: prevent setting PRTCAP to OTG from debugfs
usb: dwc3: core.h: add some register definitions
usb: dwc3: add dual role support using OTG block
ARM: dts: am43xx: Enable dual-role mode for USB1

arch/arm/boot/dts/am437x-gp-evm.dts | 2 +-
arch/arm/boot/dts/am437x-sk-evm.dts | 2 +-
arch/arm/boot/dts/am43x-epos-evm.dts | 2 +-
drivers/usb/dwc3/core.c | 70 ++++-
drivers/usb/dwc3/core.h | 111 ++++++++
drivers/usb/dwc3/drd.c | 492 +++++++++++++++++++++++++++++++++--
6 files changed, 650 insertions(+), 29 deletions(-)

--
cheers,
-roger

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki