[PATCH] introduce-usb-host-power-control.patch

Andy Green andy at openmoko.com
Wed Mar 12 10:23:15 CET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Somebody in the thread at some point said:

>>> Hm... I didn't find any support for this in the kernel... I didn't see
>>> it in U-Boot...  either I missed the point badly or we don't seem to
>>> have tested this?  It seems to work fine anyway.

>> Actually this should be done automatically, again based on id_pin
>> status.

> We still need a /sys node for the "automatic" thread to assert the
> state, well at least if it is a usermode daemon.

This has another dimension to be aware of as well.  A valid (but thus
far not directly supported) usage case is the GTA02 hooked up to a
charger, but folks still want to use the GTA02 USB socket in host mode
while their battery charges.  The big use for this would be a tethered
GTA02 that is always wallsocket powered with a USB peripheral hooked up,
for example.

This can be done but the charging action only works with EN_USBHOST
deasserted, putting us in physical USB device mode, despite we have the
logical CPU USB peripheral in host mode.  (To get correct USB device
insertion/removal detection, you also have to externally add 15K
pulldowns to D+ and D- since we had to defeat ours by deasserting
EN_USBHOST to allow charging at all.  This interface still works for
insertion/removal detect in USB device mode like that with 15K pulldowns
also present at the host, giving effective 7.5K pulldown on D+ and D-).

The situation on ID in this case is that the 48K resistor is seen,
because we have a charger hooked up and we want 1A charging behaviour,
but we also want to be in logical host mode and physical device mode.
So our solution needs to be flexible enough to take care of this one way
or another.

A connected issue that we didn't take care of (because we lack a
holistic power policy for this product) is that on charger detection, we
definitely need to defeat the USB host pump by deasserting EN_USBHOST.
That action also makes the correct behaviour for the
usb-host-external-charging case above.  I will post a little patch in a
minute that does this, feel free to fold into any larger solution.  Hey
I'm going to try to post it with stg mail to get started on that way.

- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFH16EDOjLpvpq7dMoRAnN3AJ9QGxDwBm8XoP/uT4QSxR+KjTHhNACgjFf4
c0JllgPz0OpV67vgMjp8cdI=
=keMT
-----END PGP SIGNATURE-----




More information about the openmoko-kernel mailing list