video, cfb_console: make background and foreground color configurable

make CONSOLE_BG_COL/CONSOLE_FG_COL configurable through board config file.
Clear video screen in video_init().

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
Heiko Schocher 2013-10-22 11:06:06 +02:00 committed by Anatolij Gustschin
parent 2740e5de4f
commit 45ae2546ef
3 changed files with 30 additions and 18 deletions

5
README
View file

@ -705,6 +705,11 @@ The following options need to be configured:
the "silent" environment variable. See
doc/README.silent for more information.
CONFIG_SYS_CONSOLE_BG_COL: define the backgroundcolor, default
is 0x00.
CONFIG_SYS_CONSOLE_FG_COL: define the foregroundcolor, default
is 0xa0.
- Console Baudrate:
CONFIG_BAUDRATE - in bps
Select one of the baudrates listed in

View file

@ -2108,6 +2108,24 @@ defined(CONFIG_SANDBOX) || defined(CONFIG_X86)
return 0;
}
void video_clear(void)
{
if (!video_fb_address)
return;
#ifdef VIDEO_HW_RECTFILL
video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
0, /* dest pos x */
0, /* dest pos y */
VIDEO_VISIBLE_COLS, /* frame width */
VIDEO_VISIBLE_ROWS, /* frame height */
bgx /* fill color */
);
#else
memsetl(video_fb_address,
(VIDEO_VISIBLE_ROWS * VIDEO_LINE_LEN) / sizeof(int), bgx);
#endif
}
static int video_init(void)
{
unsigned char color8;
@ -2194,6 +2212,8 @@ static int video_init(void)
}
eorx = fgx ^ bgx;
video_clear();
#ifdef CONFIG_VIDEO_LOGO
/* Plot the logo and get start point of console */
debug("Video: Drawing the logo ...\n");
@ -2297,21 +2317,3 @@ int video_get_screen_columns(void)
{
return CONSOLE_COLS;
}
void video_clear(void)
{
if (!video_fb_address)
return;
#ifdef VIDEO_HW_RECTFILL
video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
0, /* dest pos x */
0, /* dest pos y */
VIDEO_VISIBLE_COLS, /* frame width */
VIDEO_VISIBLE_ROWS, /* frame height */
bgx /* fill color */
);
#else
memsetl(video_fb_address,
(VIDEO_VISIBLE_ROWS * VIDEO_LINE_LEN) / sizeof(int), bgx);
#endif
}

View file

@ -18,8 +18,13 @@
#ifndef _VIDEO_FB_H_
#define _VIDEO_FB_H_
#if defined(CONFIG_SYS_CONSOLE_FG_COL) && defined(CONFIG_SYS_CONSOLE_BG_COL)
#define CONSOLE_BG_COL CONFIG_SYS_CONSOLE_BG_COL
#define CONSOLE_FG_COL CONFIG_SYS_CONSOLE_FG_COL
#else
#define CONSOLE_BG_COL 0x00
#define CONSOLE_FG_COL 0xa0
#endif
/*
* Graphic Data Format (GDF) bits for VIDEO_DATA_FORMAT