summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-06-18 11:31:48 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-06-18 11:31:48 +0200
commit522cde428193e8c0df72d6da5688d651b248a95f (patch)
tree5be5b365f7b2ac096c6d87d45b9073f2d4f646ae
parentbsp/atsam: Use proper API (diff)
downloadrtems-522cde428193e8c0df72d6da5688d651b248a95f.tar.bz2
atsam: Enable fast startup via RTC alarm
-rw-r--r--bsps/arm/atsam/start/power-rtc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/bsps/arm/atsam/start/power-rtc.c b/bsps/arm/atsam/start/power-rtc.c
index 313efff220..0b4a80073f 100644
--- a/bsps/arm/atsam/start/power-rtc.c
+++ b/bsps/arm/atsam/start/power-rtc.c
@@ -96,6 +96,7 @@ void atsam_power_handler_rtc_driver(
)
{
atsam_power_data_rtc_driver *rtc_data;
+ rtems_interrupt_level level;
Rtc *rtc = RTC;
rtc_data = (atsam_power_data_rtc_driver *)control->data.arg;
@@ -109,6 +110,11 @@ void atsam_power_handler_rtc_driver(
set_rtc_alarm_interrupt(rtc_data->interval);
break;
case ATSAM_POWER_INIT:
+ /* Enable fast startup via RTC alarm */
+ rtems_interrupt_disable(level);
+ PMC->PMC_FSMR |= PMC_FSMR_RTCAL;
+ rtems_interrupt_enable(level);
+
rtc_alarm_handler(rtc_data);
break;
default: