After earlier attempts[1] at submitting somewhat hackish fixes to the dwc2 driver, I realized the core issue seemed to be the overly simplistic phy driver.
I've connected the phy-hi6220-usb.c driver to extcon so it now gets connection and disconnection signals on the usb gadget cable. And I modified the driver so it registers a usb-phy and calls usb_gadget_vbus_connect/disconnect() appropriately. Unfortunately this doesn't quite work with the dwc2 driver, so I've hacked that driver to allow it to function. With these changes, while likely not correct, things function well, and I was able to drop two of the hackish fixups from the earlier set. I still needed one patch to keep the usb bus from suspending while in gadget mode, so I've included that in this series. [1]: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1272880.html Feedback and guidance would be greatly appreciated! thanks -john Cc: Wei Xu <xuw...@hisilicon.com> Cc: Guodong Xu <guodong...@linaro.org> Cc: Amit Pundir <amit.pun...@linaro.org> Cc: Rob Herring <robh...@kernel.org> Cc: John Youn <johny...@synopsys.com> Cc: Douglas Anderson <diand...@chromium.org> Cc: Chen Yu <cheny...@huawei.com> Cc: Kishon Vijay Abraham I <kis...@ti.com> Cc: Felipe Balbi <felipe.ba...@linux.intel.com> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> Cc: linux-usb@vger.kernel.org John Stultz (3): phy: phy-hi6220-usb: Wire up extconn support to hikey's phy driver HACK: dwc2: force dual use of uphy and phy usb: dwc2: Avoid suspending if we're in gadget mode arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 11 +++ drivers/phy/Kconfig | 2 + drivers/phy/phy-hi6220-usb.c | 139 ++++++++++++++++++++++++++++++ drivers/usb/dwc2/hcd.c | 3 + drivers/usb/dwc2/platform.c | 4 +- 5 files changed, 157 insertions(+), 2 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html