Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/27169
Change subject: drivers/fsp1_1: fix VBT Loading by using GMA common function ......................................................................
drivers/fsp1_1: fix VBT Loading by using GMA common function
Commit 77034fa [intel/common: compress VBT] compressed vbt.bin in CBFS, but only changed the loader in soc/intel/common, forgetting the separate one used by FSP 1.0. As the soc/intel/common loader has now been rolled into the one in drivers/intel/gma, replace the VBT loader used by FSP 1.1 with the GMA one.
Test: build/boot google/chell, observe display initialized prior to OS load, no FSP warning in cbmem console due to invalid VBT signature.
Change-Id: Iba882ee4d9e83dcd88bdf7dd2f5591f66005a3fe Signed-off-by: Matt DeVillier matt.devillier@gmail.com --- D src/drivers/intel/fsp1_1/include/fsp/gop.h M src/drivers/intel/fsp1_1/vbt.c 2 files changed, 8 insertions(+), 63 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/69/27169/1
diff --git a/src/drivers/intel/fsp1_1/include/fsp/gop.h b/src/drivers/intel/fsp1_1/include/fsp/gop.h deleted file mode 100644 index 66c8a3c..0000000 --- a/src/drivers/intel/fsp1_1/include/fsp/gop.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2015 Intel Corp. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#ifndef _FSP1_1_GOP_H_ -#define _FSP1_1_GOP_H_ - -#include <fsp/gma.h> - -const optionrom_vbt_t *fsp_get_vbt(uint32_t *vbt_len); - -#endif /* _FSP1_1_GOP_H_ */ diff --git a/src/drivers/intel/fsp1_1/vbt.c b/src/drivers/intel/fsp1_1/vbt.c index 92a4c91..4091340 100644 --- a/src/drivers/intel/fsp1_1/vbt.c +++ b/src/drivers/intel/fsp1_1/vbt.c @@ -17,47 +17,9 @@ #include <bootmode.h> #include <cbfs.h> #include <console/console.h> -#include <fsp/gop.h> #include <fsp/ramstage.h> #include <fsp/util.h> - -/* Reading VBT table from flash */ -const optionrom_vbt_t *fsp_get_vbt(uint32_t *vbt_len) -{ - size_t vbt_size; - union { - const optionrom_vbt_t *data; - uint32_t *signature; - } vbt; - - /* Locate the vbt file in cbfs */ - vbt.data = cbfs_boot_map_with_leak("vbt.bin", CBFS_TYPE_RAW, &vbt_size); - if (!vbt.data) { - printk(BIOS_INFO, - "FSP_INFO: VBT data file (vbt.bin) not found in CBFS"); - return NULL; - } - - /* Validate the vbt file */ - if (*vbt.signature != VBT_SIGNATURE) { - printk(BIOS_WARNING, - "FSP_WARNING: Invalid signature in VBT data file (vbt.bin)!\n"); - return NULL; - } - *vbt_len = vbt_size; - printk(BIOS_DEBUG, "FSP_INFO: VBT found at %p, 0x%08x bytes\n", - vbt.data, *vbt_len); - -#if IS_ENABLED(CONFIG_DISPLAY_VBT) - /* Display the vbt file contents */ - printk(BIOS_DEBUG, "VBT Data:\n"); - hexdump(vbt.data, *vbt_len); - printk(BIOS_DEBUG, "\n"); -#endif - - /* Return the pointer to the vbt file data */ - return vbt.data; -} +#include <drivers/intel/gma/opregion.h>
/* Locate VBT and pass it to FSP GOP */ void load_vbt(uint8_t s3_resume, SILICON_INIT_UPD *params) @@ -70,9 +32,15 @@ printk(BIOS_DEBUG, "S3 resume do not pass VBT to GOP\n"); } else if (display_init_required()) { /* Get VBT data */ - vbt_data = fsp_get_vbt(&vbt_len); + vbt_data = locate_vbt(&vbt_len); if (vbt_data != NULL) printk(BIOS_DEBUG, "Passing VBT to GOP\n"); +#if IS_ENABLED(CONFIG_DISPLAY_VBT) + /* Display the vbt file contents */ + printk(BIOS_DEBUG, "VBT Data:\n"); + hexdump(vbt.data, *vbt_len); + printk(BIOS_DEBUG, "\n"); +#endif else printk(BIOS_DEBUG, "VBT not found!\n"); } else {