Hi Hieu,
In short need to better sequence the power consumption when waking up from deepsleep0.
It's ok to use a GPIO to trigger a wake, but I then need to control another GPIO (let's say, set to high), then wait for a third GPIO (a signal from external source) to go high. Then resume the linux system.
So if I just put the code here:
arm/mach-omap2/pm33xx.c -> am33xx_pm_suspend()
// sleep
ret=cpu_suspend(0,am33xx_do_sram_idle);
// ---> here! where code to run continues after wake...
At this point, power consumption has already jumped from 10mW (DS0) to 500mW ("idle")
Question:
- Are there any tricks (from within linux) to wait for a GPIO to go high before enabling all power-domains full Core-speed etc?
- To me it sounds best to do this in the am335x-pm-firmware.bin a8_wake_ds0_handler. Why do you not recommend this?
David