Re: [PATCH v1 3/3] usb: musb: dsps: handle babble condition for dspsplatform
From: Felipe Balbi
Date: Wed Jun 26 2013 - 04:30:20 EST
Hi,
On Wed, May 29, 2013 at 06:37:04PM +0530, Ravi Babu wrote:
> @@ -428,6 +436,29 @@ static int dsps_musb_exit(struct musb *musb)
> return 0;
> }
>
> +static void dsps_musb_restart(struct musb *musb)
> +{
> + struct device *dev = musb->controller;
> + struct dsps_glue *glue = dev_get_drvdata(dev->parent);
> + const struct dsps_musb_wrapper *wrp = glue->wrp;
> + void __iomem *reg_base = musb->ctrl_base;
> +
> + /* Reset the musb */
> + dsps_writel(reg_base, wrp->control, (1 << wrp->reset));
> + udelay(100);
> +
> + /* Stop the on-chip PHY and its PLL. */
> + usb_phy_vbus_off(musb->xceiv);
> + udelay(100);
> +
> + /* Start the on-chip PHY and its PLL. */
> + usb_phy_vbus_on(musb->xceiv);
> + udelay(100);
> +
> + /* reinit the endpoint fifo table and restart musb */
> + musb_restart(musb);
everything here, except for the glue reset, is generic. The thing is
that I don't really think the IP needs to be reset to recover from
babble.
Babble is a valid error condition, it's not even fatal right.
--
balbi
Attachment:
signature.asc
Description: Digital signature