Hello,
I've complied the kernel from source code which downloaded from freescale's i.mx51 web site. compiled using ltib, striped the kernel down only to the essentials ( +included all the power management parts).
It seems to work fine,
but when I switch to STOP mode by using : echo mem > /sys/power/state
or WAIT mode by using : echo standby > /sys/power/state
and then pressing the power button to return to RUN mode, I'm getting times which are much higher then expected
for RUN -> STOP -> RUN
"
root@freescale /home/user$ echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
keup
PM: suspend of devices complete after 2.787 msecs
PM: late suspend of devices complete after 0.871 msecs
PM: early resume of devices complete after 0.890 msecs
<6>PWR key pressed
PM: resume of devices complete after 284.410 msecs
Restarting tasks ... done.
"
for RUN -> WAIT -> RUN
"
root@freescale /home/user$ echo standby > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
keup
PM: suspend of devices complete after 2.760 msecs
PM: late suspend of devices complete after 0.872 msecs
PM: early resume of devices complete after 0.691 msecs
<6>PWR key pressed
PM: resume of devices complete after 185.325 msecs
Restarting tasks ... done.
"
According to "i.MX51 EVK Supply Current Measurements" page 17 ("Comparison between Power Consumption and Exit Time in Low Power Modes") the times should be around 115 micro second (and not mili second).
P.S
I found this while searching : [PATCHv2 1/2] ARM: mx51: Implement code to allow mx51 to enter WFI
The subject was different, but this guy got completely different results then I me when returning to RUN from STOP...
I was wondering what might have caused this huge time difference and how could I achieve a return to active time which is in the micro second and not mili second...
Many thanks in advance,