From dcf7ceec0a6a768134e193903896b94614ddc713 Mon Sep 17 00:00:00 2001 From: kugel Date: Tue, 17 Mar 2009 04:01:11 +0000 Subject: [PATCH] One more try: Fix remaining reds and yellows git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20335 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/config-e200v2.h | 2 +- firmware/export/config-fuze.h | 2 +- firmware/target/arm/ipod/video/lcd-video.c | 2 +- firmware/target/arm/iriver/h10/lcd-h10_20gb.c | 71 +++++++++++----------- .../target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c | 46 +++++++------- firmware/target/arm/sandisk/sansa-c200/lcd-c200.c | 2 +- .../arm/tms320dm320/creative-zvm/lcd-creativezvm.c | 5 +- firmware/target/coldfire/iaudio/x5/lcd-x5.c | 25 ++++---- 8 files changed, 79 insertions(+), 76 deletions(-) diff --git a/firmware/export/config-e200v2.h b/firmware/export/config-e200v2.h index 7e6771cd9..276fa1390 100644 --- a/firmware/export/config-e200v2.h +++ b/firmware/export/config-e200v2.h @@ -57,8 +57,8 @@ should be defined as well. #define HAVE_LCD_SLEEP #define HAVE_LCD_SLEEP_SETTING -#endif */ +#endif /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-fuze.h b/firmware/export/config-fuze.h index 17a34aa8f..dfd00c3b1 100644 --- a/firmware/export/config-fuze.h +++ b/firmware/export/config-fuze.h @@ -57,8 +57,8 @@ should be defined as well. #define HAVE_LCD_SLEEP #define HAVE_LCD_SLEEP_SETTING -#endif */ +#endif /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/target/arm/ipod/video/lcd-video.c b/firmware/target/arm/ipod/video/lcd-video.c index 7ce446333..0a2c5985a 100644 --- a/firmware/target/arm/ipod/video/lcd-video.c +++ b/firmware/target/arm/ipod/video/lcd-video.c @@ -599,7 +599,7 @@ void lcd_sleep(void) bool lcd_active(void) { - return lcd_state.display; + return lcd_state.display_on; } #ifdef HAVE_LCD_SHUTDOWN diff --git a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c index 5bc2ebc2b..7b42dfe4d 100644 --- a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c +++ b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c @@ -274,6 +274,7 @@ static void lcd_power_on(void) power_on = true; } +#ifdef HAVE_LCD_SLEEP static void lcd_power_off(void) { /* Display must be off first */ @@ -302,32 +303,17 @@ static void lcd_power_off(void) lcd_write_reg(R_POWER_CONTROL1, 0x0000); } -static void lcd_display_on(void) +void lcd_sleep(void) { - /* Be sure power is on first */ - if (!power_on) - lcd_power_on(); - - /** Display ON Sequence **/ - /* Per datasheet Rev.1.10, Jun.21.2003, p. 97 */ - - /* PT1-0=00, VLE2-1=00, SPT=0, GON=0, DTE=0, REV=0, D1-0=01 */ - lcd_write_reg(R_DISP_CONTROL, 0x0001); - - sleep(HZ/25); /* Wait 2 frames or more */ - - /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=01 */ - lcd_write_reg(R_DISP_CONTROL, 0x0021 | disp_control_rev); - /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=11 */ - lcd_write_reg(R_DISP_CONTROL, 0x0023 | disp_control_rev); - - sleep(HZ/25); /* Wait 2 frames or more */ - - /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=1, REV=x, D1-0=11 */ - lcd_write_reg(R_DISP_CONTROL, 0x0033 | disp_control_rev); + if (power_on) + lcd_power_off(); - display_on = true; + /* Set standby mode */ + /* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=1 */ + lcd_write_reg(R_POWER_CONTROL1, 0x0001); } +#endif + static void lcd_display_off(void) { @@ -353,6 +339,33 @@ static void lcd_display_off(void) } #if defined(HAVE_LCD_ENABLE) +static void lcd_display_on(void) +{ + /* Be sure power is on first */ + if (!power_on) + lcd_power_on(); + + /** Display ON Sequence **/ + /* Per datasheet Rev.1.10, Jun.21.2003, p. 97 */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=0, DTE=0, REV=0, D1-0=01 */ + lcd_write_reg(R_DISP_CONTROL, 0x0001); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=01 */ + lcd_write_reg(R_DISP_CONTROL, 0x0021 | disp_control_rev); + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=11 */ + lcd_write_reg(R_DISP_CONTROL, 0x0023 | disp_control_rev); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=1, REV=x, D1-0=11 */ + lcd_write_reg(R_DISP_CONTROL, 0x0033 | disp_control_rev); + + display_on = true; +} + void lcd_enable(bool on) { if (on == display_on) @@ -373,18 +386,6 @@ void lcd_enable(bool on) } #endif -#ifdef HAVE_LCD_SLEEP -void lcd_sleep(void) -{ - if (power_on) - lcd_power_off(); - - /* Set standby mode */ - /* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=1 */ - lcd_write_reg(R_POWER_CONTROL1, 0x0001); -} -#endif - #if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) bool lcd_active(void) { diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c index 46aac24e6..5b48135ff 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c @@ -181,29 +181,6 @@ static void LCD_SPI_stop(void) s3c_regclr32(&CLKCON, 0x40000); /* disable SPI clock */ } -static void LCD_SPI_powerdown(void) -{ - lcd_powered = false; - - LCD_SPI_start(); - LCD_SPI_setreg(0x04, 0x00); - LCD_SPI_stop(); - - reset_LCD(false); /* This makes a big difference on power */ - LCD_CTRL_clock(false); -} - -static void LCD_SPI_powerup(void) -{ - LCD_CTRL_clock(true); - - LCD_SPI_start(); - LCD_SPI_setreg(0x04, 0x01); - LCD_SPI_stop(); - - lcd_powered = true; -} - static void LCD_SPI_init(void) { /* @@ -281,6 +258,18 @@ void lcd_init_device(void) } #if defined(HAVE_LCD_SLEEP) +static void LCD_SPI_powerdown(void) +{ + lcd_powered = false; + + LCD_SPI_start(); + LCD_SPI_setreg(0x04, 0x00); + LCD_SPI_stop(); + + reset_LCD(false); /* This makes a big difference on power */ + LCD_CTRL_clock(false); +} + void lcd_sleep(void) { if (lcd_powered) @@ -295,6 +284,17 @@ void lcd_sleep(void) #endif #if defined(HAVE_LCD_ENABLE) +static void LCD_SPI_powerup(void) +{ + LCD_CTRL_clock(true); + + LCD_SPI_start(); + LCD_SPI_setreg(0x04, 0x01); + LCD_SPI_stop(); + + lcd_powered = true; +} + void lcd_enable(bool state) { if (state == lcd_on) diff --git a/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c b/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c index 922fb9e1a..69578455a 100644 --- a/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c +++ b/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c @@ -196,7 +196,7 @@ void lcd_enable(bool yesno) if (yesno == is_lcd_enabled) return; - if (is_lcd_enabled = yesno) + if ((is_lcd_enabled = yesno)) { lcd_send_command(R_STANDBY_OFF); lcd_send_command(R_DISPLAY_ON); diff --git a/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c index cd07fa9e6..5eab75c78 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c @@ -225,7 +225,7 @@ static void lcd_display_off(void) display_on = false; } - +#ifdef HAVE_LCD_ENABLE void lcd_enable(bool on) { /* Disabled until properly working */ @@ -244,11 +244,14 @@ return; lcd_display_off(); /* Turn off display */ } } +#endif +#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) bool lcd_active(void) { return display_on; } +#endif void lcd_set_direct_fb(bool yes) { diff --git a/firmware/target/coldfire/iaudio/x5/lcd-x5.c b/firmware/target/coldfire/iaudio/x5/lcd-x5.c index 105dc4332..190b87547 100644 --- a/firmware/target/coldfire/iaudio/x5/lcd-x5.c +++ b/firmware/target/coldfire/iaudio/x5/lcd-x5.c @@ -267,6 +267,7 @@ static void lcd_power_on(void) power_on = true; } +#if defined(HAVE_LCD_SLEEP) static void lcd_power_off(void) { /* Display must be off first */ @@ -295,6 +296,17 @@ static void lcd_power_off(void) lcd_write_reg(R_POWER_CONTROL1, 0x0000); } +void lcd_sleep(void) +{ + if (power_on) + lcd_power_off(); + + /* Set standby mode */ + /* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=1 */ + lcd_write_reg(R_POWER_CONTROL1, 0x0001); +} +#endif + static void lcd_display_on(void) { /* Be sure power is on first */ @@ -395,19 +407,6 @@ void lcd_enable(bool on) } #endif - -#if defined(HAVE_LCD_SLEEP) -void lcd_sleep(void) -{ - if (power_on) - lcd_power_off(); - - /* Set standby mode */ - /* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=1 */ - lcd_write_reg(R_POWER_CONTROL1, 0x0001); -} -#endif - #if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) bool lcd_active(void) { -- 2.11.4.GIT