summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2016-01-20 13:21:32 -0800
committerPatrick Georgi <pgeorgi@google.com>2016-01-22 13:04:29 +0100
commit1249f056c1a9fbbf40314ae1e6dfa30326569ba0 (patch)
tree55cc927e7a99a524397c32361480a2dbc0eff2b2 /src/drivers
parent6324de17abb11fa9d72671ac2f019dc94d3d5088 (diff)
downloadcoreboot-1249f056c1a9fbbf40314ae1e6dfa30326569ba0.tar.xz
intel/fsp1_1: Fix for passing VBT when vboot requests it
In order to support vboot requesting graphics support in normal mode the VBT needs to be passed to FSP when it is requested outside of the usual developer/recovery path. To make this integrate cleaner use the generic bootmode provided display_init_required() function instead. Also have it print a message indicating when it does not pass VBT to GOP so it is easier to see what happened in the console logs. BUG=chrome-os-partner:49560 BRANCH=glados TEST=Enable EC_SLOW_UPDATE on chell and test that when vboot requests graphics support in normal mode FSP will get passed VBT and bring up the panel. Change-Id: I07bc54d37d687134b21baa60b5c278b5041241cf Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 41efd322951b8f3a8a687944832bfd89fd3014ca Original-Change-Id: I1b68760eabbf3af1d962cb2a3199e504a7852042 Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/322782 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/13074 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/intel/fsp1_1/vbt.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/drivers/intel/fsp1_1/vbt.c b/src/drivers/intel/fsp1_1/vbt.c
index 2f8f7e20be..414b88d95a 100644
--- a/src/drivers/intel/fsp1_1/vbt.c
+++ b/src/drivers/intel/fsp1_1/vbt.c
@@ -14,34 +14,29 @@
* GNU General Public License for more details.
*/
-#include <cbfs.h>
+#include <bootmode.h>
#include <console/console.h>
#include <fsp/ramstage.h>
#include <fsp/util.h>
-#include <lib.h>
-#include <string.h>
-#include <vendorcode/google/chromeos/chromeos.h>
/* 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;
+ const optionrom_vbt_t *vbt_data = NULL;
uint32_t vbt_len;
/* Check boot mode - for S3 resume path VBT loading is not needed */
if (s3_resume) {
- vbt_data = NULL;
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);
+ if (vbt_data != NULL)
+ printk(BIOS_DEBUG, "Passing VBT to GOP\n");
+ else
+ printk(BIOS_DEBUG, "VBT not found!\n");
} else {
- if (developer_mode_enabled() || recovery_mode_enabled()) {
- /* Get VBT data */
- vbt_data = fsp_get_vbt(&vbt_len);
- if (vbt_data != NULL)
- printk(BIOS_DEBUG, "Passing VBT to GOP\n");
- else
- printk(BIOS_DEBUG, "VBT not found!\n");
- } else
- vbt_data = NULL;
+ printk(BIOS_DEBUG, "Not passing VBT to GOP\n");
}
params->GraphicsConfigPtr = (u32)vbt_data;
}