From 9e86287946517e06893f4950d45d60056c00d9e7 Mon Sep 17 00:00:00 2001 From: Bertrik Sikken Date: Sun, 27 Jun 2010 16:39:50 +0000 Subject: Sansa clip+: prevent an unnecessary OF database refresh when using the wake-up alarm with a uSD card inserted (probably works for other AMSv2 targets too) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27158 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/rtc/rtc_as3514.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'firmware') diff --git a/firmware/drivers/rtc/rtc_as3514.c b/firmware/drivers/rtc/rtc_as3514.c index f2716e52e8..81137bda14 100644 --- a/firmware/drivers/rtc/rtc_as3514.c +++ b/firmware/drivers/rtc/rtc_as3514.c @@ -99,6 +99,9 @@ void rtc_alarm_poweroff(void) seconds >>= 8; seconds |= 1<<7; /* enable bit */ ascodec_write(AS3543_WAKEUP, seconds); + + /* write 0x80 to prevent the OF refreshing its database from the microSD */ + ascodec_write(AS3543_WAKEUP, 0x80); /* write our desired time of wake up to detect power-up from RTC */ ascodec_write(AS3543_WAKEUP, wakeup_h); @@ -127,6 +130,9 @@ bool rtc_check_alarm_started(bool release_alarm) ascodec_read(AS3543_WAKEUP); /* bits 15:8 */ if(!(ascodec_read(AS3543_WAKEUP) & (1<<7))) /* enable bit */ return false; + + /* skip WAKEUP[3] which the OF uses for other purposes */ + ascodec_read(AS3543_WAKEUP); /* subsequent reads give the 16 bytes static SRAM */ wakeup_h = ascodec_read(AS3543_WAKEUP); -- cgit