x86: coreboot: Support getting a logo from virtio
authorSimon Glass <sjg@chromium.org>
Fri, 19 Nov 2021 20:24:06 +0000 (13:24 -0700)
committerAnatolij Gustschin <agust@denx.de>
Sun, 26 Dec 2021 22:33:26 +0000 (23:33 +0100)
Enable this feature so that a splash screen can be provided.

Signed-off-by: Simon Glass <sjg@chromium.org>
board/coreboot/coreboot/coreboot.c
include/configs/coreboot.h
include/configs/x86-common.h

index 11294d6..3b90ae7 100644 (file)
@@ -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));
+}
index 1cf5c03..d6d679f 100644 (file)
@@ -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)
index a03913d..394978b 100644 (file)
 #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"                            \