soc/amd/mendocino: Update FSP-S UPD to pass boot logo

A new FSP-S UPD is added to allow passing a buffer containing boot logo
in BMP format. Update the FSP-S UPD and add a SoC specific callback to
populate the UPD.

BUG=b:294055390
TEST=Build and boot to OS in Skyrim. Pass the BMP logo buffer through
the UPD to FSP-S. Ensure that the concerned driver in FSP-S handles the
buffer.

Change-Id: Ie522956b6dfe2400ef91d43c80f2adc6d52c8415
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78817
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Karthikeyan Ramasubramanian 2023-10-13 16:18:56 +00:00 committed by Matt DeVillier
parent 9a9e9a1a16
commit 47b393a17d
2 changed files with 9 additions and 1 deletions

View File

@ -6,6 +6,7 @@
#include <amdblocks/apob_cache.h> #include <amdblocks/apob_cache.h>
#include <amdblocks/vbios_cache.h> #include <amdblocks/vbios_cache.h>
#include <bootmode.h> #include <bootmode.h>
#include <bootsplash.h>
#include <console/console.h> #include <console/console.h>
#include <device/pci.h> #include <device/pci.h>
#include <fsp/api.h> #include <fsp/api.h>
@ -52,3 +53,9 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
if (!acpi_is_wakeup_s3()) if (!acpi_is_wakeup_s3())
payload_preload(); payload_preload();
} }
void soc_load_logo(FSPS_UPD *supd)
{
uint32_t logo_size;
bmp_load_logo(&supd->FspsConfig.logo_bmp_buffer, &logo_size);
}

View File

@ -11,7 +11,8 @@
typedef struct __packed { typedef struct __packed {
/** Offset 0x0020**/ uint32_t vbios_buffer; /** Offset 0x0020**/ uint32_t vbios_buffer;
/** Offset 0x0024**/ uint64_t gop_reserved; /** Offset 0x0024**/ uint32_t gop_reserved;
/** Offset 0x0028**/ uint32_t logo_bmp_buffer;
/** Offset 0x002C**/ uint32_t reserved1; /** Offset 0x002C**/ uint32_t reserved1;
/** Offset 0x0030**/ uint16_t UpdTerminator; /** Offset 0x0030**/ uint16_t UpdTerminator;
} FSP_S_CONFIG; } FSP_S_CONFIG;