diff options
-rw-r--r-- | src/soc/qualcomm/common/qclib.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/soc/qualcomm/common/qclib.c b/src/soc/qualcomm/common/qclib.c index 6bf2f0ed25..d06cb429eb 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); } |