summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-11-19 13:24:06 -0700
committerAnatolij Gustschin <agust@denx.de>2021-12-26 23:33:26 +0100
commite567122b3253156009aeb6eda1a3d82962877367 (patch)
tree937684c447a7a7a8fb3cade4310bef799b0068c3
parentd8bf49fa20bf1bf8b94e574a651e117da21a632c (diff)
x86: coreboot: Support getting a logo from virtio
Enable this feature so that a splash screen can be provided. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--board/coreboot/coreboot/coreboot.c20
-rw-r--r--include/configs/coreboot.h3
-rw-r--r--include/configs/x86-common.h5
3 files changed, 26 insertions, 2 deletions
diff --git a/board/coreboot/coreboot/coreboot.c b/board/coreboot/coreboot/coreboot.c
index 11294d6e87..3b90ae7538 100644
--- a/board/coreboot/coreboot/coreboot.c
+++ b/board/coreboot/coreboot/coreboot.c
@@ -4,10 +4,11 @@
*/
#include <common.h>
-#include <asm/cb_sysinfo.h>
-#include <asm/global_data.h>
+#include <splash.h>
#include <init.h>
#include <smbios.h>
+#include <asm/cb_sysinfo.h>
+#include <asm/global_data.h>
int board_early_init_r(void)
{
@@ -65,3 +66,18 @@ fallback:
return checkboard();
}
#endif
+
+static struct splash_location coreboot_splash_locations[] = {
+ {
+ .name = "virtio_fs",
+ .storage = SPLASH_STORAGE_VIRTIO,
+ .flags = SPLASH_STORAGE_RAW,
+ .devpart = "0",
+ },
+};
+
+int splash_screen_prepare(void)
+{
+ return splash_source_load(coreboot_splash_locations,
+ ARRAY_SIZE(coreboot_splash_locations));
+}
diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h
index 1cf5c037e8..d6d679fd7d 100644
--- a/include/configs/coreboot.h
+++ b/include/configs/coreboot.h
@@ -10,6 +10,9 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define SPLASH_SETTINGS "splashsource=virtio_fs\0" \
+ "splashimage=0x1000000\0"
+
#include <configs/x86-common.h>
#define CONFIG_SYS_MONITOR_LEN (1 << 20)
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
index a03913d5e7..394978b9d9 100644
--- a/include/configs/x86-common.h
+++ b/include/configs/x86-common.h
@@ -81,9 +81,14 @@
#define DISTRO_BOOTENV
#endif
+#ifndef SPLASH_SETTINGS
+#define SPLASH_SETTINGS
+#endif
+
#define CONFIG_EXTRA_ENV_SETTINGS \
DISTRO_BOOTENV \
CONFIG_STD_DEVICES_SETTINGS \
+ SPLASH_SETTINGS \
"pciconfighost=1\0" \
"netdev=eth0\0" \
"consoledev=ttyS0\0" \