Add "cls" function to MPC823 LCD driver so we can reinitialize the

display even after showing a bitmap
This commit is contained in:
wdenk
2004-06-25 23:35:58 +00:00
parent 021bfcd3c6
commit c3f4d17e05
4 changed files with 35 additions and 54 deletions

View File

@@ -29,6 +29,7 @@
#include <config.h>
#include <common.h>
#include <command.h>
#include <watchdog.h>
#include <version.h>
#include <stdarg.h>
@@ -434,8 +435,9 @@ static void lcd_drawchars (ushort x, ushort y, uchar *str, int count);
static inline void lcd_puts_xy (ushort x, ushort y, uchar *s);
static inline void lcd_putc_xy (ushort x, ushort y, uchar c);
int lcd_init (void *lcdbase);
static int lcd_init (void *lcdbase);
static int lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]);
static void lcd_ctrl_init (void *lcdbase);
static void lcd_enable (void);
static void *lcd_logo (void);
@@ -718,13 +720,8 @@ int drv_lcd_init (void)
/*----------------------------------------------------------------------*/
int lcd_init (void *lcdbase)
static int lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
{
/* Initialize the lcd controller */
debug ("[LCD] Initializing LCD frambuffer at %p\n", lcdbase);
lcd_ctrl_init (lcdbase);
#if LCD_BPP == LCD_MONOCHROME
/* Setting the palette */
lcd_initcolregs();
@@ -758,13 +755,33 @@ int lcd_init (void *lcdbase)
COLOR_MASK(lcd_getbgcolor()),
lcd_line_length*panel_info.vl_row);
#endif
lcd_enable ();
/* Paint the logo and retrieve LCD base address */
debug ("[LCD] Drawing the logo...\n");
lcd_console_address = lcd_logo ();
console_col = 0;
console_row = 0;
return (0);
}
U_BOOT_CMD(
cls, 1, 1, lcd_clear,
"cls - clear screen\n",
NULL
);
/*----------------------------------------------------------------------*/
static int lcd_init (void *lcdbase)
{
/* Initialize the lcd controller */
debug ("[LCD] Initializing LCD frambuffer at %p\n", lcdbase);
lcd_ctrl_init (lcdbase);
lcd_clear (NULL, 1, 1, NULL); /* dummy args */
lcd_enable ();
/* Initialize the console */
console_col = 0;
#ifdef LCD_INFO_BELOW_LOGO