High power consumption after suspending

Norbert Roos n.roos at road.de
Tue Jan 5 12:39:38 EST 2010


Dan Williams wrote:

Thanks for your extensive answer, first of all.

> Any chance you can try to backport the 2.6.32 driver to your kernel (it
> shouldn't be that hard actually, usually just backing out a few cleanup
> patches and such as kernel interfaces change) and see if the deep sleep
> support there will work for you?

Hm, in my understanding, the deep sleep should be entered when the whole 
system is about to suspend, therefore the driver's suspend() function 
should put the device to sleep. Because later will be too late, as the 
processor will go to sleep, too.

But when i look at the 2.6.32 code, the suspend function just sends the 
CMD_802_11_HOST_SLEEP_ACTIVATE to the device and does nothing more 
(concerning the deep sleep).

So, is there anything else that has to be done to put the device to sleep?

> HOST_SLEEP is used to tell the 8686 that the /host/ is going to sleep,
> not to put the chip to sleep.

Ok.

> DEEP_SLEEP should put the chip to sleep, but each bus type has a
> different method of waking the chip up because the bus itself is
> presumably in low-power mode or even off completely.  This is usually a
> GPIO on your specific hardware device that is toggled by your CPU after
> the CPU is awake to wake the SD8686 back up.

You mean toggling the GPIO to wake up only the bus, or the SD8686, too? 
What is the SD8686's pin to wake it up again?


Norbert




More information about the libertas-dev mailing list