/* SPDX-License-Identifier: GPL-2.0-only */ /* This file is part of the coreboot project. */ #include #include #include #include #include #include /* Locate VBT and pass it to FSP GOP */ void load_vbt(uint8_t s3_resume, SILICON_INIT_UPD *params) { const optionrom_vbt_t *vbt_data = NULL; size_t vbt_len; /* Check boot mode - for S3 resume path VBT loading is not needed */ if (s3_resume) { printk(BIOS_DEBUG, "S3 resume do not pass VBT to GOP\n"); } else if (display_init_required()) { /* Get VBT data */ vbt_data = locate_vbt(&vbt_len); if (vbt_data != NULL) { if (CONFIG(DISPLAY_VBT)) { /* Display the vbt file contents */ printk(BIOS_DEBUG, "VBT Data:\n"); hexdump(vbt_data, vbt_len); printk(BIOS_DEBUG, "\n"); } printk(BIOS_DEBUG, "Passing VBT to GOP\n"); } else { printk(BIOS_DEBUG, "VBT not found!\n"); } } else { printk(BIOS_DEBUG, "Not passing VBT to GOP\n"); } params->GraphicsConfigPtr = (u32)vbt_data; }