diff options
Diffstat (limited to 'nuttx/configs')
-rw-r--r-- | nuttx/configs/stm3210e-eval/src/up_idle.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/nuttx/configs/stm3210e-eval/src/up_idle.c b/nuttx/configs/stm3210e-eval/src/up_idle.c index 13c88ee80..5b9f3c9fa 100644 --- a/nuttx/configs/stm3210e-eval/src/up_idle.c +++ b/nuttx/configs/stm3210e-eval/src/up_idle.c @@ -39,17 +39,19 @@ * Included Files ****************************************************************************/ -#include <arch/board/board.h> #include <nuttx/config.h> +#include <debug.h> + #include <nuttx/arch.h> #include <nuttx/clock.h> #include <nuttx/power/pm.h> - -#include <debug.h> #include <nuttx/rtc.h> + #include <arch/irq.h> +#include <arch/board/board.h> + #include "up_internal.h" #include "stm32_pm.h" #include "stm32_rcc.h" @@ -288,7 +290,18 @@ static void up_idlepm(void) if (oldstate == PM_STANDBY) { + /* Re-enable clocking */ + stm32_clockenable(); + + /* The system timer was disabled while in PM_STANDBY or + * PM_SLEEP modes. But the RTC has still be running: Reset + * the system time the current RTC time. + */ + +#ifdef CONFIG_RTC + clock_synchronize(); +#endif } } break; |