[U-Boot] [PATCH] splash: Introduce default_splash_locations

This change introduces default_splash_locations which simplifies splash recovery from the first partition of USB/MMC/SATA drive.
Given usual mapping of the first partition of external media for basic boot stuff like uImage/zImaage, .dtb etc it looks quite obvious option to put there splash.bmp as well.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Nikita Kiryanov nikita@compulab.co.il Cc: Simon Glass sjg@chromium.org Cc: Jeroen Hofstee jeroen@myspectrum.nl Cc: Anatolij Gustschin agust@denx.de Cc: Robert Winkler robert.winkler@boundarydevices.com --- common/splash.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/common/splash.c b/common/splash.c index 561d35b..89af437 100644 --- a/common/splash.c +++ b/common/splash.c @@ -24,9 +24,37 @@ #include <splash.h> #include <lcd.h>
+static struct splash_location default_splash_locations[] = { + { + .name = "sf", + .storage = SPLASH_STORAGE_SF, + .flags = SPLASH_STORAGE_RAW, + .offset = 0x0, + }, + { + .name = "mmc_fs", + .storage = SPLASH_STORAGE_MMC, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, + { + .name = "usb_fs", + .storage = SPLASH_STORAGE_USB, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, + { + .name = "sata_fs", + .storage = SPLASH_STORAGE_SATA, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, +}; + __weak int splash_screen_prepare(void) { - return 0; + return splash_source_load(default_splash_locations, + ARRAY_SIZE(default_splash_locations)); }
#ifdef CONFIG_SPLASH_SCREEN_ALIGN

On Fri, 1 Jul 2016 22:48:16 +0300 Alexey Brodkin Alexey.Brodkin@synopsys.com wrote:
This change introduces default_splash_locations which simplifies splash recovery from the first partition of USB/MMC/SATA drive.
Given usual mapping of the first partition of external media for basic boot stuff like uImage/zImaage, .dtb etc it looks quite obvious option to put there splash.bmp as well.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Nikita Kiryanov nikita@compulab.co.il Cc: Simon Glass sjg@chromium.org Cc: Jeroen Hofstee jeroen@myspectrum.nl Cc: Anatolij Gustschin agust@denx.de Cc: Robert Winkler robert.winkler@boundarydevices.com
common/splash.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-)
applied to u-boot-video/master, thanks!
Anatolij

From: Alexey Brodkin Alexey.Brodkin@synopsys.com
This change introduces default_splash_locations which simplifies splash recovery from the first partition of USB/MMC/SATA drive.
Given usual mapping of the first partition of external media for basic boot stuff like uImage/zImage, .dtb etc it looks quite obvious option to put there splash.bmp as well.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Nikita Kiryanov nikita@compulab.co.il Cc: Simon Glass sjg@chromium.org Cc: Jeroen Hofstee jeroen@myspectrum.nl Signed-off-by: Anatolij Gustschin agust@denx.de ---
Changes in v2: - add empty splash_source_load() if CONFIG_SPLASH_SOURCE is not defined (fixes building sandbox configuration)
common/splash.c | 30 +++++++++++++++++++++++++++++- include/splash.h | 9 +++++++++ 2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/common/splash.c b/common/splash.c index 561d35b..89af437 100644 --- a/common/splash.c +++ b/common/splash.c @@ -24,9 +24,37 @@ #include <splash.h> #include <lcd.h>
+static struct splash_location default_splash_locations[] = { + { + .name = "sf", + .storage = SPLASH_STORAGE_SF, + .flags = SPLASH_STORAGE_RAW, + .offset = 0x0, + }, + { + .name = "mmc_fs", + .storage = SPLASH_STORAGE_MMC, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, + { + .name = "usb_fs", + .storage = SPLASH_STORAGE_USB, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, + { + .name = "sata_fs", + .storage = SPLASH_STORAGE_SATA, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, +}; + __weak int splash_screen_prepare(void) { - return 0; + return splash_source_load(default_splash_locations, + ARRAY_SIZE(default_splash_locations)); }
#ifdef CONFIG_SPLASH_SCREEN_ALIGN diff --git a/include/splash.h b/include/splash.h index 25df1cf..136eac7 100644 --- a/include/splash.h +++ b/include/splash.h @@ -47,7 +47,16 @@ struct splash_location { char *ubivol; /* UBI volume-name for ubifsmount */ };
+#ifdef CONFIG_SPLASH_SOURCE int splash_source_load(struct splash_location *locations, uint size); +#else +static inline int splash_source_load(struct splash_location *locations, + uint size) +{ + return 0; +} +#endif + int splash_screen_prepare(void);
#ifdef CONFIG_SPLASH_SCREEN_ALIGN

On Tue, 26 Jul 2016 08:52:52 +0200 Anatolij Gustschin agust@denx.de wrote:
From: Alexey Brodkin Alexey.Brodkin@synopsys.com
This change introduces default_splash_locations which simplifies splash recovery from the first partition of USB/MMC/SATA drive.
Given usual mapping of the first partition of external media for basic boot stuff like uImage/zImage, .dtb etc it looks quite obvious option to put there splash.bmp as well.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Nikita Kiryanov nikita@compulab.co.il Cc: Simon Glass sjg@chromium.org Cc: Jeroen Hofstee jeroen@myspectrum.nl Signed-off-by: Anatolij Gustschin agust@denx.de
Changes in v2:
- add empty splash_source_load() if CONFIG_SPLASH_SOURCE is not defined (fixes building sandbox configuration)
common/splash.c | 30 +++++++++++++++++++++++++++++- include/splash.h | 9 +++++++++ 2 files changed, 38 insertions(+), 1 deletion(-)
applied to u-boot-video/master.
-- Anatolij
participants (2)
-
Alexey Brodkin
-
Anatolij Gustschin