RE: [PATCH v2 00/11] usb: musb: add back support for host mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Felipe

> Hi,
> 
> On Mon, Apr 08, 2013 at 12:25:38PM +0200, B, Ravi wrote:
> > Daniel
> >
> > > On 08.04.2013 09:57, B, Ravi wrote:
> > > >> Hi all,
> > > >>
> > > >> here are some patches to separate the HCD and gadget part of the
> musb
> > > >> driver so they can be deselected in Kconfig. They also make the
> driver
> > > >> keep track of the configured port mode that is set from DT, so the
> > > >> actual runtime configuration can be selected dynamically.
> > > >>
> > > >> One thing that is still broken is that once pm_suspend() was called
> on
> > > >> a musb device on a USB disconnect, the port won't wake up again
> when a
> > > >> device is plugged back in.
> > > >
> > > > This could be due to SESSION bit removal when root port is
> disconnected
> > > in otg_timer function.
> > >
> > > Not sure if we are thinking about the same details, but after debuging
> > > this a further, turns out that musb_platform_try_idle() eventually
> > > switches off the entire controller, which then leads to DRVBUS going
> low
> > > on the board. That, in turn, prevents the interrupt from being
> triggered
> > > on reconnect, because the host port is not powered anymore.
> > >
> > > I don't know yet how to cope with that, but for now, I simply disabled
> > > the call from musb_stage0_irq() to musb_platform_try_idle() locally.
> >
> > The otg_timer() gets invoked, which removes the session when no device
> > connected to root controller, this is required in otg or dual role
> > mode (Not for host-only mode). Because otg state is un-defined till
> > user's connected a-side of b-side of cable.
> 
> Embedded hosts might also want this to save some power while no devices
> are connected. I guess most of those devices would rely on SRP or on a
> polling method to enable VBUS. 

Yes, in case of true otg, SRP wakesup the device to enable VBUS.

By 'polling' I mean that e.g. every 2
> seconds turn vbus on, if no device are enumerated in 200ms, then sleep
> for another 2 seconds.

Yes, we had this workaround mechanism enabled on some earlier davinci platform by setting the session periodically to check any device connected for host or otg/dual-role controller to save VBUS power when no device connected.

> 
> Or something similar. I know of some products (cellphones) which will
> only switch Vbus on when you open e.g. file manager.
> 

--
Ravi B
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux