summaryrefslogtreecommitdiff
path: root/firmware/target/arm/lcd-c200_c200v2.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/lcd-c200_c200v2.c')
-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)
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;