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 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html