summaryrefslogtreecommitdiff
path: root/src/soc/intel/common/vbt.c
diff options
context:
space:
mode:
authorAbhay Kumar <abhay.kumar@intel.com>2016-07-14 18:43:54 -0700
committerMartin Roth <martinroth@google.com>2016-07-29 00:09:05 +0200
commitec2947fb075838d1ea78754113aef6cf000cf522 (patch)
tree862c45dad3c71c00e801db5205141cca2dc5bbc2 /src/soc/intel/common/vbt.c
parent3707fc2d961720152e7e96bc1606b893023cb577 (diff)
downloadcoreboot-ec2947fb075838d1ea78754113aef6cf000cf522.tar.xz
soc/intel/apollolake: Remove PEIM GFX from normal mode and S3 resume
Do not pass VBT table to fsp in normal mode and S3 resume so that PEIM GFX will not get initialized. Change-Id: Iab7be3cceb0f80ae0273940b36fdd9c41bdb121e Signed-off-by: Abhay Kumar <abhay.kumar@intel.com> Reviewed-on: https://review.coreboot.org/14575 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/soc/intel/common/vbt.c')
-rw-r--r--src/soc/intel/common/vbt.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/soc/intel/common/vbt.c b/src/soc/intel/common/vbt.c
index 80b17a2f87..d9bb98a8d1 100644
--- a/src/soc/intel/common/vbt.c
+++ b/src/soc/intel/common/vbt.c
@@ -15,6 +15,8 @@
#include <cbfs.h>
#include <console/console.h>
+#include <arch/acpi.h>
+#include <bootmode.h>
#include "vbt.h"
@@ -40,3 +42,21 @@ enum cb_err locate_vbt(struct region_device *rdev)
return CB_SUCCESS;
}
+
+void *vbt_get(struct region_device *rdev)
+{
+ void *vbt_data;
+
+ /* Normal mode and S3 resume path PEIM GFX init is not needed.
+ * Passing NULL as VBT will not make PEIM GFX to execute. */
+ if (acpi_is_wakeup_s3())
+ return NULL;
+ if (!display_init_required())
+ return NULL;
+ if (locate_vbt(rdev) != CB_ERR) {
+ vbt_data = rdev_mmap_full(rdev);
+ return vbt_data;
+ } else {
+ return NULL;
+ }
+}