diff options
author | Tobias Diedrich <ranma+coreboot@tdiedrich.de> | 2010-06-27 03:24:56 +0000 |
---|---|---|
committer | Tobias Diedrich <ranma+coreboot@tdiedrich.de> | 2010-06-27 03:24:56 +0000 |
commit | 4b189764961da77f1ada942ca68ddce4acc575e9 (patch) | |
tree | 9dc0b28c3a9af5a9c535675a3b24becc8e3fd117 /firmware/target | |
parent | 04f9aa8e55cd35d48b7d92bf102072cd59982a3d (diff) | |
download | rockbox-4b189764961da77f1ada942ca68ddce4acc575e9.tar.gz 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/target')
-rw-r--r-- | firmware/target/arm/lcd-c200_c200v2.c | 10 |
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) | |||
274 | 274 | ||
275 | if ((is_lcd_enabled = yesno)) | 275 | if ((is_lcd_enabled = yesno)) |
276 | { | 276 | { |
277 | #ifdef SANSA_C200V2 | ||
278 | /* lcd sometimes gets stuck, do full init here */ | ||
279 | lcd_reset(); | ||
280 | #else | ||
281 | lcd_send_command(R_STANDBY_OFF, 0); | 277 | lcd_send_command(R_STANDBY_OFF, 0); |
282 | lcd_send_command(R_DISPLAY_ON, 0); | 278 | lcd_send_command(R_DISPLAY_ON, 0); |
283 | #endif | ||
284 | send_event(LCD_EVENT_ACTIVATION, NULL); | 279 | send_event(LCD_EVENT_ACTIVATION, NULL); |
285 | } | 280 | } |
286 | else | 281 | else |
@@ -418,6 +413,11 @@ void lcd_update_rect(int x, int y, int width, int height) | |||
418 | lcd_send_command(R_Y_ADDR_AREA, y + 0x1a); | 413 | lcd_send_command(R_Y_ADDR_AREA, y + 0x1a); |
419 | lcd_send_command(y + height - 1 + 0x1a, 0); | 414 | lcd_send_command(y + height - 1 + 0x1a, 0); |
420 | 415 | ||
416 | #ifdef SANSA_C200V2 | ||
417 | /* somehow there are glitches without this delay */ | ||
418 | udelay(1); | ||
419 | #endif | ||
420 | |||
421 | do { | 421 | do { |
422 | lcd_write_data(addr, width); | 422 | lcd_write_data(addr, width); |
423 | addr += LCD_WIDTH; | 423 | addr += LCD_WIDTH; |