diff options
author | Andrew Ryabinin <ryabinin.a.a@gmail.com> | 2013-02-16 18:10:15 +0400 |
---|---|---|
committer | Andrew Ryabinin <ryabinin.a.a@gmail.com> | 2013-02-16 18:21:36 +0400 |
commit | 3fd11c370e91b1dcd762743fb5ed6b12001c0de7 (patch) | |
tree | e3c1a2bd107d24d5ad832b1781bfb2e854f4a010 | |
parent | 527b1885a14d8f624a5ab38e9b9e977c525fa691 (diff) | |
download | rockbox-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.c | 11 |
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 | ||
31 | static bool display_on = false; | 31 | static bool display_on = false; |
32 | 32 | ||
33 | static 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 | |||
33 | void lcd_v1_display_init(void) | 42 | void 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 | ||
287 | void lcd_display_init(void) | 296 | void 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 | ||
324 | void lcd_display_init(void) | 334 | void lcd_display_init(void) |
325 | { | 335 | { |
336 | reset_lcd(); | ||
326 | lcd_v1_display_init(); | 337 | lcd_v1_display_init(); |
327 | } | 338 | } |
328 | 339 | ||