mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-08 08:16:59 +02:00
common: Enable splash functions at SPL
To support splash screen at both u-boot proper and SPL use CONFIG_IS_ENABLED and CONFIG_VAL to check for video related Kconfigs at respective stages. Replace CONFIG_CMD_BMP with CONFIG_BMP to enable splash_display function at u-boot proper and SPL. Signed-off-by: Nikhil M Jain <n-jain1@ti.com> Reviewed-by: Devarsh Thakkar <devarsht@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
86fbee6020
commit
eb9217dc03
10
common/bmp.c
10
common/bmp.c
@ -33,7 +33,7 @@
|
|||||||
* Returns NULL if decompression failed, or if the decompressed data
|
* Returns NULL if decompression failed, or if the decompressed data
|
||||||
* didn't contain a valid BMP signature.
|
* didn't contain a valid BMP signature.
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_VIDEO_BMP_GZIP
|
#if CONFIG_IS_ENABLED(VIDEO_BMP_GZIP)
|
||||||
struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
|
struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
|
||||||
void **alloc_addr)
|
void **alloc_addr)
|
||||||
{
|
{
|
||||||
@ -44,9 +44,9 @@ struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
|
|||||||
/*
|
/*
|
||||||
* Decompress bmp image
|
* Decompress bmp image
|
||||||
*/
|
*/
|
||||||
len = CONFIG_VIDEO_LOGO_MAX_SIZE;
|
len = CONFIG_VAL(VIDEO_LOGO_MAX_SIZE);
|
||||||
/* allocate extra 3 bytes for 32-bit-aligned-address + 2 alignment */
|
/* allocate extra 3 bytes for 32-bit-aligned-address + 2 alignment */
|
||||||
dst = malloc(CONFIG_VIDEO_LOGO_MAX_SIZE + 3);
|
dst = malloc(CONFIG_VAL(VIDEO_LOGO_MAX_SIZE) + 3);
|
||||||
if (!dst) {
|
if (!dst) {
|
||||||
puts("Error: malloc in gunzip failed!\n");
|
puts("Error: malloc in gunzip failed!\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -55,12 +55,12 @@ struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
|
|||||||
/* align to 32-bit-aligned-address + 2 */
|
/* align to 32-bit-aligned-address + 2 */
|
||||||
bmp = dst + 2;
|
bmp = dst + 2;
|
||||||
|
|
||||||
if (gunzip(bmp, CONFIG_VIDEO_LOGO_MAX_SIZE, map_sysmem(addr, 0),
|
if (gunzip(bmp, CONFIG_VAL(VIDEO_LOGO_MAX_SIZE), map_sysmem(addr, 0),
|
||||||
&len)) {
|
&len)) {
|
||||||
free(dst);
|
free(dst);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (len == CONFIG_VIDEO_LOGO_MAX_SIZE)
|
if (len == CONFIG_VAL(VIDEO_LOGO_MAX_SIZE))
|
||||||
puts("Image could be truncated (increase CONFIG_VIDEO_LOGO_MAX_SIZE)!\n");
|
puts("Image could be truncated (increase CONFIG_VIDEO_LOGO_MAX_SIZE)!\n");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -89,14 +89,14 @@ static inline int splash_video_logo_load(void) { return -ENOSYS; }
|
|||||||
|
|
||||||
__weak int splash_screen_prepare(void)
|
__weak int splash_screen_prepare(void)
|
||||||
{
|
{
|
||||||
if (IS_ENABLED(CONFIG_SPLASH_SOURCE))
|
if (CONFIG_IS_ENABLED(SPLASH_SOURCE))
|
||||||
return splash_source_load(default_splash_locations,
|
return splash_source_load(default_splash_locations,
|
||||||
ARRAY_SIZE(default_splash_locations));
|
ARRAY_SIZE(default_splash_locations));
|
||||||
|
|
||||||
return splash_video_logo_load();
|
return splash_video_logo_load();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SPLASH_SCREEN_ALIGN
|
#if CONFIG_IS_ENABLED(SPLASH_SCREEN_ALIGN)
|
||||||
void splash_get_pos(int *x, int *y)
|
void splash_get_pos(int *x, int *y)
|
||||||
{
|
{
|
||||||
char *s = env_get("splashpos");
|
char *s = env_get("splashpos");
|
||||||
@ -119,7 +119,7 @@ void splash_get_pos(int *x, int *y)
|
|||||||
}
|
}
|
||||||
#endif /* CONFIG_SPLASH_SCREEN_ALIGN */
|
#endif /* CONFIG_SPLASH_SCREEN_ALIGN */
|
||||||
|
|
||||||
#if defined(CONFIG_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION)
|
#if CONFIG_IS_ENABLED(VIDEO) && !CONFIG_IS_ENABLED(HIDE_LOGO_VERSION)
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_LOGO
|
#ifdef CONFIG_VIDEO_LOGO
|
||||||
#include <bmp_logo.h>
|
#include <bmp_logo.h>
|
||||||
@ -159,7 +159,7 @@ void splash_display_banner(void)
|
|||||||
* Common function to show a splash image if env("splashimage") is set.
|
* Common function to show a splash image if env("splashimage") is set.
|
||||||
* For additional details please refer to doc/README.splashprepare.
|
* For additional details please refer to doc/README.splashprepare.
|
||||||
*/
|
*/
|
||||||
#if defined(CONFIG_SPLASH_SCREEN) && defined(CONFIG_CMD_BMP)
|
#if CONFIG_IS_ENABLED(SPLASH_SCREEN) && CONFIG_IS_ENABLED(BMP)
|
||||||
int splash_display(void)
|
int splash_display(void)
|
||||||
{
|
{
|
||||||
ulong addr;
|
ulong addr;
|
||||||
@ -183,7 +183,7 @@ int splash_display(void)
|
|||||||
if (x || y)
|
if (x || y)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
#if defined(CONFIG_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION)
|
#if CONFIG_IS_ENABLED(VIDEO) && !CONFIG_IS_ENABLED(HIDE_LOGO_VERSION)
|
||||||
splash_display_banner();
|
splash_display_banner();
|
||||||
#endif
|
#endif
|
||||||
end:
|
end:
|
||||||
|
Loading…
Reference in New Issue
Block a user