[PATCH 2/2] USB: musb: omap2430: add mode change from A to B
kanru at 0xlab.org
Fri Jul 23 00:38:28 EDT 2010
On Thu, 22 Jul 2010 19:40:44 +0300, Felipe Balbi <me at felipebalbi.com> wrote:
> On 07/22/2010 06:16 PM, Kan-Ru Chen wrote:
> > Just curious about how to do this in a more automatic way.
> > I think setup a daemon to monitor the musb_hdrc mode and try to alter
> > it's state via sysfs interface will work, but it may be error prone and
> > not always desirable solution.
> > Can we query the id pin state periodically in the kernel and change to
> > corresponding role?
> the transceiver has an interrupt for id pin changes. You can use that
> instead of polling.
Thanks, I see.
The twl4030_usb transceiver did get the id pin chanegs
<7>twl4030_usb twl4030_usb: HW_CONDITIONS 0x50/80; link 1
<7>twl4030_usb twl4030_usb: HW_CONDITIONS 0x54/84; link 3
So the problem is when OTG enter a_host mode then disconnected, it
becomes idle. Plug the peripheral device back would not trigger new
session unless I do "echo otg > /sys/devices/platform/musb_hdrc/mode"
More information about the linux-arm-kernel