diff --git a/src/soc/qualcomm/sc7280/Kconfig b/src/soc/qualcomm/sc7280/Kconfig index ccba8ff9b5..3f3ded3c59 100644 --- a/src/soc/qualcomm/sc7280/Kconfig +++ b/src/soc/qualcomm/sc7280/Kconfig @@ -19,8 +19,6 @@ config SOC_QUALCOMM_SC7280 select HAVE_LINEAR_FRAMEBUFFER select COMPRESS_BOOTBLOCK select HAVE_UART_SPECIAL - select PCI - select NO_ECAM_MMCONF_SUPPORT if SOC_QUALCOMM_SC7280 diff --git a/src/soc/qualcomm/sc7280/soc.c b/src/soc/qualcomm/sc7280/soc.c index a6851dfcd7..02194a23a7 100644 --- a/src/soc/qualcomm/sc7280/soc.c +++ b/src/soc/qualcomm/sc7280/soc.c @@ -45,10 +45,14 @@ 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 (CONFIG(PCI) && CONFIG(NO_ECAM_MMCONF_SUPPORT)) + dev->ops = &pci_domain_ops; + else + printk(BIOS_INFO, "Skip setting PCIe ops\n"); + } else if (dev->path.type == DEVICE_PATH_CPU_CLUSTER) { dev->ops = &soc_ops; + } } struct chip_operations soc_qualcomm_sc7280_ops = {