freerunner: charging and usb-host mutually exclusive?

joerg joerg.twinklephone at
Tue Mar 11 21:41:00 CET 2008

Hi Andy!

Am Di  11. März 2008 schrieb Andy Green:
> - gpg control packet
> Somebody in the thread at some point said:
> > Andy
> >
> >>  Currently the pump that provides 5V for the external device is enabled
> >>  whenever we are in host mode.  I don't know what that thing will do if
> >>  we provide 5V externally too, probably it will be okay but it needs 
> >
> > You wrote "currently". Does that mean with a software change we might
> > turn off the pump and reenable charging while in host mode?
> The situation is that there is only one bit that controls if we are
> physically in host mode (this bit comes out of a PMU GPIO and can be
> controlled by the CPU).

This bit not only controls the power pump and pulldown, but also the U4905 
RT9711BPB power switch for _inbound_ power supply. So for the given 
hw-design, there's no way to have 
the GTA02 powered from outside (this is the point!) 
while in hw-hostmode.

> That same level is used to both enable the pump and to enable 15K
> pulldowns on USB D+ and D-.  So the fate of the 5V generation and these
> pulldowns is one and the same, both active or neither active.
> A nice solution would be if the pump reacted well to getting external 5V
> shoved on it, I will try this later tonight.  If it is okay you can just
> give it 5V externally and the pump will just idle.  If it isn't okay,
> That Would Be Bad (TM).
> Otherwise, the job of the 15K pulldowns in host mode is to detect if you
> have a low speed or high speed device insertion.  I don't know how we
> can detect insertions in a good way if we turned off the pulldowns and
> pump, despite we did provide 5V for the USB device without the pulldowns
>  it won't "see" the insertion.  I guess you could add 15K pulldowns
> permanently if you knew you would only use it in externally-powered-host
> mode but it is a bit sucky.

Well, i understand you suggest to detect insertion of usb-device and high 
speed mode while pulldown on, and then (triggered by some user interaction -  
for we just can't detect the power reverse feed, that is if pump won't smoke) 
switch EN_USBHOST GPIO to disable pump (and pulldown) and enable 
charging/powering the GTA02 via RT9711BPB & PMU, while still keeping logical 
hostmode for the interface.

I'm not sure what the external device will say when pulldown is disabled. And 
i don't know what is the suggested way to detect plugoff of device in this 
mode, maybe loss of external usb power detected by PMU?

Anyway not having external power at all while in logical hostmode seems to be 
a nogo. This has to be solved somehow. 
BTW: all this might be a lot easier with a simple coax type power connector 
for feeding PMU *external_charger* path by a simple classic nokia style wall 
wart - no 1A-usbmode smoking up external host, no 47k-R for charger-ID, no 
special OM-charger... just an additional coax connector and a hole in the 
case. Sigh.

> So we must do the test to find out where we are.

I'm sure the pump won't care, but that's not the point.


More information about the community mailing list