summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-07-25 22:04:03 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-07-25 22:04:03 +0000
commit1cf053982e16a4d1e42e9e129265feef8f2b787c (patch)
treeffbe11a44e976c79bace5fc09b423745dad017a0
parentd731cdd0db2e5e0ba2272f89df47f44348943500 (diff)
downloadrockbox-1cf053982e16a4d1e42e9e129265feef8f2b787c.zip
rockbox-1cf053982e16a4d1e42e9e129265feef8f2b787c.tar.gz
rockbox-1cf053982e16a4d1e42e9e129265feef8f2b787c.tar.bz2
rockbox-1cf053982e16a4d1e42e9e129265feef8f2b787c.tar.xz
Now wakes up the backlight even after a power loss
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1448 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/backlight.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c
index ccdf7a4..442c441 100644
--- a/firmware/backlight.c
+++ b/firmware/backlight.c
@@ -40,6 +40,7 @@ static int backlight_timeout = 5;
void backlight_thread(void)
{
struct event ev;
+ int tmp;
while(1)
{
@@ -51,7 +52,8 @@ void backlight_thread(void)
if(backlight_timer)
{
#ifdef HAVE_RTC
- rtc_write(0x13, 0x10);
+ tmp = rtc_read(0x0a);
+ rtc_write(0x0a, tmp | 0x40); /* Enable square wave */
#else
PADR &= ~0x4000;
#endif
@@ -60,7 +62,8 @@ void backlight_thread(void)
case BACKLIGHT_OFF:
#ifdef HAVE_RTC
- rtc_write(0x13, 0x00);
+ tmp = rtc_read(0x0a);
+ rtc_write(0x0a, tmp & ~0x40); /* Disable square wave */
#else
PADR |= 0x4000;
#endif
@@ -109,7 +112,8 @@ void backlight_tick(void)
void backlight_init(void)
{
#ifdef HAVE_RTC
- rtc_write(0x0a, 0x40); /* Enable square wave */
+ rtc_write(0x13, 0x10); /* 32 kHz swuare wave */
+ rtc_write(0x01, 0x00); /* Clear Stop bit */
#endif
queue_init(&backlight_queue);
create_thread(backlight_thread, backlight_stack,