diff options
author | Stephen Boyd <stephen.boyd@linaro.org> | 2016-12-29 01:57:06 +0300 |
---|---|---|
committer | Peter Chen <peter.chen@nxp.com> | 2017-01-20 10:27:35 +0300 |
commit | 11893dae63da0f5b251cf7f9a24d64c8ff4771ff (patch) | |
tree | 9978a7acdaff564f565f3b82173d012f19f523a7 /drivers/usb/chipidea/host.c | |
parent | 1b8fc5a5253d593daff68378444f8fc4bc50af1a (diff) | |
download | linux-11893dae63da0f5b251cf7f9a24d64c8ff4771ff.tar.xz |
usb: chipidea: msm: Handle phy power states
The ULPI phy on qcom platforms needs to be initialized and
powered on after a USB reset and before we toggle the run/stop
bit. Otherwise, the phy locks up and doesn't work properly. Hook
the phy initialization into the RESET event and the phy power off
into the STOPPED event.
Acked-by: Peter Chen <peter.chen@nxp.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Diffstat (limited to 'drivers/usb/chipidea/host.c')
-rw-r--r-- | drivers/usb/chipidea/host.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index f884c0877bca..915f3e91586e 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c @@ -90,8 +90,12 @@ static int ehci_ci_reset(struct usb_hcd *hcd) ehci->need_io_watchdog = 0; - if (ci->platdata->notify_event) - ci->platdata->notify_event(ci, CI_HDRC_CONTROLLER_RESET_EVENT); + if (ci->platdata->notify_event) { + ret = ci->platdata->notify_event(ci, + CI_HDRC_CONTROLLER_RESET_EVENT); + if (ret) + return ret; + } ci_platform_configure(ci); |