1
0
Fork 0
forked from len0rd/rockbox

Fix red. No bother with lcd power management calls in bootloader.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17508 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Sevakis 2008-05-14 20:26:20 +00:00
parent 14698f5a20
commit 41b235dacf
6 changed files with 19 additions and 14 deletions

View file

@ -47,6 +47,7 @@
#define LCD_DEPTH 16 /* 65536 colours */ #define LCD_DEPTH 16 /* 65536 colours */
#define LCD_PIXELFORMAT RGB565 /* rgb565 */ #define LCD_PIXELFORMAT RGB565 /* rgb565 */
#ifndef BOOTLOADER
/* define this if you have LCD enable function */ /* define this if you have LCD enable function */
#define HAVE_LCD_ENABLE #define HAVE_LCD_ENABLE
@ -54,6 +55,7 @@
should be defined as well. */ should be defined as well. */
#define HAVE_LCD_SLEEP #define HAVE_LCD_SLEEP
#define HAVE_LCD_SLEEP_SETTING #define HAVE_LCD_SLEEP_SETTING
#endif
/* define this if you can flip your LCD */ /* define this if you can flip your LCD */
#define HAVE_LCD_FLIP #define HAVE_LCD_FLIP

View file

@ -38,6 +38,7 @@
#define LCD_DEPTH 16 /* 65k colours */ #define LCD_DEPTH 16 /* 65k colours */
#define LCD_PIXELFORMAT RGB565 /* rgb565 */ #define LCD_PIXELFORMAT RGB565 /* rgb565 */
#ifndef BOOTLOADER
/* Define this if your LCD can be enabled/disabled */ /* Define this if your LCD can be enabled/disabled */
#define HAVE_LCD_ENABLE #define HAVE_LCD_ENABLE
@ -47,6 +48,7 @@
/* We don't use a setting but a fixed delay after the backlight has /* We don't use a setting but a fixed delay after the backlight has
* turned off */ * turned off */
#define LCD_SLEEP_TIMEOUT (5*HZ) #define LCD_SLEEP_TIMEOUT (5*HZ)
#endif /* BOOTLOADER */
#define CONFIG_KEYPAD GIGABEAT_PAD #define CONFIG_KEYPAD GIGABEAT_PAD

View file

@ -47,6 +47,7 @@
#define LCD_DEPTH 16 /* 65536 colours */ #define LCD_DEPTH 16 /* 65536 colours */
#define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */ #define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
#ifndef BOOTLOADER
/* Define this if your LCD can be enabled/disabled */ /* Define this if your LCD can be enabled/disabled */
#define HAVE_LCD_ENABLE #define HAVE_LCD_ENABLE
@ -55,6 +56,7 @@
* We can currently put the lcd to sleep but it won't wake up properly */ * We can currently put the lcd to sleep but it won't wake up properly */
#define HAVE_LCD_SLEEP #define HAVE_LCD_SLEEP
#define HAVE_LCD_SLEEP_SETTING #define HAVE_LCD_SLEEP_SETTING
#endif
/* define this if you can flip your LCD */ /* define this if you can flip your LCD */
#define HAVE_LCD_FLIP #define HAVE_LCD_FLIP

View file

@ -59,6 +59,7 @@
#define LCD_REMOTE_PIXELFORMAT VERTICAL_INTERLEAVED #define LCD_REMOTE_PIXELFORMAT VERTICAL_INTERLEAVED
#ifndef BOOTLOADER
/* Define this if your LCD can be enabled/disabled */ /* Define this if your LCD can be enabled/disabled */
#define HAVE_LCD_ENABLE #define HAVE_LCD_ENABLE
@ -66,6 +67,7 @@
should be defined as well. */ should be defined as well. */
#define HAVE_LCD_SLEEP #define HAVE_LCD_SLEEP
#define HAVE_LCD_SLEEP_SETTING #define HAVE_LCD_SLEEP_SETTING
#endif
#define CONFIG_KEYPAD IAUDIO_X5M5_PAD #define CONFIG_KEYPAD IAUDIO_X5M5_PAD

View file

@ -40,7 +40,7 @@ extern struct viewport* current_vp;
extern void lcd_copy_buffer_rect(fb_data *dst, const fb_data *src, extern void lcd_copy_buffer_rect(fb_data *dst, const fb_data *src,
int width, int height); int width, int height);
bool lcd_enabled() bool lcd_enabled(void)
{ {
return lcd_on; return lcd_on;
} }

View file

@ -35,9 +35,11 @@ bool _backlight_init(void)
void _backlight_on(void) void _backlight_on(void)
{ {
int level; int level;
lcd_enable(true); #ifdef HAVE_LCD_SLEEP
#ifndef BOOTLOADER backlight_lcd_sleep_countdown(false); /* stop counter */
_lcd_sleep_timer = 0; /* LCD should be awake already */ #endif
#ifdef HAVE_LCD_ENABLE
lcd_enable(true); /* power on lcd + visible display */
#endif #endif
level = disable_irq_save(); level = disable_irq_save();
pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */ pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */
@ -49,16 +51,11 @@ void _backlight_off(void)
int level = disable_irq_save(); int level = disable_irq_save();
pcf50606_write(0x38, 0x80); /* Backlight OFF, GPO1INV=1, GPO1ACT=000 */ pcf50606_write(0x38, 0x80); /* Backlight OFF, GPO1INV=1, GPO1ACT=000 */
restore_irq(level); restore_irq(level);
lcd_enable(false); #ifdef HAVE_LCD_ENABLE
#ifndef BOOTLOADER lcd_enable(false); /* power off visible display */
/* Start LCD sleep countdown */ #endif
if (_lcd_sleep_timeout < 0) #ifdef HAVE_LCD_SLEEP
{ backlight_lcd_sleep_countdown(true); /* start countdown */
_lcd_sleep_timer = 0; /* Setting == Always */
lcd_sleep();
}
else
_lcd_sleep_timer = _lcd_sleep_timeout;
#endif #endif
} }