summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubrata Banik <subratabanik@google.com>2023-08-16 02:50:16 +0530
committerSubrata Banik <subratabanik@google.com>2023-08-17 15:12:57 +0000
commit03dfc212579e16898de5107bf8e9fc03e51ef669 (patch)
tree950cb50c221ced3afd37367cecb7147bd79f4676
parent599d46bbf4bbb6de080e11c3b7af25af5bc931be (diff)
soc/intel/alderlake: Add provision to show pre-boot splash screen
This patch adds the ability to show a pre-boot splash screen on Meteor Lake systems using FSP-S. The patch calls into `fsp_convert_bmp_to_gop_blt()` when the `BMP_LOGO` config is enabled. This function converts a BMP file to a BLT buffer, which is then used by FSP-S to render the splash screen. Additionally, increase the heap size (malloc'able size) upto 512KB (when BMP_LOGO config is enabled) to accommodate high resolution logo file. BUG=b:284799726 TEST=Able to see splash screen while booting google/marasov with BMP_LOGO config enable. Signed-off-by: Subrata Banik <subratabanik@google.com> Change-Id: I9f4d1bc0aa991e784624ca19ba96a259ab8ddfa6 Reviewed-on: https://review.coreboot.org/c/coreboot/+/77233 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
-rw-r--r--src/soc/intel/alderlake/Kconfig1
-rw-r--r--src/soc/intel/alderlake/fsp_params.c8
2 files changed, 8 insertions, 1 deletions
diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig
index 480eb30e21..5facb85339 100644
--- a/src/soc/intel/alderlake/Kconfig
+++ b/src/soc/intel/alderlake/Kconfig
@@ -216,6 +216,7 @@ config IED_REGION_SIZE
config HEAP_SIZE
hex
+ default 0x80000 if BMP_LOGO
default 0x10000
config GFX_GMA_DEFAULT_MMIO
diff --git a/src/soc/intel/alderlake/fsp_params.c b/src/soc/intel/alderlake/fsp_params.c
index b64c302126..402af89ed8 100644
--- a/src/soc/intel/alderlake/fsp_params.c
+++ b/src/soc/intel/alderlake/fsp_params.c
@@ -12,6 +12,7 @@
#include <drivers/intel/gma/i915_reg.h>
#include <fsp/api.h>
#include <fsp/fsp_debug_event.h>
+#include <fsp/fsp_gop_blt.h>
#include <fsp/ppi/mp_service_ppi.h>
#include <fsp/util.h>
#include <gpio.h>
@@ -1371,5 +1372,10 @@ __weak void mainboard_silicon_init_params(FSP_S_CONFIG *s_cfg)
/* Handle FSP logo params */
void soc_load_logo(FSPS_UPD *supd)
{
- bmp_load_logo(&supd->FspsConfig.LogoPtr, &supd->FspsConfig.LogoSize);
+ fsp_convert_bmp_to_gop_blt(&supd->FspsConfig.LogoPtr,
+ &supd->FspsConfig.LogoSize,
+ &supd->FspsConfig.BltBufferAddress,
+ &supd->FspsConfig.BltBufferSize,
+ &supd->FspsConfig.LogoPixelHeight,
+ &supd->FspsConfig.LogoPixelWidth);
}