[Letux-kernel] [PATCH] phy-twl4030-usb: initialize charging-related stuff via pm_runtime
Tony Lindgren
tony at atomide.com
Wed Aug 24 16:46:39 CEST 2016
* Andreas Kemnade <andreas at kemnade.info> [160824 01:05]:
> On Tue, 23 Aug 2016 15:59:06 -0700
> Tony Lindgren <tony at atomide.com> wrote:
>
> > * Andreas Kemnade <andreas at kemnade.info> [160822 13:10]:
> > > --- a/drivers/phy/phy-twl4030-usb.c
> > > +++ b/drivers/phy/phy-twl4030-usb.c
> > > @@ -469,6 +469,11 @@ static int __maybe_unused
> > > twl4030_usb_runtime_resume(struct device *dev)
> > > (PHY_CLK_CTRL_CLOCKGATING_EN | PHY_CLK_CTRL_CLK32K_EN));
> > >
> > > + twl4030_i2c_access(twl, 1);
> > > + twl4030_usb_set_mode(twl, twl->usb_mode);
> > > + if (twl->usb_mode == T2_USB_MODE_ULPI)
> > > + twl4030_i2c_access(twl, 0);
> > > + mdelay(50);
> > > return 0;
> > > }
> > >
> >
> > Can you check for some register instead of the mdelay?
> >
> I am quoting the TPS65950 TRM here (page 443):
>
> > "The software must set the POWER_CTRL[5] OTG_EN bit to 1 at least 50
> > ms before forcing the BCIMFSTS4[2] USBFASTMCHG bit to 1."
>
> So the answer is: no
Oh OK, can you please add a comment for that to the code for
the delay?
Also, since we're using threaded irq msleep() should work here
instead of mdelay()?
Regards,
Tony
More information about the Letux-kernel
mailing list