diff options
author | Wenyou Yang <wenyou.yang@atmel.com> | 2015-10-12 16:39:23 +0800 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2015-11-08 14:12:28 +0100 |
commit | 921372bf5a7c03a05de25a083b852c6b5d9d97a7 (patch) | |
tree | 0b26984c93adea102634fe4c109c7188297986e3 /drivers/rtc | |
parent | 3cfcb50b48029d84038208a98d1b85ad0dfa8172 (diff) | |
download | linux-stable-921372bf5a7c03a05de25a083b852c6b5d9d97a7.tar.gz linux-stable-921372bf5a7c03a05de25a083b852c6b5d9d97a7.tar.bz2 linux-stable-921372bf5a7c03a05de25a083b852c6b5d9d97a7.zip |
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.c | 2 |
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) { |