提交 7600d62e 编写于 作者: A Anatolij Gustschin

splash: fix logo drawing if CONFIG_VIDEO_LOGO enabled

After mxc_ipuv3 DM_VIDEO conversion board configs with enabled
CONFIG_VIDEO_LOGO do not show splash screen (previosly drawing
splash screen worked via cfb_console driver with CONFIG_VIDEO_LOGO
enabled). Use splash_source library for loading splash images
when CONFIG_SPLASH_SOURCE is selected, otherwise prepare built-in
video logo for drawing.
Signed-off-by: NAnatolij Gustschin <agust@denx.de>
上级 aa8c6294
......@@ -52,10 +52,41 @@ static struct splash_location default_splash_locations[] = {
},
};
#if defined(CONFIG_DM_VIDEO) && defined(CONFIG_VIDEO_LOGO)
#include <bmp_logo_data.h>
static int splash_video_logo_load(void)
{
char *splashimage;
u32 bmp_load_addr;
splashimage = env_get("splashimage");
if (!splashimage)
return -ENOENT;
bmp_load_addr = simple_strtoul(splashimage, 0, 16);
if (!bmp_load_addr) {
printf("Error: bad 'splashimage' address\n");
return -EFAULT;
}
memcpy((void *)bmp_load_addr, bmp_logo_bitmap,
ARRAY_SIZE(bmp_logo_bitmap));
return 0;
}
#else
static inline int splash_video_logo_load(void) { return -ENOSYS; }
#endif
__weak int splash_screen_prepare(void)
{
return splash_source_load(default_splash_locations,
ARRAY_SIZE(default_splash_locations));
if (CONFIG_IS_ENABLED(SPLASH_SOURCE))
return splash_source_load(default_splash_locations,
ARRAY_SIZE(default_splash_locations));
return splash_video_logo_load();
}
#ifdef CONFIG_SPLASH_SCREEN_ALIGN
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册