summaryrefslogtreecommitdiff
path: root/drivers/rtc
diff options
context:
space:
mode:
authorWenyou Yang <wenyou.yang@atmel.com>2015-10-12 11:39:23 +0300
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>2015-11-08 16:12:28 +0300
commit921372bf5a7c03a05de25a083b852c6b5d9d97a7 (patch)
tree0b26984c93adea102634fe4c109c7188297986e3 /drivers/rtc
parent3cfcb50b48029d84038208a98d1b85ad0dfa8172 (diff)
downloadlinux-921372bf5a7c03a05de25a083b852c6b5d9d97a7.tar.xz
rtc: at91rm9200: clear RTC alarm status flag prior to suspending
As said in the SAMA5D2 datasheet, "Prior to instructing the device to enter ULP mode 1, ... and the internal sources of wake-up must be cleared." This patch is to clear the RTC alarm status flag prior to suspending to avoid the erroneous wake-up activity, as it is often used as the wake-up source for the ULP mode 1. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/rtc-at91rm9200.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c
index cb62e214b52a..b60fd477778f 100644
--- a/drivers/rtc/rtc-at91rm9200.c
+++ b/drivers/rtc/rtc-at91rm9200.c
@@ -495,6 +495,8 @@ static int at91_rtc_suspend(struct device *dev)
/* this IRQ is shared with DBGU and other hardware which isn't
* necessarily doing PM like we are...
*/
+ at91_rtc_write(AT91_RTC_SCCR, AT91_RTC_ALARM);
+
at91_rtc_imr = at91_rtc_read_imr()
& (AT91_RTC_ALARM|AT91_RTC_SECEV);
if (at91_rtc_imr) {