[U-Boot] DM_VIDEO and splash screen functionality

Anatolij Gustschin agust at denx.de
Tue May 28 12:30:58 UTC 2019


Hi Igor,

On Tue, 28 May 2019 13:35:13 +0300
Igor Opaniuk igor.opaniuk at gmail.com wrote:

> Hi all,
> 
> Just a clarifying question:
> I assume a splash screen functionality from common/splash.c and
> common/splash_source.c is marked as deprecated and is not going to be
> used anymore alongside with DM_VIDEO enabled, right?

no, this is still used with DM_VIDEO enabled. This splash image
loading code is for pre-loading the bitmap (file) from configurable
storage source before drawing it (see also doc/README.splashprepare).

The bitmap drawing code is currently at 3 different locations,
depending on the board and/or video driver configuration:
 common/lcd.c
 drivers/video/cfb_console.c (!DM_VIDEO)
 drivers/video/video_bmp.c (DM_VIDEO)

We will most probably remove cfb_console when all remaining users
are converted to DM_VIDEO. lcd.c can co-exist with DM_VIDEO enabled
drivers and is still used for some boards. Maybe we will drop it as
well, unless LCD console for older boards with limited resources must
be supported.

> I understand that the same result can be achieved (showing a boot
> logo) using CONFIG_PREBOOT define and with an invocation of something
> like "bmp display <addr>" in "preboot" env variable, but just wanted
> to know if splashscreen legacy stuff (common/splash.c) is going to be
> somehow integrated into the new video stack in the future.

Yes, you can load the .bmp file to memory first via commands in "preboot"
and display it with "bmp" command then. But it would be better to
implement it in common way reusable for other boards and independent
of "preboot" configuration. We already have the necessary functions
splash_screen_prepare() and bmp_display(). The first loads the file
to memory address defined in "splashimage" env variable. This address
can be passed to bmp_display(). We can add a common function which
checks "splashimage" and sets it if not defined, then calls prepare/
display functions. No other integration is required.

--
Anatolij


More information about the U-Boot mailing list