summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-27 03:24:56 +0000
committerTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-27 03:24:56 +0000
commit4b189764961da77f1ada942ca68ddce4acc575e9 (patch)
tree9dc0b28c3a9af5a9c535675a3b24becc8e3fd117 /firmware
parent04f9aa8e55cd35d48b7d92bf102072cd59982a3d (diff)
downloadrockbox-4b189764961da77f1ada942ca68ddce4acc575e9.tar.gz
rockbox-4b189764961da77f1ada942ca68ddce4acc575e9.tar.bz2
rockbox-4b189764961da77f1ada942ca68ddce4acc575e9.zip
udelay between command and data write seems to get rid of the display glitches on C200v2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27151 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/lcd-c200_c200v2.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/firmware/target/arm/lcd-c200_c200v2.c b/firmware/target/arm/lcd-c200_c200v2.c
index 858828f88a..f82f8a809e 100644
--- a/firmware/target/arm/lcd-c200_c200v2.c
+++ b/firmware/target/arm/lcd-c200_c200v2.c
@@ -274,13 +274,8 @@ void lcd_enable(bool yesno)
if ((is_lcd_enabled = yesno))
{
-#ifdef SANSA_C200V2
- /* lcd sometimes gets stuck, do full init here */
- lcd_reset();
-#else
lcd_send_command(R_STANDBY_OFF, 0);
lcd_send_command(R_DISPLAY_ON, 0);
-#endif
send_event(LCD_EVENT_ACTIVATION, NULL);
}
else
@@ -418,6 +413,11 @@ void lcd_update_rect(int x, int y, int width, int height)
lcd_send_command(R_Y_ADDR_AREA, y + 0x1a);
lcd_send_command(y + height - 1 + 0x1a, 0);
+#ifdef SANSA_C200V2
+ /* somehow there are glitches without this delay */
+ udelay(1);
+#endif
+
do {
lcd_write_data(addr, width);
addr += LCD_WIDTH;