1# SPDX-License-Identifier: GPL-2.0
2obj-$(CONFIG_PCIE_CADENCE) += cadence/
3obj-$(CONFIG_PCI_FTPCI100) += pci-ftpci100.o
4obj-$(CONFIG_PCI_IXP4XX) += pci-ixp4xx.o
5obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o
6obj-$(CONFIG_PCI_HYPERV_INTERFACE) += pci-hyperv-intf.o
7obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
8obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o
9obj-$(CONFIG_PCI_TEGRA) += pci-tegra.o
10obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o
11obj-$(CONFIG_PCIE_RCAR_HOST) += pcie-rcar.o pcie-rcar-host.o
12obj-$(CONFIG_PCIE_RCAR_EP) += pcie-rcar.o pcie-rcar-ep.o
13obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o
14obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o
15obj-$(CONFIG_PCI_HOST_THUNDER_ECAM) += pci-thunder-ecam.o
16obj-$(CONFIG_PCI_HOST_THUNDER_PEM) += pci-thunder-pem.o
17obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
18obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o
19obj-$(CONFIG_PCIE_XILINX_CPM) += pcie-xilinx-cpm.o
20obj-$(CONFIG_PCIE_XILINX_DMA_PL) += pcie-xilinx-dma-pl.o
21obj-$(CONFIG_PCI_V3_SEMI) += pci-v3-semi.o
22obj-$(CONFIG_PCI_XGENE) += pci-xgene.o
23obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o
24obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o
25obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o
26obj-$(CONFIG_PCIE_IPROC_MSI) += pcie-iproc-msi.o
27obj-$(CONFIG_PCIE_IPROC_PLATFORM) += pcie-iproc-platform.o
28obj-$(CONFIG_PCIE_IPROC_BCMA) += pcie-iproc-bcma.o
29obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o
30obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o
31obj-$(CONFIG_PCIE_ROCKCHIP) += pcie-rockchip.o
32obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o
33obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
34obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
35obj-$(CONFIG_PCIE_MEDIATEK_GEN3) += pcie-mediatek-gen3.o
36obj-$(CONFIG_PCIE_MICROCHIP_HOST) += pcie-microchip-host.o
37obj-$(CONFIG_VMD) += vmd.o
38obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o
39obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o
40obj-$(CONFIG_PCIE_HISI_ERR) += pcie-hisi-error.o
41obj-$(CONFIG_PCIE_APPLE) += pcie-apple.o
42obj-$(CONFIG_PCIE_MT7621) += pcie-mt7621.o
43
44# pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
45obj-y				+= dwc/
46obj-y				+= mobiveil/
47
48
49# The following drivers are for devices that use the generic ACPI
50# pci_root.c driver but don't support standard ECAM config access.
51# They contain MCFG quirks to replace the generic ECAM accessors with
52# device-specific ones that are shared with the DT driver.
53
54# The ACPI driver is generic and should not require driver-specific
55# config options to be enabled, so we always build these drivers on
56# ARM64 and use internal ifdefs to only build the pieces we need
57# depending on whether ACPI, the DT driver, or both are enabled.
58
59ifdef CONFIG_ACPI
60ifdef CONFIG_PCI_QUIRKS
61obj-$(CONFIG_ARM64) += pci-thunder-ecam.o
62obj-$(CONFIG_ARM64) += pci-thunder-pem.o
63obj-$(CONFIG_ARM64) += pci-xgene.o
64endif
65endif
66