diff options
author | Nils Wallménius <nils@rockbox.org> | 2008-05-05 12:37:42 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2008-05-05 12:37:42 +0000 |
commit | 90a4a434308aa4c4303c09ee36812dcf7c43df6a (patch) | |
tree | c1d6d44f39c0c98c90a095bed3967fdd1f42715a /firmware | |
parent | 536d2feedb5c07f1dbe88020fde06a6354a5e405 (diff) | |
download | rockbox-90a4a434308aa4c4303c09ee36812dcf7c43df6a.tar.gz rockbox-90a4a434308aa4c4303c09ee36812dcf7c43df6a.zip |
Alarm wake up support for Gigabeat S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17376 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/export/config-gigabeat-s.h | 3 | ||||
-rw-r--r-- | firmware/export/mc13783.h | 1 | ||||
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/mc13783-imx31.c | 3 |
3 files changed, 7 insertions, 0 deletions
diff --git a/firmware/export/config-gigabeat-s.h b/firmware/export/config-gigabeat-s.h index c1b7f93c89..68cc9160ff 100644 --- a/firmware/export/config-gigabeat-s.h +++ b/firmware/export/config-gigabeat-s.h | |||
@@ -48,6 +48,9 @@ | |||
48 | /* define this if you have a real-time clock */ | 48 | /* define this if you have a real-time clock */ |
49 | #define CONFIG_RTC RTC_MC13783 | 49 | #define CONFIG_RTC RTC_MC13783 |
50 | 50 | ||
51 | /* Define if the device can wake from an RTC alarm */ | ||
52 | #define HAVE_RTC_ALARM | ||
53 | |||
51 | /* Define this for LCD backlight available */ | 54 | /* Define this for LCD backlight available */ |
52 | #define HAVE_BACKLIGHT | 55 | #define HAVE_BACKLIGHT |
53 | 56 | ||
diff --git a/firmware/export/mc13783.h b/firmware/export/mc13783.h index bb9cf589aa..61d7b37a1c 100644 --- a/firmware/export/mc13783.h +++ b/firmware/export/mc13783.h | |||
@@ -277,5 +277,6 @@ int mc13783_write_regset(const unsigned char *regs, const uint32_t *data, int co | |||
277 | uint32_t mc13783_read(unsigned address); | 277 | uint32_t mc13783_read(unsigned address); |
278 | int mc13783_read_multiple(unsigned start, uint32_t *buffer, int count); | 278 | int mc13783_read_multiple(unsigned start, uint32_t *buffer, int count); |
279 | int mc13783_read_regset(const unsigned char *regs, uint32_t *buffer, int count); | 279 | int mc13783_read_regset(const unsigned char *regs, uint32_t *buffer, int count); |
280 | void mc1378_alarm_start(void); | ||
280 | 281 | ||
281 | #endif /* _MC13783_H_ */ | 282 | #endif /* _MC13783_H_ */ |
diff --git a/firmware/target/arm/imx31/gigabeat-s/mc13783-imx31.c b/firmware/target/arm/imx31/gigabeat-s/mc13783-imx31.c index 8f504746c3..20a54c5bb4 100644 --- a/firmware/target/arm/imx31/gigabeat-s/mc13783-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/mc13783-imx31.c | |||
@@ -66,6 +66,9 @@ static __attribute__((noreturn)) void mc13783_interrupt_thread(void) | |||
66 | 66 | ||
67 | gpio_enable_event(MC13783_GPIO_NUM, MC13783_EVENT_ID); | 67 | gpio_enable_event(MC13783_GPIO_NUM, MC13783_EVENT_ID); |
68 | 68 | ||
69 | if (pending[1] & MC13783_TODA) /* only needs to be polled on startup */ | ||
70 | mc1378_alarm_start(); | ||
71 | |||
69 | /* Check initial states for events with a sense bit */ | 72 | /* Check initial states for events with a sense bit */ |
70 | value = mc13783_read(MC13783_INTERRUPT_SENSE0); | 73 | value = mc13783_read(MC13783_INTERRUPT_SENSE0); |
71 | usb_set_status(value & MC13783_USB4V4); | 74 | usb_set_status(value & MC13783_USB4V4); |