From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramon Fried Date: Fri, 21 Sep 2018 13:35:53 +0300 Subject: [U-Boot] [PATCH v2 11/14] usb: ehci-msm: Add init_after_reset for CI_UDC In-Reply-To: <20180921103555.16240-1-ramon.fried@gmail.com> References: <20180921103555.16240-1-ramon.fried@gmail.com> Message-ID: <20180921103555.16240-12-ramon.fried@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- Changes in v2: None drivers/usb/host/ehci-msm.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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", }, { } -- 2.18.0