summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshwin Kumar <ashk@codeaurora.org>2019-10-29 13:20:06 +0530
committerJulius Werner <jwerner@chromium.org>2020-05-11 23:59:38 +0000
commit16eb4031c69c694d991424ef0905cce1103050e8 (patch)
treee098756987bdd5676558906c17819fb8b81aac8b
parent9ec99342eb062ef4e4e34832adcce2e9db2414e7 (diff)
downloadcoreboot-16eb4031c69c694d991424ef0905cce1103050e8.tar.gz
coreboot-16eb4031c69c694d991424ef0905cce1103050e8.tar.bz2
coreboot-16eb4031c69c694d991424ef0905cce1103050e8.zip
trogdor: QCSDI loading depends on VB2_GBB_FLAG_RUNNING_FAFT setting flag
Change-Id: I63f35c94bc6c60934ace5fe0fd9176443059b354 Signed-off-by: Ashwin Kumar <ashk@codeaurora.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36518 Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/soc/qualcomm/common/qclib.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/soc/qualcomm/common/qclib.c b/src/soc/qualcomm/common/qclib.c
index 6bf2f0ed252c..d06cb429eb5b 100644
--- a/src/soc/qualcomm/common/qclib.c
+++ b/src/soc/qualcomm/common/qclib.c
@@ -13,6 +13,8 @@
#include <soc/mmu_common.h>
#include <soc/qclib_common.h>
#include <soc/symbols_common.h>
+#include <security/vboot/misc.h>
+#include <vb2_api.h>
struct qclib_cb_if_table qclib_cb_if_table = {
.magic = QCLIB_MAGIC_NUMBER,
@@ -144,9 +146,11 @@ void qclib_load_and_run(void)
qclib_cb_if_table.global_attributes =
QCLIB_GA_ENABLE_UART_LOGGING;
- if (CONFIG(QC_SDI_ENABLE)) {
+ if (CONFIG(QC_SDI_ENABLE) && (!CONFIG(VBOOT) ||
+ !vboot_is_gbb_flag_set(VB2_GBB_FLAG_RUNNING_FAFT))) {
struct prog qcsdi =
- PROG_INIT(PROG_REFCODE, CONFIG_CBFS_PREFIX "/qcsdi");
+ PROG_INIT(PROG_REFCODE,
+ CONFIG_CBFS_PREFIX "/qcsdi");
/* Attempt to load QCSDI elf */
if (prog_locate(&qcsdi))
@@ -155,8 +159,8 @@ void qclib_load_and_run(void)
if (cbfs_prog_stage_load(&qcsdi))
goto fail;
- qclib_add_if_table_entry(QCLIB_TE_QCSDI, prog_entry(&qcsdi),
- prog_size(&qcsdi), 0);
+ qclib_add_if_table_entry(QCLIB_TE_QCSDI,
+ prog_entry(&qcsdi), prog_size(&qcsdi), 0);
printk(BIOS_INFO, "qcsdi.entry[%p]\n", qcsdi.entry);
}