mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-29 18:11:05 +00:00
The high speed clock does not run when cr50 is in sleep. The low speed timers do run in sleep and deep sleep. This change modifies the hwtimer to use the low speed timers instead of the high speed ones. With this change the system timer frequency is reduced and will only tick once every 4 mircoseconds. Now the system will resume from sleep whenever an event is scheduled, but still wont resume from deep sleep. BUG=chromium:635620 BRANCH=none TEST=manual Disable sleep add a function that prints something every second. Verify the rollover works at ~4295s. Change the system time using force_time. Re-enable sleep and reduce the sleep delays in board/cr50/board.c and chip/g/idle.ci so cr50 will go to sleep more quickly. Verify the rollover and changing system time works. check that cr50 can go into deep sleep and that the print statement wont wake it up. Put the system into deep sleep. Use a wake pin to make it resume. Verify it can be put back into deep sleep without the wakepin interrupt constantly triggering. Change-Id: I70bbc9312cd172661de53334d256949ebab6b5e9 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/376800