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. Roger Quadros (2): usb: dwc3: core.h: add some register definitions usb: dwc3: add dual role support using OTG block drivers/usb/dwc3/core.c | 67 ++++++- drivers/usb/dwc3/core.h | 111 +++++++++++ drivers/usb/dwc3/drd.c | 489 ++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 639 insertions(+), 28 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