Re: [PATCH 10/15] usb: musb: Don't set d+ high before enable for 2430 glue layer

Tony Lindgren
2016-05-16T15:45:59Z

* Bin Liu <b-liu-l0cyMroinI0@public.gmane.org> [160516 08:24]:
> Hi,
>
> On Mon, May 16, 2016 at 07:57:57AM -0700, Tony Lindgren wrote:
> > * Bin Liu <b-liu-l0cyMroinI0@public.gmane.org> [160516 07:17]:
> > > Hi,
> > >
> > > On Sat, May 14, 2016 at 04:30:32PM +0300, Sergei Shtylyov wrote:
> > > > On 5/14/2016 12:03 AM, Bin Liu wrote:
> > > >
> > > > >>At least 2430 glue layer pulls d+ high on start up even if there are
> > > > >>no gadgets configured. This is bad at least for anything using a separate
> > > > >>battery charger chip as it can confuse the charger detection.
> > > > >>
> > > > >>Let's fix the issue by getting rid of omap2430_musb_set_mode() and only
> > > > >
> > > > >By doing so, you lost the feature of switching mode from sysfs, I am not
> > > > >sure if there is anyone using it though, still, it is a regression.
> > > >
> > > > BTW, set_mode() implemented in the OMAP glue always seemed bogus to me.
> > > > Instead of forcing host/gadget/OTG modes, it sets the Session bit...
> > >
> > > Setting the session bit here seems to be okay. Other glues rely
> > > otg_timer() instead.
> >
> > Looks like host mode starts just fine without writing to session bit
> > for 2430 glue. Let's just remove it, I'll send an updated patch shortly.
>
> So setting host mode in sysfs also works without writting to session
> bit? If so, yeah, we can remove it.

Testing with USB-B cable with ID floating, host mode is not starting
for me with or without omap2430_musb_set_mode. Things work just fine
using USB-A cable with ID grounded. So yeah, this code seems bogus as
Sergei pointed out.

Regards,

Tony