From 9771c9c77190910309901ceaf3400b3e2c94a536 Mon Sep 17 00:00:00 2001 From: Thomas Martitz 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 | 73 ++++++++++--------- .../arm/s3c2440/gigabeat-fx/lcd-meg-fx.c | 46 ++++++------ .../target/arm/sandisk/sansa-c200/lcd-c200.c | 2 +- .../creative-zvm/lcd-creativezvm.c | 5 +- firmware/target/coldfire/iaudio/x5/lcd-x5.c | 25 +++---- 8 files changed, 80 insertions(+), 77 deletions(-) diff --git a/firmware/export/config-e200v2.h b/firmware/export/config-e200v2.h index 7e6771cd9e..276fa13903 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 17a34aa8f5..dfd00c3b17 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 7ce446333b..0a2c5985a9 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 5bc2ebc2b3..7b42dfe4d9 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,6 +303,42 @@ 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_off(void) +{ + display_on = false; + + /** Display OFF sequence **/ + /* Per datasheet Rev.1.10, Jun.21.2003, p. 97 */ + + /* EQ1-0=00 already */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=1, REV=x, D1-0=10 */ + lcd_write_reg(R_DISP_CONTROL, 0x0032 | disp_control_rev); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=10 */ + lcd_write_reg(R_DISP_CONTROL, 0x0022 | disp_control_rev); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=0, DTE=0, REV=0, D1-0=00 */ + lcd_write_reg(R_DISP_CONTROL, 0x0000); +} + +#if defined(HAVE_LCD_ENABLE) static void lcd_display_on(void) { /* Be sure power is on first */ @@ -329,30 +366,6 @@ static void lcd_display_on(void) display_on = true; } -static void lcd_display_off(void) -{ - display_on = false; - - /** Display OFF sequence **/ - /* Per datasheet Rev.1.10, Jun.21.2003, p. 97 */ - - /* EQ1-0=00 already */ - - /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=1, REV=x, D1-0=10 */ - lcd_write_reg(R_DISP_CONTROL, 0x0032 | disp_control_rev); - - sleep(HZ/25); /* Wait 2 frames or more */ - - /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=10 */ - lcd_write_reg(R_DISP_CONTROL, 0x0022 | disp_control_rev); - - sleep(HZ/25); /* Wait 2 frames or more */ - - /* PT1-0=00, VLE2-1=00, SPT=0, GON=0, DTE=0, REV=0, D1-0=00 */ - lcd_write_reg(R_DISP_CONTROL, 0x0000); -} - -#if defined(HAVE_LCD_ENABLE) 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 46aac24e60..5b48135ff1 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 922fb9e1ab..69578455ac 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 cd07fa9e6f..5eab75c789 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 105dc43322..190b87547d 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) {