Matt DeVillier has submitted this change. ( https://review.coreboot.org/c/coreboot/+/78817?usp=email )
Change subject: soc/amd/mendocino: Update FSP-S UPD to pass boot logo ......................................................................
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 --- M src/soc/amd/mendocino/fsp_s_params.c M src/vendorcode/amd/fsp/mendocino/FspsUpd.h 2 files changed, 9 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Eric Lai: Looks good to me, approved Matt DeVillier: Looks good to me, approved
diff --git a/src/soc/amd/mendocino/fsp_s_params.c b/src/soc/amd/mendocino/fsp_s_params.c index ce450e8..e1eff32 100644 --- a/src/soc/amd/mendocino/fsp_s_params.c +++ b/src/soc/amd/mendocino/fsp_s_params.c @@ -6,6 +6,7 @@ #include <amdblocks/apob_cache.h> #include <amdblocks/vbios_cache.h> #include <bootmode.h> +#include <bootsplash.h> #include <console/console.h> #include <device/pci.h> #include <fsp/api.h> @@ -52,3 +53,9 @@ if (!acpi_is_wakeup_s3()) payload_preload(); } + +void soc_load_logo(FSPS_UPD *supd) +{ + uint32_t logo_size; + bmp_load_logo(&supd->FspsConfig.logo_bmp_buffer, &logo_size); +} diff --git a/src/vendorcode/amd/fsp/mendocino/FspsUpd.h b/src/vendorcode/amd/fsp/mendocino/FspsUpd.h index 3ac52c0..fd250d1 100644 --- a/src/vendorcode/amd/fsp/mendocino/FspsUpd.h +++ b/src/vendorcode/amd/fsp/mendocino/FspsUpd.h @@ -11,7 +11,8 @@
typedef struct __packed { /** 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 0x0030**/ uint16_t UpdTerminator; } FSP_S_CONFIG;