1 menu "PCI host controller drivers"
5 bool "Marvell EBU PCIe controller"
6 depends on ARCH_MVEBU || ARCH_DOVE
11 bool "Aardvark PCIe controller"
12 depends on ARCH_MVEBU && ARM64
14 depends on PCI_MSI_IRQ_DOMAIN
16 Add support for Aardvark 64bit PCIe Host Controller. This
17 controller is part of the South Bridge of the Marvel Armada
20 config PCIE_XILINX_NWL
22 depends on ARCH_ZYNQMP
23 depends on PCI_MSI_IRQ_DOMAIN
25 Say 'Y' here if you want kernel support for Xilinx
26 NWL PCIe controller. The controller can act as Root Port
27 or End Point. The current option selection will only
28 support root port enabling.
31 bool "Faraday Technology FTPCI100 PCI controller"
37 bool "NVIDIA Tegra PCIe controller"
40 Say Y here if you want support for the PCIe host controller found
44 bool "Renesas R-Car Gen2 Internal PCI controller"
46 depends on ARCH_RENESAS || COMPILE_TEST
48 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
49 There are 3 internal PCI controllers available with a single
50 built-in EHCI/OHCI host controller present on each one.
53 bool "Renesas R-Car PCIe controller"
54 depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
55 depends on PCI_MSI_IRQ_DOMAIN
57 Say Y here if you want PCIe controller support on R-Car SoCs.
59 config PCI_HOST_COMMON
63 config PCI_HOST_GENERIC
64 bool "Generic PCI host controller"
65 depends on (ARM || ARM64) && OF
66 select PCI_HOST_COMMON
69 Say Y here if you want to support a simple generic PCI host
70 controller, such as the one emulated by kvmtool.
73 bool "Xilinx AXI PCIe host bridge support"
74 depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC)
76 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
80 bool "X-Gene PCIe controller"
82 depends on OF || (ACPI && PCI_QUIRKS)
85 Say Y here if you want internal PCI support on APM X-Gene SoC.
86 There are 5 internal PCIe ports available. Each port is GEN3 capable
87 and have varied lanes from x1 to x8.
90 bool "X-Gene v1 PCIe MSI feature"
92 depends on PCI_MSI_IRQ_DOMAIN
95 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
96 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
99 bool "ARM Versatile PB PCI controller"
100 depends on ARCH_VERSATILE
106 This enables the iProc PCIe core controller support for Broadcom's
107 iProc family of SoCs. An appropriate bus interface driver needs
108 to be enabled to select this.
110 config PCIE_IPROC_PLATFORM
111 tristate "Broadcom iProc PCIe platform bus driver"
112 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
115 default ARCH_BCM_IPROC
117 Say Y here if you want to use the Broadcom iProc PCIe controller
118 through the generic platform bus interface
120 config PCIE_IPROC_BCMA
121 tristate "Broadcom iProc PCIe BCMA bus driver"
122 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
125 default ARCH_BCM_5301X
127 Say Y here if you want to use the Broadcom iProc PCIe controller
128 through the BCMA bus interface
130 config PCIE_IPROC_MSI
131 bool "Broadcom iProc PCIe MSI support"
132 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
133 depends on PCI_MSI_IRQ_DOMAIN
134 default ARCH_BCM_IPROC
136 Say Y here if you want to enable MSI support for Broadcom's iProc
140 bool "Altera PCIe controller"
141 depends on ARM || NIOS2
145 Say Y here if you want to enable PCIe controller support on Altera
148 config PCIE_ALTERA_MSI
149 bool "Altera PCIe MSI feature"
150 depends on PCIE_ALTERA
151 depends on PCI_MSI_IRQ_DOMAIN
153 Say Y here if you want PCIe MSI support for the Altera FPGA.
154 This MSI driver supports Altera MSI to GIC controller IP.
156 config PCI_HOST_THUNDER_PEM
157 bool "Cavium Thunder PCIe controller to off-chip devices"
159 depends on OF || (ACPI && PCI_QUIRKS)
160 select PCI_HOST_COMMON
162 Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
164 config PCI_HOST_THUNDER_ECAM
165 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
167 depends on OF || (ACPI && PCI_QUIRKS)
168 select PCI_HOST_COMMON
170 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
173 tristate "Rockchip PCIe controller"
174 depends on ARCH_ROCKCHIP || COMPILE_TEST
176 depends on PCI_MSI_IRQ_DOMAIN
179 Say Y here if you want internal PCI support on Rockchip SoC.
180 There is 1 internal PCIe port available to support GEN2 with
184 bool "MediaTek PCIe controller"
185 depends on (ARM || ARM64) && (ARCH_MEDIATEK || COMPILE_TEST)
190 Say Y here if you want to enable PCIe controller support on
193 config PCIE_TANGO_SMP8759
194 bool "Tango SMP8759 PCIe controller (DANGEROUS)"
195 depends on ARCH_TANGO && PCI_MSI && OF
197 select PCI_HOST_COMMON
199 Say Y here to enable PCIe controller support for Sigma Designs
200 Tango SMP8759-based systems.
202 Note: The SMP8759 controller multiplexes PCI config and MMIO
203 accesses, and Linux doesn't provide a way to serialize them.
204 This can lead to data corruption if drivers perform concurrent
205 config and MMIO accesses.
208 depends on PCI_MSI && X86_64 && SRCU
209 tristate "Intel Volume Management Device Driver"
212 Adds support for the Intel Volume Management Device (VMD). VMD is a
213 secondary PCI host bridge that allows PCI Express root ports,
214 and devices attached to them, to be removed from the default
215 PCI domain and placed within the VMD domain. This provides
216 more bus resources than are otherwise possible with a
217 single domain. If you know your system provides one of these and
218 has devices attached to it, say Y; if you are not sure, say N.
220 To compile this driver as a module, choose M here: the
221 module will be called vmd.