summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ryabinin <ryabinin.a.a@gmail.com>2013-02-16 18:10:15 +0400
committerAndrew Ryabinin <ryabinin.a.a@gmail.com>2013-02-16 18:21:36 +0400
commit3fd11c370e91b1dcd762743fb5ed6b12001c0de7 (patch)
treee3c1a2bd107d24d5ad832b1781bfb2e854f4a010
parent527b1885a14d8f624a5ab38e9b9e977c525fa691 (diff)
downloadrockbox-3fd11c370e91b1dcd762743fb5ed6b12001c0de7.tar.gz
rockbox-3fd11c370e91b1dcd762743fb5ed6b12001c0de7.zip
hm60x: Fix white screen bug.bootloader_hifimanhm60x_v4
Lcd should be reseted after power is supplied. Change-Id: I2a47ffb7d9b20d9ef2ad90aee15f4ada2fdd7f2e
-rw-r--r--firmware/target/arm/rk27xx/lcd-hifiman.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/firmware/target/arm/rk27xx/lcd-hifiman.c b/firmware/target/arm/rk27xx/lcd-hifiman.c
index 1c42921a42..58f957b613 100644
--- a/firmware/target/arm/rk27xx/lcd-hifiman.c
+++ b/firmware/target/arm/rk27xx/lcd-hifiman.c
@@ -30,6 +30,15 @@
30 30
31static bool display_on = false; 31static bool display_on = false;
32 32
33static void reset_lcd(void)
34{
35 GPIO_PCCON |= (1<<7);
36 GPIO_PCDR &= ~(1<<7);
37 udelay(10);
38 GPIO_PCDR |= (1<<7);
39 udelay(5000);
40}
41
33void lcd_v1_display_init(void) 42void lcd_v1_display_init(void)
34{ 43{
35 unsigned int x, y; 44 unsigned int x, y;
@@ -286,6 +295,7 @@ static void lcd_v2_update_rect(int x, int y, int width, int height)
286 295
287void lcd_display_init(void) 296void lcd_display_init(void)
288{ 297{
298 reset_lcd();
289 identify_lcd(); 299 identify_lcd();
290 if (lcd_type == LCD_V1) 300 if (lcd_type == LCD_V1)
291 lcd_v1_display_init(); 301 lcd_v1_display_init();
@@ -323,6 +333,7 @@ void lcd_update_rect(int x, int y, int width, int height)
323 333
324void lcd_display_init(void) 334void lcd_display_init(void)
325{ 335{
336 reset_lcd();
326 lcd_v1_display_init(); 337 lcd_v1_display_init();
327} 338}
328 339