[PATCH 0/9] Enable splash screen

To enable splash screen at SPL stage move video driver and splash screen framework at SPL, which will bring up image on display very quickly and thus have early display support in SPL.
Change in V2 - Removed artifacts from bad patch apply.
Nikhil M Jain (9): drivers: video: Kconfig: Necessary configs for video at SPL drivers: video: tidss: Kconfig: Configs to enable TIDSS at SPL cmd: Kconfig: Add necessary configs for splash screen at SPL drivers: video: Makefile: Compile video driver files at SPL drivers: video: tidss: Makefile: Add condition to compile TIDSS at SPL cmd: Makefile: Add rules to build bmp.c and read.c at SPL common: splash: Enable splash_display at SPL stage drivers: video: video-uclass: Disable u-boot logo at SPL board: ti: am62x: evm: OSPI support for splash screen
board/ti/am62x/evm.c | 6 ++++++ cmd/Kconfig | 17 +++++++++++++++++ cmd/Makefile | 2 ++ common/splash.c | 2 +- drivers/video/Kconfig | 32 ++++++++++++++++++++++++++++---- drivers/video/Makefile | 6 ++++++ drivers/video/tidss/Kconfig | 6 ++++++ drivers/video/tidss/Makefile | 1 + drivers/video/video-uclass.c | 2 +- include/splash.h | 2 +- 10 files changed, 69 insertions(+), 7 deletions(-)

Add necessary Kconfigs to enable video driver and enable splash screen at spl stage. CONFIG_SPL_VIDEO enables all necessary configs enabled by CONFIG_VIDEO at spl stage. CONFIG_SPL_SYS_WHITE_ON_BLACK allows displaying on black background at spl stage.
These configs are specific to SPL and will allow us to enable the video driver and splash screen at SPL stage only and not at u-boot proper. The existing Kconfigs from u-boot proper were not used to make SPL splash screen independent to them.
Enable BMP_GZIP at SPL stage when SPL_SPLASH_SCREEN or SPL_CMD_BMP are defined.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- drivers/video/Kconfig | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 2a76d19cc8..1097e2c623 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -14,7 +14,17 @@ config VIDEO option compiles in the video uclass and routes all LCD/video access through this.
-if VIDEO +config SPL_VIDEO + bool "Enable driver model support for LCD/video" + depends on SPL_DM + help + The video subsystem adds a small amount of overhead to the image. + If this is acceptable and you have a need to use video drivers in + SPL, enable this option. It might provide a cleaner interface to + setting up video within SPL, and allows the same drivers to be + used as U-Boot proper. + +if VIDEO || SPL_VIDEO
config VIDEO_LOGO bool "Show the U-Boot logo on the display" @@ -193,6 +203,14 @@ config SYS_WHITE_ON_BLACK better in low-light situations or to reduce eye strain in some cases.
+config SPL_SYS_WHITE_ON_BLACK + bool "Display console as white on a black background" + help + Normally the display is black on a white background, Enable this + option to invert this, i.e. white on a black background at spl stage. + This can be better in low-light situations or to reduce eye strain in + some cases. + config NO_FB_CLEAR bool "Skip framebuffer clear" help @@ -795,7 +813,13 @@ config SPLASH_SCREEN image data before it is processed and sent to the frame buffer by U-Boot. Define your own version to use this feature.
-if SPLASH_SCREEN +config SPL_SPLASH_SCREEN + bool "Show a splash-screen image" + help + If this option is set, the environment is checked for a variable + "splashimage" at spl stage. + +if SPLASH_SCREEN || SPL_SPLASH_SCREEN
config SPLASH_SCREEN_ALIGN bool "Allow positioning the splash image anywhere on the display" @@ -863,7 +887,7 @@ endif # SPLASH_SCREEN
config VIDEO_BMP_GZIP bool "Gzip compressed BMP image support" - depends on CMD_BMP || SPLASH_SCREEN + depends on CMD_BMP || SPLASH_SCREEN || SPL_SPLASH_SCREEN || SPL_CMD_BMP help If this option is set, additionally to standard BMP images, gzipped BMP images can be displayed via the

Hi Nikhil,
Thanks for the patch.
On 14/03/23 10:20, Nikhil M Jain wrote:
Add necessary Kconfigs to enable video driver and enable splash screen at spl stage. CONFIG_SPL_VIDEO enables all necessary configs enabled by CONFIG_VIDEO at spl stage. CONFIG_SPL_SYS_WHITE_ON_BLACK allows displaying on black background at spl stage.
These configs are specific to SPL and will allow us to enable the video driver and splash screen at SPL stage only and not at u-boot proper. The existing Kconfigs from u-boot proper were not used to make SPL splash screen independent to them.
Enable BMP_GZIP at SPL stage when SPL_SPLASH_SCREEN or SPL_CMD_BMP are defined.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/Kconfig | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 2a76d19cc8..1097e2c623 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -14,7 +14,17 @@ config VIDEO option compiles in the video uclass and routes all LCD/video access through this.
-if VIDEO +config SPL_VIDEO
- bool "Enable driver model support for LCD/video"
- depends on SPL_DM
- help
The video subsystem adds a small amount of overhead to the image.
If this is acceptable and you have a need to use video drivers in
SPL, enable this option. It might provide a cleaner interface to
setting up video within SPL, and allows the same drivers to be
used as U-Boot proper.
+if VIDEO || SPL_VIDEO
config VIDEO_LOGO bool "Show the U-Boot logo on the display" @@ -193,6 +203,14 @@ config SYS_WHITE_ON_BLACK better in low-light situations or to reduce eye strain in some cases.
My understanding is that for all the common macros under (VIDEO || SPL_VIDEO)
(for e.g. like CONFIG_VIDEO_LOGO) code will get compiled in both u-boot proper at SPL even
if intended to be enabled for only on of them.
For e.g. you enable CONFIG_VIDEO_LOGO with CONFIG_VIDEO set aiming to compiled them
only for u-boot proper but corresponding code will also get compiled for u-boot SPL now.
Please confirm but If this is true then from my point of view I think we need
unique SPL_VIDEO_* macro (which will depend on SPL_VIDEO) for each of the VIDEO_* macros
getting used generally or probably all of them. And use CONFIG_IS_ENABLED at all places in video drivers
for each of the macros. Lastly you may also have to update relevant docs viz.
docs/README.spl and video related docs if any.
+config SPL_SYS_WHITE_ON_BLACK
- bool "Display console as white on a black background"
- help
This should depend upon SPL_VIDEO
Normally the display is black on a white background, Enable this
option to invert this, i.e. white on a black background at spl stage.
This can be better in low-light situations or to reduce eye strain in
some cases.
- config NO_FB_CLEAR bool "Skip framebuffer clear" help
@@ -795,7 +813,13 @@ config SPLASH_SCREEN image data before it is processed and sent to the frame buffer by U-Boot. Define your own version to use this feature.
-if SPLASH_SCREEN +config SPL_SPLASH_SCREEN
- bool "Show a splash-screen image"
Same here.
- help
If this option is set, the environment is checked for a variable
"splashimage" at spl stage.
+if SPLASH_SCREEN || SPL_SPLASH_SCREEN
If going with above suggested approach then you will need to make
unique macros for SPL.
Regards
Devarsh
config SPLASH_SCREEN_ALIGN bool "Allow positioning the splash image anywhere on the display" @@ -863,7 +887,7 @@ endif # SPLASH_SCREEN
config VIDEO_BMP_GZIP bool "Gzip compressed BMP image support"
- depends on CMD_BMP || SPLASH_SCREEN
- depends on CMD_BMP || SPLASH_SCREEN || SPL_SPLASH_SCREEN || SPL_CMD_BMP help If this option is set, additionally to standard BMP images, gzipped BMP images can be displayed via the

On Tue, 14 Mar 2023 at 17:50, Nikhil M Jain n-jain1@ti.com wrote:
Add necessary Kconfigs to enable video driver and enable splash screen at spl stage. CONFIG_SPL_VIDEO enables all necessary configs enabled by CONFIG_VIDEO at spl stage. CONFIG_SPL_SYS_WHITE_ON_BLACK allows displaying on black background at spl stage.
These configs are specific to SPL and will allow us to enable the video driver and splash screen at SPL stage only and not at u-boot proper. The existing Kconfigs from u-boot proper were not used to make SPL splash screen independent to them.
Enable BMP_GZIP at SPL stage when SPL_SPLASH_SCREEN or SPL_CMD_BMP are defined.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/Kconfig | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org Tested-by: Simon Glass sjg@chromium.org # qemu-x86_64

To enable tidss video driver only at SPL stage, add necessary config, CONFIG_SPL_VIDEO_TIDSS.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- drivers/video/tidss/Kconfig | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/video/tidss/Kconfig b/drivers/video/tidss/Kconfig index 2a5e56ea4e..748c332281 100644 --- a/drivers/video/tidss/Kconfig +++ b/drivers/video/tidss/Kconfig @@ -16,3 +16,9 @@ menuconfig VIDEO_TIDSS DPI . This option enables these supports which can be used on devices which have OLDI or HDMI display connected.
+config SPL_VIDEO_TIDSS + bool "Enable TIDSS video support in SPL Stage" + depends on SPL_VIDEO + help + This options enables tidss driver in SPL stage. If + you need to use tidssat SPL stage use this config.

On Tue, 14 Mar 2023 at 17:50, Nikhil M Jain n-jain1@ti.com wrote:
To enable tidss video driver only at SPL stage, add necessary config, CONFIG_SPL_VIDEO_TIDSS.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/tidss/Kconfig | 6 ++++++ 1 file changed, 6 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

CONFIG_CMD_BMP and CONFIG_SPLASH_SCREEN enable's splash display at only u-boot proper. To enable splash display at SPL stage add SPL specific configs, which are SPL_CMD_BMP and SPL_SPLASH_SCREEN.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- cmd/Kconfig | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/cmd/Kconfig b/cmd/Kconfig index 2caa4af71c..2f7b820ab8 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1415,6 +1415,11 @@ config CMD_READ help Provides low-level access to the data in a partition.
+config SPL_CMD_READ + bool "read - Read binary data from a partition" + help + Provides low-level access to the data in a partition at SPL stage. + config CMD_REMOTEPROC bool "remoteproc" depends on REMOTEPROC @@ -1931,6 +1936,18 @@ config CMD_BMP the image into RAM, then using this command to look at it or display it.
+config SPL_CMD_BMP + bool "Enable 'bmp' command" + depends on SPL_VIDEO + help + This provides a way to obtain information about a BMP-format image + and to display it in spl stage.BMP (which presumably stands for BitMaP) is a + file format defined by Microsoft which supports images of various + depths, formats and compression methods. Headers on the file + determine the formats used. This command can be used by first loading + the image into RAM, then using this command to look at it or display + it. + config CMD_BOOTCOUNT bool "bootcount" depends on BOOTCOUNT_LIMIT

Hi Nikhil,
On Tue, 14 Mar 2023 at 17:50, Nikhil M Jain n-jain1@ti.com wrote:
CONFIG_CMD_BMP and CONFIG_SPLASH_SCREEN enable's splash display at only u-boot proper. To enable splash display at SPL stage add SPL specific configs, which are SPL_CMD_BMP and SPL_SPLASH_SCREEN.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
cmd/Kconfig | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/cmd/Kconfig b/cmd/Kconfig index 2caa4af71c..2f7b820ab8 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1415,6 +1415,11 @@ config CMD_READ help Provides low-level access to the data in a partition.
+config SPL_CMD_READ
bool "read - Read binary data from a partition"
help
Provides low-level access to the data in a partition at SPL stage.
config CMD_REMOTEPROC bool "remoteproc" depends on REMOTEPROC @@ -1931,6 +1936,18 @@ config CMD_BMP the image into RAM, then using this command to look at it or display it.
+config SPL_CMD_BMP
bool "Enable 'bmp' command"
depends on SPL_VIDEO
help
This provides a way to obtain information about a BMP-format image
and to display it in spl stage.BMP (which presumably stands for BitMaP) is a
file format defined by Microsoft which supports images of various
depths, formats and compression methods. Headers on the file
determine the formats used. This command can be used by first loading
the image into RAM, then using this command to look at it or display
it.
For this you should split out a new CONFIG_BMP, since commands are not enabled in SPL.
config CMD_BOOTCOUNT bool "bootcount" depends on BOOTCOUNT_LIMIT -- 2.34.1
Regards, Simon

To enable splash screen at SPL we need to add video driver at SPL stage. To support video driver and splash display function compile video_uclass.c, video_console.c and video_bmp.c, thus add rules to compile these files at SPL stage when CONFIG_SPL_VIDEO is defined.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- drivers/video/Makefile | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/video/Makefile b/drivers/video/Makefile index cdb7d9a54d..4e2d34e675 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -68,3 +68,8 @@ obj-$(CONFIG_VIDEO_ZYNQMP_DPSUB) += zynqmp_dpsub.o
obj-y += bridge/ obj-y += sunxi/ + +ifdef CONFIG_SPL_BUILD +obj-$(CONFIG_$(SPL_)VIDEO) += video-uclass.o vidconsole-uclass.o +obj-$(CONFIG_$(SPL_)VIDEO) += video_bmp.o +endif

On Tue, 14 Mar 2023 at 17:50, Nikhil M Jain n-jain1@ti.com wrote:
To enable splash screen at SPL we need to add video driver at SPL stage. To support video driver and splash display function compile video_uclass.c, video_console.c and video_bmp.c, thus add rules to compile these files at SPL stage when CONFIG_SPL_VIDEO is defined.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/Makefile | 5 +++++ 1 file changed, 5 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org Tested-by: Simon Glass sjg@chromium.org # qemu-x86_64

To enable TIDSS driver only at SPL stage add rule to compile the TIDSS video driver, for SPL stage only if CONFIG_SPL_VIDEO_TIDSS is defined.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- drivers/video/Makefile | 1 + drivers/video/tidss/Makefile | 1 + 2 files changed, 2 insertions(+)
diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 4e2d34e675..c92d151bac 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -72,4 +72,5 @@ obj-y += sunxi/ ifdef CONFIG_SPL_BUILD obj-$(CONFIG_$(SPL_)VIDEO) += video-uclass.o vidconsole-uclass.o obj-$(CONFIG_$(SPL_)VIDEO) += video_bmp.o +obj-${CONFIG_$(SPL_)VIDEO_TIDSS} += tidss/ endif diff --git a/drivers/video/tidss/Makefile b/drivers/video/tidss/Makefile index f4f8c6c470..acfd5d0d09 100644 --- a/drivers/video/tidss/Makefile +++ b/drivers/video/tidss/Makefile @@ -10,3 +10,4 @@
obj-${CONFIG_VIDEO_TIDSS} = tidss_drv.o +obj-${CONFIG_$(SPL_)VIDEO_TIDSS} = tidss_drv.o

On Tue, 14 Mar 2023 at 17:51, Nikhil M Jain n-jain1@ti.com wrote:
To enable TIDSS driver only at SPL stage add rule to compile the TIDSS video driver, for SPL stage only if CONFIG_SPL_VIDEO_TIDSS is defined.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/Makefile | 1 + drivers/video/tidss/Makefile | 1 + 2 files changed, 2 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

Splash support requires functions which are in bmp.c and read.c to enable display of bmp image and reading image from boot media. Enable their compilation at SPL stage, using Kconfigs SPL_CMD_BMP, SPL_CMD_READ.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- cmd/Makefile | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/cmd/Makefile b/cmd/Makefile index 36d2daf22a..e2ed35559c 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -232,6 +232,8 @@ obj-$(CONFIG_ARCH_MVEBU) += mvebu/ endif # !CONFIG_SPL_BUILD
obj-$(CONFIG_$(SPL_)CMD_TLV_EEPROM) += tlv_eeprom.o +obj-$(CONFIG_$(SPL_)CMD_BMP) += bmp.o +obj-$(CONFIG_$(SPL_)CMD_READ) += read.o
# core command obj-y += nvedit.o

Hi Nikhil,
On Tue, 14 Mar 2023 at 17:51, Nikhil M Jain n-jain1@ti.com wrote:
Splash support requires functions which are in bmp.c and read.c to enable display of bmp image and reading image from boot media. Enable their compilation at SPL stage, using Kconfigs SPL_CMD_BMP, SPL_CMD_READ.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
cmd/Makefile | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/cmd/Makefile b/cmd/Makefile index 36d2daf22a..e2ed35559c 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -232,6 +232,8 @@ obj-$(CONFIG_ARCH_MVEBU) += mvebu/ endif # !CONFIG_SPL_BUILD
obj-$(CONFIG_$(SPL_)CMD_TLV_EEPROM) += tlv_eeprom.o +obj-$(CONFIG_$(SPL_)CMD_BMP) += bmp.o +obj-$(CONFIG_$(SPL_)CMD_READ) += read.o
# core command obj-y += nvedit.o -- 2.34.1
The required code should move to common/ so it can be called from the command and from SPL. Commands are not enabled in SPL.
Regards, Simon

CONFIG_SPLASH_SCREEN and CONFIG_CMD_BMP enables splash screen at u-boot proper. To enable splash screen at SPL, separate macros i.e. SPL_SPLASH_SCREEN and SPL_CMD_BMP are used instead. Use CONFIG_IS_ENABLED(#) to check for splash screen and bmp related macros, so that it checks for either u-boot proper or SPl related macros as enabled at u-boot proper or SPL stage respectively.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- common/splash.c | 2 +- include/splash.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/common/splash.c b/common/splash.c index 245ff680eb..885fa1ec86 100644 --- a/common/splash.c +++ b/common/splash.c @@ -157,7 +157,7 @@ void splash_display_banner(void) * Common function to show a splash image if env("splashimage") is set. * 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(CMD_BMP) int splash_display(void) { ulong addr; diff --git a/include/splash.h b/include/splash.h index 33e45e6941..1e4176b9ba 100644 --- a/include/splash.h +++ b/include/splash.h @@ -67,7 +67,7 @@ void splash_get_pos(int *x, int *y); static inline void splash_get_pos(int *x, int *y) { } #endif
-#if defined(CONFIG_SPLASH_SCREEN) && defined(CONFIG_CMD_BMP) +#if CONFIG_IS_ENABLED(SPLASH_SCREEN) && CONFIG_IS_ENABLED(CMD_BMP) int splash_display(void); #else static inline int splash_display(void)

On Tue, 14 Mar 2023 at 17:51, Nikhil M Jain n-jain1@ti.com wrote:
CONFIG_SPLASH_SCREEN and CONFIG_CMD_BMP enables splash screen at u-boot proper. To enable splash screen at SPL, separate macros i.e. SPL_SPLASH_SCREEN and SPL_CMD_BMP are used instead. Use CONFIG_IS_ENABLED(#) to check for splash screen and bmp related macros, so that it checks for either u-boot proper or SPl related macros as enabled at u-boot proper or SPL stage respectively.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
common/splash.c | 2 +- include/splash.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org Tested-by: Simon Glass sjg@chromium.org # qemu-x86_64

Enable displaying of u-boot video logo as default at SPL stage to if splash screen is disabled at SPL stage. Use CONFIG_IS_ENABLED for checking on splash screen macro both at SPL stage or u-boot proper depending upon where it is enabled.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- drivers/video/Kconfig | 2 +- drivers/video/video-uclass.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 1097e2c623..96e0f367d7 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -28,7 +28,7 @@ if VIDEO || SPL_VIDEO
config VIDEO_LOGO bool "Show the U-Boot logo on the display" - default y if !SPLASH_SCREEN + default y if !SPLASH_SCREEN || !SPL_SPLASH_SCREEN select VIDEO_BMP_RLE8 help This enables showing the U-Boot logo on the display when a video diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index 6aaacff10d..5e473c1686 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -498,7 +498,7 @@ static int video_post_probe(struct udevice *dev) }
if (IS_ENABLED(CONFIG_VIDEO_LOGO) && - !IS_ENABLED(CONFIG_SPLASH_SCREEN) && !plat->hide_logo) { + !CONFIG_IS_ENABLED(SPLASH_SCREEN) && !plat->hide_logo) { ret = show_splash(dev); if (ret) { log_debug("Cannot show splash screen\n");

On Tue, 14 Mar 2023 at 17:51, Nikhil M Jain n-jain1@ti.com wrote:
Enable displaying of u-boot video logo as default at SPL stage to if splash screen is disabled at SPL stage. Use CONFIG_IS_ENABLED for checking on splash screen macro both at SPL stage or u-boot proper depending upon where it is enabled.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
drivers/video/Kconfig | 2 +- drivers/video/video-uclass.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 1097e2c623..96e0f367d7 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -28,7 +28,7 @@ if VIDEO || SPL_VIDEO
Reviewed-by: Simon Glass sjg@chromium.org Tested-by: Simon Glass sjg@chromium.org # qemu-x86_64
Works well!

Add ospi boot media support to load splash image from OSPI memory, add offset to read image from ospi and necessary flags defininig type of storage and storage device.
Signed-off-by: Nikhil M Jain n-jain1@ti.com --- board/ti/am62x/evm.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c index 20b2a70122..ca7c89aea0 100644 --- a/board/ti/am62x/evm.c +++ b/board/ti/am62x/evm.c @@ -22,6 +22,12 @@ DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_SPLASH_SCREEN static struct splash_location default_splash_locations[] = { + { + .name = "sf", + .storage = SPLASH_STORAGE_SF, + .flags = SPLASH_STORAGE_RAW, + .offset = 0x700000, + }, { .name = "mmc", .storage = SPLASH_STORAGE_MMC,

On Tue, 14 Mar 2023 at 17:51, Nikhil M Jain n-jain1@ti.com wrote:
Add ospi boot media support to load splash image from OSPI memory, add offset to read image from ospi and necessary flags defininig type of storage and storage device.
Signed-off-by: Nikhil M Jain n-jain1@ti.com
board/ti/am62x/evm.c | 6 ++++++ 1 file changed, 6 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

Hi Nikhil,
Thanks for the series.
On 14/03/23 10:20, Nikhil M Jain wrote:
To enable splash screen at SPL stage move video driver and splash screen framework at SPL, which will bring up image on display very quickly and thus have early display support in SPL.
Change in V2
- Removed artifacts from bad patch apply.
For the subject,
Also add the version in subject prefix, next revision should be V3 now.
I understand this adds support for splash screen at U-boot SPL, so per
my opinion more meaningful subject would be "Add splash screen support at u-boot SPL"
Regards
Devarsh
Nikhil M Jain (9): drivers: video: Kconfig: Necessary configs for video at SPL drivers: video: tidss: Kconfig: Configs to enable TIDSS at SPL cmd: Kconfig: Add necessary configs for splash screen at SPL drivers: video: Makefile: Compile video driver files at SPL drivers: video: tidss: Makefile: Add condition to compile TIDSS at SPL cmd: Makefile: Add rules to build bmp.c and read.c at SPL common: splash: Enable splash_display at SPL stage drivers: video: video-uclass: Disable u-boot logo at SPL board: ti: am62x: evm: OSPI support for splash screen
board/ti/am62x/evm.c | 6 ++++++ cmd/Kconfig | 17 +++++++++++++++++ cmd/Makefile | 2 ++ common/splash.c | 2 +- drivers/video/Kconfig | 32 ++++++++++++++++++++++++++++---- drivers/video/Makefile | 6 ++++++ drivers/video/tidss/Kconfig | 6 ++++++ drivers/video/tidss/Makefile | 1 + drivers/video/video-uclass.c | 2 +- include/splash.h | 2 +- 10 files changed, 69 insertions(+), 7 deletions(-)
participants (3)
-
Devarsh Thakkar
-
Nikhil M Jain
-
Simon Glass