mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 12:45:26 -05:00
Fix reds and yellows (hopefully). Some targets apparently didn't properly #ifdef lcd_enable and lcd_sleep code out, so that it got partly active in the bootloader; rename the ui simulator stub fixes most reds; for the clip: move the hook code into lcd-1bit-vert.c which should fix the bootloader red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20333 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
68f9ef2d57
commit
4ed387d603
16 changed files with 78 additions and 46 deletions
|
|
@ -95,6 +95,25 @@ void LCDFN(init)(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
#ifdef MAIN_LCD
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
static void (*lcd_activation_hook)(void) = NULL;
|
||||
|
||||
void lcd_activation_set_hook(void (*func)(void))
|
||||
{
|
||||
lcd_activation_hook = func;
|
||||
}
|
||||
|
||||
void lcd_activation_call_hook(void)
|
||||
{
|
||||
void (*func)(void) = lcd_activation_hook;
|
||||
|
||||
if (func != NULL)
|
||||
func();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*** parameter handling ***/
|
||||
|
||||
void LCDFN(set_drawmode)(int mode)
|
||||
|
|
|
|||
|
|
@ -70,7 +70,8 @@
|
|||
#define LCD_PIXELFORMAT RGB565 /* rgb565 */
|
||||
|
||||
/* Define this if your LCD can be enabled/disabled */
|
||||
#define HAVE_LCD_ENABLE
|
||||
/* Disabled until properly working
|
||||
#define HAVE_LCD_ENABLE */
|
||||
|
||||
#define CONFIG_KEYPAD CREATIVEZVM_PAD
|
||||
#define HAVE_HEADPHONE_DETECTION
|
||||
|
|
|
|||
|
|
@ -54,10 +54,11 @@
|
|||
#define HAVE_LCD_ENABLE
|
||||
|
||||
/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
|
||||
should be defined as well. */
|
||||
should be defined as well.
|
||||
#define HAVE_LCD_SLEEP
|
||||
#define HAVE_LCD_SLEEP_SETTING
|
||||
#endif
|
||||
*/
|
||||
|
||||
/* define this if you can flip your LCD */
|
||||
#define HAVE_LCD_FLIP
|
||||
|
|
|
|||
|
|
@ -54,10 +54,11 @@
|
|||
#define HAVE_LCD_ENABLE
|
||||
|
||||
/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
|
||||
should be defined as well. */
|
||||
should be defined as well.
|
||||
#define HAVE_LCD_SLEEP
|
||||
#define HAVE_LCD_SLEEP_SETTING
|
||||
#endif
|
||||
*/
|
||||
|
||||
/* define this if you can flip your LCD */
|
||||
#define HAVE_LCD_FLIP
|
||||
|
|
|
|||
|
|
@ -160,22 +160,6 @@ void lcd_set_flip(bool yesno)
|
|||
}
|
||||
|
||||
#ifdef HAVE_LCD_ENABLE
|
||||
static void (*lcd_activation_hook)(void) = NULL;
|
||||
|
||||
void lcd_activation_set_hook(void (*func)(void))
|
||||
{
|
||||
lcd_activation_hook = func;
|
||||
}
|
||||
|
||||
void lcd_activation_call_hook(void)
|
||||
{
|
||||
void (*func)(void) = lcd_activation_hook;
|
||||
|
||||
if (func != NULL)
|
||||
func();
|
||||
}
|
||||
|
||||
|
||||
void lcd_enable(bool enable)
|
||||
{
|
||||
if(display_on == enable)
|
||||
|
|
|
|||
|
|
@ -321,6 +321,7 @@ void lcd_init_device(void)
|
|||
_display_on();
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE)
|
||||
void lcd_enable(bool on)
|
||||
{
|
||||
if(display_on!=on)
|
||||
|
|
@ -337,16 +338,15 @@ void lcd_enable(bool on)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return display_on;
|
||||
}
|
||||
|
||||
void lcd_sleep(void)
|
||||
{
|
||||
/* TODO */
|
||||
}
|
||||
#endif
|
||||
|
||||
/*** update functions ***/
|
||||
|
||||
|
|
|
|||
|
|
@ -185,6 +185,7 @@ static void _display_on(void)
|
|||
lcd_update();
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE)
|
||||
void lcd_enable(bool on)
|
||||
{
|
||||
if (display_on == on)
|
||||
|
|
@ -217,16 +218,14 @@ void lcd_enable(bool on)
|
|||
display_on = false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return display_on;
|
||||
}
|
||||
|
||||
void lcd_sleep(void)
|
||||
{
|
||||
/* TODO */
|
||||
}
|
||||
#endif
|
||||
|
||||
/*** update functions ***/
|
||||
|
||||
|
|
|
|||
|
|
@ -597,6 +597,11 @@ void lcd_sleep(void)
|
|||
mutex_unlock(&lcdstate_lock);
|
||||
}
|
||||
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return lcd_state.display;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LCD_SHUTDOWN
|
||||
void lcd_shutdown(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -352,6 +352,7 @@ static void lcd_display_off(void)
|
|||
lcd_write_reg(R_DISP_CONTROL, 0x0000);
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE)
|
||||
void lcd_enable(bool on)
|
||||
{
|
||||
if (on == display_on)
|
||||
|
|
@ -370,12 +371,9 @@ void lcd_enable(bool on)
|
|||
lcd_display_off();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return display_on;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LCD_SLEEP
|
||||
void lcd_sleep(void)
|
||||
{
|
||||
if (power_on)
|
||||
|
|
@ -385,6 +383,14 @@ void lcd_sleep(void)
|
|||
/* 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)
|
||||
{
|
||||
return display_on;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*** update functions ***/
|
||||
|
||||
|
|
|
|||
|
|
@ -42,10 +42,12 @@ extern struct viewport* current_vp;
|
|||
extern void lcd_copy_buffer_rect(fb_data *dst, const fb_data *src,
|
||||
int width, int height);
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return lcd_on;
|
||||
}
|
||||
#endif
|
||||
|
||||
static unsigned int LCDBANK(unsigned int address)
|
||||
{
|
||||
|
|
@ -278,6 +280,7 @@ void lcd_init_device(void)
|
|||
LCD_SPI_init();
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_SLEEP)
|
||||
void lcd_sleep(void)
|
||||
{
|
||||
if (lcd_powered)
|
||||
|
|
@ -289,7 +292,9 @@ void lcd_sleep(void)
|
|||
LCD_SPI_powerdown();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE)
|
||||
void lcd_enable(bool state)
|
||||
{
|
||||
if (state == lcd_on)
|
||||
|
|
@ -315,6 +320,7 @@ void lcd_enable(bool state)
|
|||
lcd_on = false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void lcd_set_flip(bool yesno) {
|
||||
if (!lcd_on)
|
||||
|
|
|
|||
|
|
@ -190,6 +190,7 @@ void lcd_set_invert_display(bool yesno)
|
|||
(void)yesno;
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE)
|
||||
void lcd_enable(bool yesno)
|
||||
{
|
||||
if (yesno == is_lcd_enabled)
|
||||
|
|
@ -206,11 +207,14 @@ void lcd_enable(bool yesno)
|
|||
lcd_send_command(R_STANDBY_ON);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool lcd_enabled(void)
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return is_lcd_enabled;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* turn the display upside down (call lcd_update() afterwards) */
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@
|
|||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
#include "lcd.h"
|
||||
#include "system.h"
|
||||
#include <string.h>
|
||||
#include "backlight-target.h"
|
||||
#include "cpu.h"
|
||||
#include "system.h"
|
||||
#include "backlight-target.h"
|
||||
#include "lcd.h"
|
||||
|
||||
/* Power and display status */
|
||||
static bool power_on = false; /* Is the power turned on? */
|
||||
|
|
@ -427,7 +427,7 @@ void lcd_init_device(void)
|
|||
|
||||
LCD_REG_6 |= 1; /* Start DMA */
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
void lcd_enable(bool on)
|
||||
{
|
||||
if (on == display_on)
|
||||
|
|
@ -455,7 +455,7 @@ bool lcd_active(void)
|
|||
{
|
||||
return display_on;
|
||||
}
|
||||
|
||||
#endif
|
||||
void lcd_sleep(void)
|
||||
{
|
||||
LCD_REG_6 &= ~1;
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ volatile bool lcd_poweroff = false;
|
|||
extern unsigned fg_pattern;
|
||||
extern unsigned bg_pattern;
|
||||
|
||||
bool lcd_enabled(void)
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return lcd_on;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,7 @@ void lcd_init_device(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE)
|
||||
void lcd_enable(bool on)
|
||||
{
|
||||
if (on == display_on)
|
||||
|
|
@ -392,12 +393,10 @@ void lcd_enable(bool on)
|
|||
lcd_display_off();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool lcd_active(void)
|
||||
{
|
||||
return display_on;
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_SLEEP)
|
||||
void lcd_sleep(void)
|
||||
{
|
||||
if (power_on)
|
||||
|
|
@ -407,7 +406,14 @@ void lcd_sleep(void)
|
|||
/* 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)
|
||||
{
|
||||
return display_on;
|
||||
}
|
||||
#endif
|
||||
/*** update functions ***/
|
||||
|
||||
/* Line write helper function for lcd_yuv_blit. Write two lines of yuv420.
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
#include <stdbool.h>
|
||||
|
||||
void lcd_enable(bool state);
|
||||
bool lcd_enabled(void);
|
||||
bool lcd_active(void);
|
||||
void lcd_init_device(void);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ bool headphones_inserted(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LCD_ENABLE
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
bool lcd_enabled(void)
|
||||
{
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue