summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorBertrik Sikken <bertrik@sikken.nl>2011-07-20 22:05:16 +0000
committerBertrik Sikken <bertrik@sikken.nl>2011-07-20 22:05:16 +0000
commit2f620b8af336d65a7f48f131b1a78ecb0487de36 (patch)
tree8579b150242b29c7c42aca11eb7b0280e53796c4 /firmware
parent1f728254443cff87ffd4906ec3394e237e723954 (diff)
ipod nano 1g: enable LCD invert
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30182 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/config/ipodnano1g.h3
-rw-r--r--firmware/target/arm/ipod/lcd-color_nano.c11
2 files changed, 12 insertions, 2 deletions
diff --git a/firmware/export/config/ipodnano1g.h b/firmware/export/config/ipodnano1g.h
index e321d070cb..9dba533744 100644
--- a/firmware/export/config/ipodnano1g.h
+++ b/firmware/export/config/ipodnano1g.h
@@ -58,6 +58,9 @@
#define LCD_DEPTH 16 /* 65536 colours */
#define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
/* Define this if the LCD can shut down */
#define HAVE_LCD_SHUTDOWN
diff --git a/firmware/target/arm/ipod/lcd-color_nano.c b/firmware/target/arm/ipod/lcd-color_nano.c
index d7e3beb197..589e8654ae 100644
--- a/firmware/target/arm/ipod/lcd-color_nano.c
+++ b/firmware/target/arm/ipod/lcd-color_nano.c
@@ -66,24 +66,31 @@ static void lcd_cmd_data(unsigned cmd, unsigned data)
/*** hardware configuration ***/
+#ifdef HAVE_LCD_CONTRAST
void lcd_set_contrast(int val)
{
/* TODO: Implement lcd_set_contrast() */
(void)val;
}
+#endif
+#ifdef HAVE_LCD_INVERT
void lcd_set_invert_display(bool yesno)
{
- /* TODO: Implement lcd_set_invert_display() */
- (void)yesno;
+#ifdef IPOD_NANO /* this has only been tested on the ipod nano */
+ lcd_cmd_data(0x07, 0x73 | (yesno ? 0 : (1<<2)));
+#endif
}
+#endif
+#ifdef HAVE_LCD_FLIP
/* turn the display upside down (call lcd_update() afterwards) */
void lcd_set_flip(bool yesno)
{
/* TODO: Implement lcd_set_flip() */
(void)yesno;
}
+#endif
/* LCD init */
void lcd_init_device(void)