summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-08-15 19:19:46 +0000
committerJens Arnold <amiconn@rockbox.org>2008-08-15 19:19:46 +0000
commitf0dcb34e8247e0edeca17902140cda32ffeafd0a (patch)
treefc348eea6fb3c362b9c4734789936411b516a6ab
parent9f8654c5e23c69808d2622c5af86e208054caf2e (diff)
downloadrockbox-f0dcb34e8247e0edeca17902140cda32ffeafd0a.tar.gz
rockbox-f0dcb34e8247e0edeca17902140cda32ffeafd0a.zip
Greyscale iPods: Fix the default contrast in the bootloader and the core before settings are loaded. Especially important on 1st..3rd Gen as we're setting up the LCD controller quite a bit different than the OF on those.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18290 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/ipod/lcd-gray.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/firmware/target/arm/ipod/lcd-gray.c b/firmware/target/arm/ipod/lcd-gray.c
index 811e64e96b..0cd04772fe 100644
--- a/firmware/target/arm/ipod/lcd-gray.c
+++ b/firmware/target/arm/ipod/lcd-gray.c
@@ -70,6 +70,16 @@ static void invert_display(void);
#define CONTRAST_REG_H 0x400
+#if defined(IPOD_1G2G)
+#define DEFAULT_CONTRAST 45
+#elif defined(IPOD_3G)
+#define DEFAULT_CONTRAST 55
+#elif defined(IPOD_MINI) || defined(IPOD_MINI2G)
+#define DEFAULT_CONTRAST 42
+#elif defined(IPOD_4G)
+#define DEFAULT_CONTRAST 35
+#endif
+
/* needed for flip */
static int addr_offset;
#if defined(IPOD_MINI) || defined(IPOD_MINI2G)
@@ -135,6 +145,7 @@ void lcd_init_device(void)
/* C waveform, no EOR, 9 lines inversion */
lcd_cmd_and_data(R_POWER_CONTROL, POWER_REG_H | 0xc);
lcd_cmd_and_data(R_DISPLAY_CONTROL, 0x0019);
+ lcd_set_contrast(DEFAULT_CONTRAST);
#ifdef HAVE_BACKLIGHT_INVERSION
invert_display();
#endif
@@ -146,15 +157,7 @@ void lcd_init_device(void)
int lcd_default_contrast(void)
{
-#if defined(IPOD_1G2G)
- return 45;
-#elif defined(IPOD_3G)
- return 55;
-#elif defined(IPOD_MINI) || defined(IPOD_MINI2G)
- return 42;
-#elif defined(IPOD_4G)
- return 35;
-#endif
+ return DEFAULT_CONTRAST;
}
/* Rockbox stores the contrast as 0..63 - we add 64 to it */