From a7f2f353f14973571c4f5a917b9ca38206820f05 Mon Sep 17 00:00:00 2001 From: ranma Date: Sun, 27 Jun 2010 03:24:56 +0000 Subject: [PATCH] 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 --- firmware/target/arm/lcd-c200_c200v2.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/firmware/target/arm/lcd-c200_c200v2.c b/firmware/target/arm/lcd-c200_c200v2.c index 858828f88..f82f8a809 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; -- 2.11.4.GIT