splash: display splash in DM_VIDEO configurations

Currently for CONFIG_DM_VIDEO=y setting splashimage env variable doesn't
have any effect. Introduce a common function for both dm-video/lcd stacks,
that checks env("splashimage") and invokes bmp_display() accordingly.
For additional details please check discussion [1].

[1] https://lists.denx.de/pipermail/u-boot/2019-May/371002.html

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
This commit is contained in:
Igor Opaniuk 2019-05-29 09:01:43 +00:00 committed by Anatolij Gustschin
parent 38c2a8a001
commit 5eb83c0ac1
4 changed files with 25 additions and 14 deletions

View file

@ -171,8 +171,7 @@ int drv_lcd_init(void)
void lcd_clear(void)
{
int bg_color;
char *s;
ulong addr;
__maybe_unused ulong addr;
static int do_splash = 1;
#if LCD_BPP == LCD_COLOR8
/* Setting the palette */
@ -222,14 +221,10 @@ void lcd_clear(void)
/* Paint the logo and retrieve LCD base address */
debug("[LCD] Drawing the logo...\n");
if (do_splash) {
s = env_get("splashimage");
if (s) {
if (splash_display() == 0) {
do_splash = 0;
addr = simple_strtoul(s, NULL, 16);
if (lcd_splash(addr) == 0) {
lcd_sync();
return;
}
lcd_sync();
return;
}
}