From 052b5f1da916ac931ea6afebb232839fc913aaba Mon Sep 17 00:00:00 2001 From: Andrew Ryabinin Date: Sat, 23 Jun 2012 22:35:04 +0400 Subject: hm60x: Add support for HM-601 slims with new lcds. Change-Id: I02d5c85e70686c842f1379aba24ff045b260a4ff --- firmware/target/arm/rk27xx/lcd-hifiman.c | 187 +++++++++++++++++++++++++++---- 1 file changed, 167 insertions(+), 20 deletions(-) diff --git a/firmware/target/arm/rk27xx/lcd-hifiman.c b/firmware/target/arm/rk27xx/lcd-hifiman.c index d98ed5a1c3..b97766c840 100644 --- a/firmware/target/arm/rk27xx/lcd-hifiman.c +++ b/firmware/target/arm/rk27xx/lcd-hifiman.c @@ -29,7 +29,7 @@ static bool display_on = false; -static void lcd_display_init(void) +static void lcd_v1_display_init(void) { unsigned int x, y; @@ -108,13 +108,7 @@ static void lcd_display_init(void) display_on = true; } -void lcd_init_device(void) -{ - lcdif_init(LCDIF_16BIT); - lcd_display_init(); -} - -void lcd_enable (bool on) +static void lcd_v1_enable (bool on) { if (on) { @@ -145,32 +139,185 @@ void lcd_enable (bool on) lcd_write_reg(0x21, 0x00); } display_on = on; - } -bool lcd_active() +static void lcd_v1_update_rect(int x, int y, int width, int height) { - return display_on; + int px = x, py = y; + int pxmax = x + width, pymax = y + height; + + lcd_write_reg(0x03, y); + lcd_write_reg(0x05, pymax-1); + lcd_write_reg(0x07, x); + lcd_write_reg(0x09, pxmax-1); + + lcd_cmd(0x22); + + for (px=x; px