Y-cable and USB-OTG: mutually exclusive
joerg at openmoko.org
joerg at openmoko.org
Tue Apr 29 03:23:11 CEST 2008
For GTA02 in USB host mode with peripheral attached, our solution for feeding
power to our device (and peripheral) was: switch hardware of GTA02 to USB
device mode, thus enabling the power path from USB connector via U4905 to PMU
PCF50633 and from there to whole device, en passant by same GPIO disabling
the 5V-chargepump that would power he USB from GTA's battery. On
logical/protocol side we stay in host mode, and we use a special
3-headed "Y-cable" to feed the 5V from external power supply (=charger) to
the +5V Vusb and GND of the connection between GTA02 (host) and any device,
thus feeding both with power.
Now according to
http://www.usb.org/developers/docs/USB_OTG_1-3.pdf §5.3.5,
for GTA04 with USB-OTG it seems the Y-cable solution from GTA02 conflicts with
the way that USB-OTG is using the Vusb power line from host to device in a
way that's nearly some weird dataline. Especially both devices need to be
able to power down (and power up) the Vbus line in very specific manner to
detect the capacitor size(!!! my god!) of the attached remote USB device.
Using the Y-cable approach breaks this scheme as well as some additional
handshaking done via Vusb by USB-OTG.
So to supply power to GTA04 - and to peripheral while still not draining
GTA04's battery - while USB is connected to some USB-OTG-peripheral device
(host mode with external power), it seems the best (and only) way this can be
done is to have some dedicated non-usb power connector available at GTA04.
This could be a very small coax-power connector that doesn't take up more
space than we gained bay changing from mini to micro USB. Additional
circuitry isn't worth mentioning, depending on PMU this may be as simple as 2
schottky diodes, or maybe a FET.
Additional benefit: we may open up the possibility to use a huge new class of
power supplies (virtually every usual multi-pupose supply!) while still
keeping our USB-charger abilities.
Main impact: plan for housing outlet for the connector NOW.
Another way to cope with this issue might be to disable the OTG functions
completely, so they don't interfere with power feed trough USB any more, or
maybe think of some cute scheme to do this only when external power is
applied.
Most undesirable option would be to disallow external power at all while in
hostmode.
/jOERG
More information about the hardware
mailing list