1 menu "PCI host controller drivers"
5 bool "TI DRA7xx PCIe controller"
6 depends on OF && HAS_IOMEM && TI_PIPE3
7 depends on PCI_MSI_IRQ_DOMAIN
10 Enables support for the PCIe controller in the DRA7xx SoC. There
11 are two instances of PCIe controller in DRA7xx. This controller can
12 act both as EP and RC. This reuses the Designware core.
15 bool "Marvell EBU PCIe controller"
16 depends on ARCH_MVEBU || ARCH_DOVE
21 bool "Aardvark PCIe controller"
22 depends on ARCH_MVEBU && ARM64
24 depends on PCI_MSI_IRQ_DOMAIN
26 Add support for Aardvark 64bit PCIe Host Controller. This
27 controller is part of the South Bridge of the Marvel Armada
30 config PCIE_XILINX_NWL
32 depends on ARCH_ZYNQMP
33 depends on PCI_MSI_IRQ_DOMAIN
35 Say 'Y' here if you want kernel support for Xilinx
36 NWL PCIe controller. The controller can act as Root Port
37 or End Point. The current option selection will only
38 support root port enabling.
41 bool "Platform bus based DesignWare PCIe Controller"
42 depends on PCI_MSI_IRQ_DOMAIN
45 This selects the DesignWare PCIe controller support. Select this if
46 you have a PCIe controller on Platform bus.
48 If you have a controller with this interface, say Y or M here.
54 depends on PCI_MSI_IRQ_DOMAIN
57 bool "Samsung Exynos PCIe controller"
58 depends on SOC_EXYNOS5440
59 depends on PCI_MSI_IRQ_DOMAIN
64 bool "Freescale i.MX6 PCIe controller"
66 depends on PCI_MSI_IRQ_DOMAIN
71 bool "NVIDIA Tegra PCIe controller"
74 Say Y here if you want support for the PCIe host controller found
78 bool "Renesas R-Car Gen2 Internal PCI controller"
80 depends on ARCH_RENESAS || COMPILE_TEST
82 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
83 There are 3 internal PCI controllers available with a single
84 built-in EHCI/OHCI host controller present on each one.
87 bool "Renesas R-Car PCIe controller"
88 depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
89 depends on PCI_MSI_IRQ_DOMAIN
91 Say Y here if you want PCIe controller support on R-Car SoCs.
93 config PCI_HOST_COMMON
97 config PCI_HOST_GENERIC
98 bool "Generic PCI host controller"
99 depends on (ARM || ARM64) && OF
100 select PCI_HOST_COMMON
103 Say Y here if you want to support a simple generic PCI host
104 controller, such as the one emulated by kvmtool.
106 config PCIE_SPEAR13XX
107 bool "STMicroelectronics SPEAr PCIe controller"
108 depends on ARCH_SPEAR13XX
109 depends on PCI_MSI_IRQ_DOMAIN
113 Say Y here if you want PCIe support on SPEAr13XX SoCs.
116 bool "TI Keystone PCIe controller"
117 depends on ARCH_KEYSTONE
118 depends on PCI_MSI_IRQ_DOMAIN
122 Say Y here if you want to enable PCI controller support on Keystone
123 SoCs. The PCI controller on Keystone is based on Designware hardware
124 and therefore the driver re-uses the Designware core functions to
125 implement the driver.
128 bool "Xilinx AXI PCIe host bridge support"
129 depends on ARCH_ZYNQ || MICROBLAZE
131 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
135 bool "X-Gene PCIe controller"
137 depends on OF || (ACPI && PCI_QUIRKS)
140 Say Y here if you want internal PCI support on APM X-Gene SoC.
141 There are 5 internal PCIe ports available. Each port is GEN3 capable
142 and have varied lanes from x1 to x8.
145 bool "X-Gene v1 PCIe MSI feature"
147 depends on PCI_MSI_IRQ_DOMAIN
150 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
151 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
153 config PCI_LAYERSCAPE
154 bool "Freescale Layerscape PCIe controller"
155 depends on OF && (ARM || ARCH_LAYERSCAPE)
156 depends on PCI_MSI_IRQ_DOMAIN
160 Say Y here if you want PCIe controller support on Layerscape SoCs.
163 bool "ARM Versatile PB PCI controller"
164 depends on ARCH_VERSATILE
169 This enables the iProc PCIe core controller support for Broadcom's
170 iProc family of SoCs. An appropriate bus interface driver needs
171 to be enabled to select this.
173 config PCIE_IPROC_PLATFORM
174 tristate "Broadcom iProc PCIe platform bus driver"
175 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
178 default ARCH_BCM_IPROC
180 Say Y here if you want to use the Broadcom iProc PCIe controller
181 through the generic platform bus interface
183 config PCIE_IPROC_BCMA
184 tristate "Broadcom iProc PCIe BCMA bus driver"
185 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
189 default ARCH_BCM_5301X
191 Say Y here if you want to use the Broadcom iProc PCIe controller
192 through the BCMA bus interface
194 config PCIE_IPROC_MSI
195 bool "Broadcom iProc PCIe MSI support"
196 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
197 depends on PCI_MSI_IRQ_DOMAIN
198 default ARCH_BCM_IPROC
200 Say Y here if you want to enable MSI support for Broadcom's iProc
204 bool "Altera PCIe controller"
205 depends on ARM || NIOS2
209 Say Y here if you want to enable PCIe controller support on Altera
212 config PCIE_ALTERA_MSI
213 bool "Altera PCIe MSI feature"
214 depends on PCIE_ALTERA
215 depends on PCI_MSI_IRQ_DOMAIN
217 Say Y here if you want PCIe MSI support for the Altera FPGA.
218 This MSI driver supports Altera MSI to GIC controller IP.
221 depends on OF && ARM64
222 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
223 depends on PCI_MSI_IRQ_DOMAIN
227 Say Y here if you want PCIe controller support on HiSilicon
231 bool "Qualcomm PCIe controller"
232 depends on ARCH_QCOM && OF
233 depends on PCI_MSI_IRQ_DOMAIN
237 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
238 PCIe controller uses the Designware core plus Qualcomm-specific
241 config PCI_HOST_THUNDER_PEM
242 bool "Cavium Thunder PCIe controller to off-chip devices"
244 depends on OF || (ACPI && PCI_QUIRKS)
245 select PCI_HOST_COMMON
247 Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
249 config PCI_HOST_THUNDER_ECAM
250 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
252 depends on OF || (ACPI && PCI_QUIRKS)
253 select PCI_HOST_COMMON
255 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
257 config PCIE_ARMADA_8K
258 bool "Marvell Armada-8K PCIe controller"
259 depends on ARCH_MVEBU
260 depends on PCI_MSI_IRQ_DOMAIN
264 Say Y here if you want to enable PCIe controller support on
265 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
266 Designware hardware and therefore the driver re-uses the
267 Designware core functions to implement the driver.
270 bool "Axis ARTPEC-6 PCIe controller"
271 depends on MACH_ARTPEC6
272 depends on PCI_MSI_IRQ_DOMAIN
276 Say Y here to enable PCIe controller support on Axis ARTPEC-6
277 SoCs. This PCIe controller uses the DesignWare core.
280 bool "Rockchip PCIe controller"
281 depends on ARCH_ROCKCHIP || COMPILE_TEST
283 depends on PCI_MSI_IRQ_DOMAIN
286 Say Y here if you want internal PCI support on Rockchip SoC.
287 There is 1 internal PCIe port available to support GEN2 with
291 depends on PCI_MSI && X86_64 && SRCU
292 tristate "Intel Volume Management Device Driver"
295 Adds support for the Intel Volume Management Device (VMD). VMD is a
296 secondary PCI host bridge that allows PCI Express root ports,
297 and devices attached to them, to be removed from the default
298 PCI domain and placed within the VMD domain. This provides
299 more bus resources than are otherwise possible with a
300 single domain. If you know your system provides one of these and
301 has devices attached to it, say Y; if you are not sure, say N.
303 To compile this driver as a module, choose M here: the
304 module will be called vmd.