I've been trying to get the OTG port on my headless embedded OMAP4460 Linux 
system into Host mode for months, with no success (dead port) until yesterday, 
when I learned that loading any gadget driver makes the Host mode accessible by 
pulling the ID line low.  Well, sort of, some of the time, with limited 
reliability under repeated connects/disconnects.

I don't need the Host port until after boot, but I do need it to be a reliable 
host for a single permanently attached slave device (on PCB, non-removable).  I 
don't (yet) need to support dynamic insertion or removal of slave devices, and 
I don't need OTG slave mode (gadgets) at all.  The soldered-on slave device is 
an SMSC LAN7500 USB-GigE chip (smsc75xx driver) used for eth1.  The same device 
is used on my OMAP4 CPU module's USB2 Host interface to provide eth0.  A single 
USB2 interface can't support two GigE interfaces under moderate full-duplex 
traffic conditions (~150 Mbps sustained, in each direction), and adding another 
USB2 host interface isn't practical (I'm using the GPMC pins for other 
purposes), so I really do need the OTG port in Host mode.

Some questions:
- Is the only way to get access to OTG Host mode to first bring it up as a 
gadget (slave port)?  
- Is there any reliable way to force (and lock) an OTG port into Host mode?
- What drivers must be loaded and how should they be initialized?  
- Can initialization be done in userland, or should it be done during boot?  
- Is the OTG Host port best used with a hub between it and a slave device, or 
should a single slave device always be directly connected?  
- Our board design has the OTG ID pin permanently tied to ground: Is this OK, 
or should it be on a GPIO?

I'm looking for a rock-solid recipe, if it exists.  Or is it the case that OTG 
port Host mode is unreliable, is not recommended for industrial use, and should 
best be avoided?  Is this an OMAP4 thing, or does it affect OTG ports in 
general? 

The one thing I can't do (yet) is leave the Linaro/TI Ubuntu 12.04 LTS 
environment that my processor module vendor supports, which means using a 3.4.0 
kernel for now, though I'm willing to apply any patches that will improve OTG 
Host mode access or behavior.


TIA,

-BobC

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

Reply via email to