diff --git a/src/soc/qualcomm/common/include/soc/qclib_common.h b/src/soc/qualcomm/common/include/soc/qclib_common.h index ce5dd82bf3..65c87d7ec7 100644 --- a/src/soc/qualcomm/common/include/soc/qclib_common.h +++ b/src/soc/qualcomm/common/include/soc/qclib_common.h @@ -86,6 +86,7 @@ void qclib_add_if_table_entry(const char *name, void *base, void qclib_load_and_run(void); void qclib_rerun(void); int qclib_soc_override(struct qclib_cb_if_table *table); +int qclib_mainboard_override(struct qclib_cb_if_table *table); bool qclib_check_dload_mode(void); const char *qclib_file_default(enum qclib_cbfs_file file); diff --git a/src/soc/qualcomm/x1p42100/qclib.c b/src/soc/qualcomm/x1p42100/qclib.c index 33de115dcf..c67b3591f0 100644 --- a/src/soc/qualcomm/x1p42100/qclib.c +++ b/src/soc/qualcomm/x1p42100/qclib.c @@ -8,6 +8,8 @@ #include #include +__weak int qclib_mainboard_override(struct qclib_cb_if_table *table) { return 0; } + bool qclib_check_dload_mode(void) { if (!CONFIG(QC_RAMDUMP_ENABLE)) @@ -55,5 +57,11 @@ int qclib_soc_override(struct qclib_cb_if_table *table) qclib_add_if_table_entry(QCLIB_TE_SHRM_META_SETTINGS, _qc_blob_meta, data_size, 0); + /* hook for platform specific policy configuration */ + if (qclib_mainboard_override(table)) { + printk(BIOS_ERR, "qclib_mainboard_override failed\n"); + return -1; + } + return 0; }