forked from len0rd/rockbox
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
This commit is contained in:
parent
04f9aa8e55
commit
4b18976496
1 changed files with 5 additions and 5 deletions
|
|
@ -274,13 +274,8 @@ void lcd_enable(bool yesno)
|
||||||
|
|
||||||
if ((is_lcd_enabled = 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_STANDBY_OFF, 0);
|
||||||
lcd_send_command(R_DISPLAY_ON, 0);
|
lcd_send_command(R_DISPLAY_ON, 0);
|
||||||
#endif
|
|
||||||
send_event(LCD_EVENT_ACTIVATION, NULL);
|
send_event(LCD_EVENT_ACTIVATION, NULL);
|
||||||
}
|
}
|
||||||
else
|
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(R_Y_ADDR_AREA, y + 0x1a);
|
||||||
lcd_send_command(y + height - 1 + 0x1a, 0);
|
lcd_send_command(y + height - 1 + 0x1a, 0);
|
||||||
|
|
||||||
|
#ifdef SANSA_C200V2
|
||||||
|
/* somehow there are glitches without this delay */
|
||||||
|
udelay(1);
|
||||||
|
#endif
|
||||||
|
|
||||||
do {
|
do {
|
||||||
lcd_write_data(addr, width);
|
lcd_write_data(addr, width);
|
||||||
addr += LCD_WIDTH;
|
addr += LCD_WIDTH;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue