Hello Peter, The following set of patches are generated after applying your [1]. usb: chipidea: add flag CI_HDRC_DP_ALWAYS_PULLUP usb: chipidea: improve the OTG handler These somewhat work for me but I believe it is slightly racy considering the fact that we use the same extcon for both vbus and ID and that both the notifier functions call ci_irq. Introducing a small delay works but I guess better perhaps would be have the role switch, vbus connect/disconnect in the notifiers themselves but that removes the clear separation currently maintained between core and otg. As such I would have to go with the latter currently. Will something on these lines be acceptable upstream? I tried to keep the changes minimum compared to the first RFC [2] but I am not sure. By the way I fixed two errors which I observed in your patchset. Regards, Sanchayan. [1]. http://www.spinics.net/lists/linux-usb/msg139334.html [2]. RFC v1: https://lkml.org/lkml/2016/3/15/120 Sanchayan Maity (4): usb: chipidea: ci_hdrc_imx: Introduce CI_HDRC_DUAL_ROLE_NOT_OTG for Vybrid usb: chipidea: otg: Do not rely on OTG with CI_HDRC_DUAL_ROLE_NOT_OTG ARM: dts: vfxxx: Make Vybrid match only on it's own compatible string ARM: dts: vf-colibri: USB device/host switch using extcon gpio arch/arm/boot/dts/vf-colibri-eval-v3.dtsi | 12 ++++++++++ arch/arm/boot/dts/vf-colibri.dtsi | 7 ++++++ arch/arm/boot/dts/vfxxx.dtsi | 2 +- drivers/usb/chipidea/ci_hdrc_imx.c | 5 ++++ drivers/usb/chipidea/otg.c | 40 ++++++++++++++++++++++++++----- 5 files changed, 59 insertions(+), 7 deletions(-) -- 2.8.2 -- 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