From: Ramon Fried Date: Fri, 21 Sep 2018 10:35:53 +0000 (+0300) Subject: usb: ehci-msm: Add init_after_reset for CI_UDC X-Git-Tag: v2018.11-rc1~8 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=246670417cb6f7771f84ec960c0af471eadb6b4d;p=oweals%2Fu-boot.git usb: ehci-msm: Add init_after_reset for CI_UDC MSM uses the chipidea controller IP, however it requires to reinit the phy after controller reset. in EHCI mode there's a dedicated callback for it. In device mode however there's no such callback. Add implementaion of ci_init_after_reset() to implement the above requirement in case CI_UDC driver is used. Signed-off-by: Ramon Fried --- diff --git a/drivers/usb/host/ehci-msm.c b/drivers/usb/host/ehci-msm.c index 00d6bb8231..5c257ccf4d 100644 --- a/drivers/usb/host/ehci-msm.c +++ b/drivers/usb/host/ehci-msm.c @@ -121,6 +121,18 @@ static int ehci_usb_ofdata_to_platdata(struct udevice *dev) return 0; } +#if defined(CONFIG_CI_UDC) +/* Little quirk that MSM needs with Chipidea controller + * Must reinit phy after reset + */ +void ci_init_after_reset(struct ehci_ctrl *ctrl) +{ + struct msm_ehci_priv *p = ctrl->priv; + + generic_phy_reset(&p->phy); +} +#endif + static const struct udevice_id ehci_usb_ids[] = { { .compatible = "qcom,ehci-host", }, { }