video: add an option to skip cfb console init
This patch add an option to skip cfb console init for boards who want to show a logo, but not use the cfb console. This is needed for the siemens boards, which have a bmp bootlogo, but do not need the cfb console. Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Anatolij Gustschin <agust@denx.de> [agust: use '__weak int board_cfb_skip(void)'] Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:

committed by
Anatolij Gustschin

parent
3d192be9ad
commit
2bc4aa5227
@@ -431,6 +431,16 @@ static const int video_font_draw_table32[16][4] = {
|
|||||||
{0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff}
|
{0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Implement a weak default function for boards that optionally
|
||||||
|
* need to skip the cfb initialization.
|
||||||
|
*/
|
||||||
|
__weak int board_cfb_skip(void)
|
||||||
|
{
|
||||||
|
/* As default, don't skip cfb init */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void video_drawchars(int xx, int yy, unsigned char *s, int count)
|
static void video_drawchars(int xx, int yy, unsigned char *s, int count)
|
||||||
{
|
{
|
||||||
u8 *cdat, *dest, *dest0;
|
u8 *cdat, *dest, *dest0;
|
||||||
@@ -2017,6 +2027,8 @@ static void *video_logo(void)
|
|||||||
return video_fb_address + video_logo_height * VIDEO_LINE_LEN;
|
return video_fb_address + video_logo_height * VIDEO_LINE_LEN;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
if (board_cfb_skip())
|
||||||
|
return 0;
|
||||||
|
|
||||||
sprintf(info, " %s", version_string);
|
sprintf(info, " %s", version_string);
|
||||||
|
|
||||||
@@ -2226,6 +2238,9 @@ int drv_video_init(void)
|
|||||||
/* Init video chip - returns with framebuffer cleared */
|
/* Init video chip - returns with framebuffer cleared */
|
||||||
skip_dev_init = (video_init() == -1);
|
skip_dev_init = (video_init() == -1);
|
||||||
|
|
||||||
|
if (board_cfb_skip())
|
||||||
|
return 0;
|
||||||
|
|
||||||
#if !defined(CONFIG_VGA_AS_SINGLE_DEVICE)
|
#if !defined(CONFIG_VGA_AS_SINGLE_DEVICE)
|
||||||
debug("KBD: Keyboard init ...\n");
|
debug("KBD: Keyboard init ...\n");
|
||||||
skip_dev_init |= (VIDEO_KBD_INIT_FCT == -1);
|
skip_dev_init |= (VIDEO_KBD_INIT_FCT == -1);
|
||||||
|
Reference in New Issue
Block a user