summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/qualcomm/common/pcie_common.c3
-rw-r--r--src/soc/qualcomm/sc7280/soc.c9
2 files changed, 9 insertions, 3 deletions
diff --git a/src/soc/qualcomm/common/pcie_common.c b/src/soc/qualcomm/common/pcie_common.c
index 2f53e28028..940b206f1e 100644
--- a/src/soc/qualcomm/common/pcie_common.c
+++ b/src/soc/qualcomm/common/pcie_common.c
@@ -416,6 +416,9 @@ static enum cb_err qcom_dw_pcie_enable(struct qcom_pcie_cntlr_t *pcie)
*/
enum cb_err fill_lb_pcie(struct lb_pcie *pcie)
{
+ if (!mainboard_needs_pcie_init())
+ return CB_ERR_NOT_IMPLEMENTED;
+
pcie_cntlr_cfg_t *pcierc = qcom_pcie_cfg.cntlr_cfg;
pcie->ctrl_base = (uintptr_t)pcierc->dbi_base;
return CB_SUCCESS;
diff --git a/src/soc/qualcomm/sc7280/soc.c b/src/soc/qualcomm/sc7280/soc.c
index dc5a9b0b78..268f080194 100644
--- a/src/soc/qualcomm/sc7280/soc.c
+++ b/src/soc/qualcomm/sc7280/soc.c
@@ -43,9 +43,12 @@ static struct device_operations soc_ops = {
static void enable_soc_dev(struct device *dev)
{
/* Set the operations if it is a special bus type */
- if (dev->path.type == DEVICE_PATH_DOMAIN)
- dev->ops = &pci_domain_ops;
- else if (dev->path.type == DEVICE_PATH_CPU_CLUSTER)
+ if (dev->path.type == DEVICE_PATH_DOMAIN) {
+ if (mainboard_needs_pcie_init())
+ dev->ops = &pci_domain_ops;
+ else
+ printk(BIOS_DEBUG, "Skip setting PCIe ops\n");
+ } else if (dev->path.type == DEVICE_PATH_CPU_CLUSTER)
dev->ops = &soc_ops;
}