summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorJörg Hohensohn <hohensoh@rockbox.org>2004-12-18 10:29:47 +0000
committerJörg Hohensohn <hohensoh@rockbox.org>2004-12-18 10:29:47 +0000
commitfee861747999d358e9f5f58841697c09c9ea9b4f (patch)
treeffd51ea2ca9aa7fd0e330fec6fde384d925e9e13 /firmware
parent417753da7d9e128971bd0032d56b495845c1c805 (diff)
downloadrockbox-fee861747999d358e9f5f58841697c09c9ea9b4f.tar.gz
rockbox-fee861747999d358e9f5f58841697c09c9ea9b4f.tar.bz2
rockbox-fee861747999d358e9f5f58841697c09c9ea9b4f.zip
multiple choice configuration CONFIG_BACKLIGHT instead of HAVE_BACKLIGHT, allows better control of how to do this per model
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5491 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/backlight.c38
-rw-r--r--firmware/export/config-fmrecorder.h2
-rw-r--r--firmware/export/config-h100.h2
-rw-r--r--firmware/export/config-player.h2
-rw-r--r--firmware/export/config-recorder.h2
-rw-r--r--firmware/export/config-recorderv2.h2
-rw-r--r--firmware/export/config.h6
7 files changed, 29 insertions, 25 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c
index fea22a06a4..de3ebe3e05 100644
--- a/firmware/backlight.c
+++ b/firmware/backlight.c
@@ -28,7 +28,7 @@
#include "power.h"
#include "system.h"
-#ifdef HAVE_BACKLIGHT
+#ifdef CONFIG_BACKLIGHT
const char backlight_timeout_value[19] =
{
@@ -51,30 +51,30 @@ static unsigned int backlight_timeout = 5;
static void __backlight_off(void)
{
-#ifdef IRIVER_H100
+#if CONFIG_BACKLIGHT == BL_IRIVER
GPIO1_OUT |= 0x00020000;
-#else
-#ifdef HAVE_RTC
+#elif CONFIG_BACKLIGHT == BL_RTC
/* Disable square wave */
rtc_write(0x0a, rtc_read(0x0a) & ~0x40);
-#else
- and_b(~0x40, &PAIORH);
-#endif
+#elif CONFIG_BACKLIGHT == BL_PA14_LO /* Player */
+ and_b(~0x40, &PAIORH); /* let it float (up) */
+#elif CONFIG_BACKLIGHT == BL_PA14_HI /* Ondio */
+ and_b(~0x40, &PADRH); /* drive it low */
#endif
}
static void __backlight_on(void)
{
-#ifdef IRIVER_H100
+#if CONFIG_BACKLIGHT == BL_IRIVER
GPIO1_OUT &= ~0x00020000;
-#else
-#ifdef HAVE_RTC
+#elif CONFIG_BACKLIGHT == BL_RTC
/* Enable square wave */
rtc_write(0x0a, rtc_read(0x0a) | 0x40);
-#else
- and_b(~0x40, &PADRH);
+#elif CONFIG_BACKLIGHT == BL_PA14_LO /* Player */
+ and_b(~0x40, &PADRH); /* drive an set low */
or_b(0x40, &PAIORH);
-#endif
+#elif CONFIG_BACKLIGHT == BL_PA14_HI /* Ondio */
+ or_b(0x40, &PADRH); /* drive it high */
#endif
}
@@ -187,15 +187,13 @@ void backlight_init(void)
create_thread(backlight_thread, backlight_stack,
sizeof(backlight_stack), backlight_thread_name);
-#ifdef HAVE_LCD_CHARCELLS
+#if CONFIG_BACKLIGHT == BL_IRIVER
+ GPIO1_ENABLE |= 0x00020000;
+ GPIO1_FUNCTION |= 0x00020000;
+#elif CONFIG_BACKLIGHT == BL_PA14_LO || CONFIG_BACKLIGHT == BL_PA14_HI
PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */
or_b(0x40, &PAIORH); /* ..and output */
#endif
-
-#ifdef IRIVER_H100
- GPIO1_ENABLE |= 0x00020000;
- GPIO1_FUNCTION |= 0x00020000;
-#endif
backlight_on();
}
@@ -210,5 +208,5 @@ void backlight_set_timeout(int index) {(void)index;}
bool backlight_get_on_when_charging(void) {return 0;}
void backlight_set_on_when_charging(bool yesno) {(void)yesno;}
-#endif /* #ifdef HAVE_BACKLIGHT */
+#endif /* #ifdef CONFIG_BACKLIGHT */
diff --git a/firmware/export/config-fmrecorder.h b/firmware/export/config-fmrecorder.h
index 0903e66c6d..c20c36ea43 100644
--- a/firmware/export/config-fmrecorder.h
+++ b/firmware/export/config-fmrecorder.h
@@ -71,7 +71,7 @@
#define HAVE_LED
/* Define this for LCD backlight available */
-#define HAVE_BACKLIGHT
+#define CONFIG_BACKLIGHT BL_RTC /* on I2C controlled RTC port */
/* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF
diff --git a/firmware/export/config-h100.h b/firmware/export/config-h100.h
index 9e56aa2c59..405e839dd5 100644
--- a/firmware/export/config-h100.h
+++ b/firmware/export/config-h100.h
@@ -25,7 +25,7 @@
#define ROM_START 0x11010
/* Define this for LCD backlight available */
-#define HAVE_BACKLIGHT
+#define CONFIG_BACKLIGHT BL_IRIVER /* port controlled */
/* Define this to the CPU frequency */
#define CPU_FREQ 11289600
diff --git a/firmware/export/config-player.h b/firmware/export/config-player.h
index 5a8f080669..6ef61234ad 100644
--- a/firmware/export/config-player.h
+++ b/firmware/export/config-player.h
@@ -64,6 +64,6 @@
#define HAVE_LED
/* Define this for LCD backlight available */
-#define HAVE_BACKLIGHT
+#define CONFIG_BACKLIGHT BL_PA14_LO /* port PA14, low active */
#endif /* SIMULATOR */
diff --git a/firmware/export/config-recorder.h b/firmware/export/config-recorder.h
index eefe5e371b..79fd116d4f 100644
--- a/firmware/export/config-recorder.h
+++ b/firmware/export/config-recorder.h
@@ -65,7 +65,7 @@
#define HAVE_LED
/* Define this for LCD backlight available */
-#define HAVE_BACKLIGHT
+#define CONFIG_BACKLIGHT BL_RTC /* on I2C controlled RTC port */
/* Define this for S/PDIF output available */
#define HAVE_SPDIF_OUT
diff --git a/firmware/export/config-recorderv2.h b/firmware/export/config-recorderv2.h
index 575a88fd7c..028a27095c 100644
--- a/firmware/export/config-recorderv2.h
+++ b/firmware/export/config-recorderv2.h
@@ -71,7 +71,7 @@
#define HAVE_LED
/* Define this for LCD backlight available */
-#define HAVE_BACKLIGHT
+#define CONFIG_BACKLIGHT BL_RTC /* on I2C controlled RTC port */
/* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF
diff --git a/firmware/export/config.h b/firmware/export/config.h
index cda5c8cee7..7c0e285bbe 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -46,6 +46,12 @@
#define BATT_4AA_NIMH 1500
#define BATT_3AAA_ALKALINE 1000
+/* CONFIG_BACKLIGHT */
+#define BL_PA14_LO 0 /* Player, PA14 low active */
+#define BL_RTC 1 /* Recorder, RTC square wave output */
+#define BL_PA14_HI 2 /* Ondio, PA14 high active */
+#define BL_IRIVER 3 /* IRiver GPIO */
+
/* now go and pick yours */
#if defined(ARCHOS_PLAYER)
#include "config-player.h"