blob: 0cd5b30dccb15d1655424faeff8385cd528d48b4 [file] [log] [blame]
Thomas Petazzoni45361a42013-05-16 17:55:22 +02001menu "PCI host controller drivers"
2 depends on PCI
3
4config PCI_MVEBU
5 bool "Marvell EBU PCIe controller"
Andrew Lunnc2760202014-07-10 23:36:29 +02006 depends on ARCH_MVEBU || ARCH_DOVE
Thierry Reding61d9e852016-02-18 14:32:10 +01007 depends on ARM
Thomas Petazzoni5477a332013-08-09 12:35:50 +02008 depends on OF
Thomas Petazzoni45361a42013-05-16 17:55:22 +02009
Thomas Petazzoni8c39d712016-06-30 11:32:31 +020010config PCI_AARDVARK
11 bool "Aardvark PCIe controller"
12 depends on ARCH_MVEBU && ARM64
13 depends on OF
14 depends on PCI_MSI_IRQ_DOMAIN
15 help
16 Add support for Aardvark 64bit PCIe Host Controller. This
17 controller is part of the South Bridge of the Marvel Armada
18 3700 SoC.
Bjorn Helgaas562df5c2016-03-15 08:55:52 -050019
Bharat Kumar Gogadaab597d32016-03-06 22:02:14 +053020config PCIE_XILINX_NWL
21 bool "NWL PCIe Core"
22 depends on ARCH_ZYNQMP
Arnd Bergmann3ee803642016-06-15 15:47:33 -050023 depends on PCI_MSI_IRQ_DOMAIN
Bharat Kumar Gogadaab597d32016-03-06 22:02:14 +053024 help
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.
29
Linus Walleijd3c68e02017-03-12 23:24:03 +010030config PCI_FTPCI100
31 bool "Faraday Technology FTPCI100 PCI controller"
32 depends on OF
33 depends on ARM
34 default ARCH_GEMINI
35
Thierry Redingd1523b52013-08-09 16:49:19 +020036config PCI_TEGRA
37 bool "NVIDIA Tegra PCIe controller"
Thierry Reding7ac02712016-11-25 11:57:16 +010038 depends on ARCH_TEGRA
Thierry Reding6b1c4d72014-11-12 14:53:38 +010039 help
40 Say Y here if you want support for the PCIe host controller found
41 on NVIDIA Tegra SoCs.
Thierry Redingd1523b52013-08-09 16:49:19 +020042
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040043config PCI_RCAR_GEN2
44 bool "Renesas R-Car Gen2 Internal PCI controller"
Geert Uytterhoeven6cbfeae2015-10-30 08:08:17 -050045 depends on ARM
Simon Horman304e6d572016-02-25 09:45:56 +090046 depends on ARCH_RENESAS || COMPILE_TEST
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040047 help
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.
51
Simon Horman350a73b2016-04-21 13:51:55 +100052config PCIE_RCAR
Phil Edworthyc25da472014-05-12 11:57:48 +010053 bool "Renesas R-Car PCIe controller"
Simon Horman304e6d572016-02-25 09:45:56 +090054 depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
Arnd Bergmann3ee803642016-06-15 15:47:33 -050055 depends on PCI_MSI_IRQ_DOMAIN
Phil Edworthyc25da472014-05-12 11:57:48 +010056 help
Simon Horman350a73b2016-04-21 13:51:55 +100057 Say Y here if you want PCIe controller support on R-Car SoCs.
Phil Edworthyc25da472014-05-12 11:57:48 +010058
David Daney4e64dbe2016-03-11 15:35:55 -060059config PCI_HOST_COMMON
60 bool
Jayachandran C1958e712016-05-11 17:34:46 -050061 select PCI_ECAM
David Daney4e64dbe2016-03-11 15:35:55 -060062
Will Deaconce292992013-11-22 16:14:41 +000063config PCI_HOST_GENERIC
64 bool "Generic PCI host controller"
Jayachandran Caa4a5c02015-08-05 02:23:40 +053065 depends on (ARM || ARM64) && OF
David Daney4e64dbe2016-03-11 15:35:55 -060066 select PCI_HOST_COMMON
Arnd Bergmannd7d56772016-05-18 16:15:53 +020067 select IRQ_DOMAIN
Will Deaconce292992013-11-22 16:14:41 +000068 help
69 Say Y here if you want to support a simple generic PCI host
70 controller, such as the one emulated by kvmtool.
71
Srikanth Thokala8961def2014-08-20 21:56:02 +053072config PCIE_XILINX
73 bool "Xilinx AXI PCIe host bridge support"
Bharat Kumar Gogada01cf9d52016-02-11 21:58:11 +053074 depends on ARCH_ZYNQ || MICROBLAZE
Srikanth Thokala8961def2014-08-20 21:56:02 +053075 help
76 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
77 Host Bridge driver.
78
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -060079config PCI_XGENE
80 bool "X-Gene PCIe controller"
Duc Dangc5d46032016-12-01 18:27:07 -080081 depends on ARM64
82 depends on OF || (ACPI && PCI_QUIRKS)
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -060083 select PCIEPORTBUS
84 help
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.
88
Duc Dangdcd19de2015-06-05 15:56:34 -050089config PCI_XGENE_MSI
90 bool "X-Gene v1 PCIe MSI feature"
Arnd Bergmann3ee803642016-06-15 15:47:33 -050091 depends on PCI_XGENE
92 depends on PCI_MSI_IRQ_DOMAIN
Duc Dangdcd19de2015-06-05 15:56:34 -050093 default y
94 help
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.
97
Rob Herringb7e78172015-01-28 10:16:18 -060098config PCI_VERSATILE
99 bool "ARM Versatile PB PCI controller"
100 depends on ARCH_VERSATILE
101
Ray Jui1fb37a82015-04-08 11:21:35 -0700102config PCIE_IPROC
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600103 tristate
Jon Masone584b06c2017-03-01 10:53:13 -0500104 select PCI_DOMAINS
Ray Jui1fb37a82015-04-08 11:21:35 -0700105 help
106 This enables the iProc PCIe core controller support for Broadcom's
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600107 iProc family of SoCs. An appropriate bus interface driver needs
108 to be enabled to select this.
Ray Jui1fb37a82015-04-08 11:21:35 -0700109
110config PCIE_IPROC_PLATFORM
111 tristate "Broadcom iProc PCIe platform bus driver"
112 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
113 depends on OF
114 select PCIE_IPROC
115 default ARCH_BCM_IPROC
116 help
117 Say Y here if you want to use the Broadcom iProc PCIe controller
118 through the generic platform bus interface
119
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200120config PCIE_IPROC_BCMA
Hauke Mehrtens05aa7d62015-07-25 21:15:24 +0200121 tristate "Broadcom iProc PCIe BCMA bus driver"
Ray Jui70d334c2015-07-29 10:12:53 -0700122 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200123 select PCIE_IPROC
124 select BCMA
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200125 default ARCH_BCM_5301X
126 help
127 Say Y here if you want to use the Broadcom iProc PCIe controller
128 through the BCMA bus interface
129
Ray Jui3bc2b232016-01-06 18:04:35 -0600130config PCIE_IPROC_MSI
131 bool "Broadcom iProc PCIe MSI support"
132 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
Arnd Bergmann3ee803642016-06-15 15:47:33 -0500133 depends on PCI_MSI_IRQ_DOMAIN
Ray Jui3bc2b232016-01-06 18:04:35 -0600134 default ARCH_BCM_IPROC
135 help
136 Say Y here if you want to enable MSI support for Broadcom's iProc
137 PCIe controller
138
Ley Foon Taneaa61112015-10-23 18:27:12 +0800139config PCIE_ALTERA
140 bool "Altera PCIe controller"
141 depends on ARM || NIOS2
142 depends on OF_PCI
143 select PCI_DOMAINS
144 help
145 Say Y here if you want to enable PCIe controller support on Altera
146 FPGA.
147
Ley Foon Tanaf1169b2015-10-23 18:27:13 +0800148config PCIE_ALTERA_MSI
149 bool "Altera PCIe MSI feature"
Arnd Bergmann3ee803642016-06-15 15:47:33 -0500150 depends on PCIE_ALTERA
151 depends on PCI_MSI_IRQ_DOMAIN
Ley Foon Tanaf1169b2015-10-23 18:27:13 +0800152 help
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.
155
David Daneyf12b76e2016-03-04 14:31:47 -0800156config PCI_HOST_THUNDER_PEM
157 bool "Cavium Thunder PCIe controller to off-chip devices"
Tomasz Nowicki44f22bd2016-12-01 00:07:56 -0600158 depends on ARM64
159 depends on OF || (ACPI && PCI_QUIRKS)
David Daneyf12b76e2016-03-04 14:31:47 -0800160 select PCI_HOST_COMMON
161 help
162 Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
163
David Daney7b6e7ba2016-03-04 14:31:48 -0800164config PCI_HOST_THUNDER_ECAM
165 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
Tomasz Nowicki648d93f2016-11-30 23:16:34 -0600166 depends on ARM64
167 depends on OF || (ACPI && PCI_QUIRKS)
David Daney7b6e7ba2016-03-04 14:31:48 -0800168 select PCI_HOST_COMMON
169 help
170 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
171
Shawn Line77f8472016-09-03 11:41:09 -0500172config PCIE_ROCKCHIP
Brian Norrisb0308c52017-03-09 18:46:17 -0800173 tristate "Rockchip PCIe controller"
Shawn Lin1177f762016-12-07 15:05:59 -0600174 depends on ARCH_ROCKCHIP || COMPILE_TEST
Shawn Line77f8472016-09-03 11:41:09 -0500175 depends on OF
176 depends on PCI_MSI_IRQ_DOMAIN
177 select MFD_SYSCON
178 help
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
181 4 slots.
182
Ryder Lee637cfaca2017-05-21 11:42:24 +0800183config PCIE_MEDIATEK
184 bool "MediaTek PCIe controller"
185 depends on ARM && (ARCH_MEDIATEK || COMPILE_TEST)
186 depends on OF
187 depends on PCI
188 select PCIEPORTBUS
189 help
190 Say Y here if you want to enable PCIe controller support on
191 MT7623 series SoCs. There is one single root complex with 3 root
192 ports available. Each port supports Gen2 lane x1.
193
Keith Busch181ffd12016-10-04 12:26:37 -0500194config VMD
Jon Derrick3906b912016-11-11 16:08:45 -0700195 depends on PCI_MSI && X86_64 && SRCU
Keith Busch181ffd12016-10-04 12:26:37 -0500196 tristate "Intel Volume Management Device Driver"
197 default N
198 ---help---
199 Adds support for the Intel Volume Management Device (VMD). VMD is a
200 secondary PCI host bridge that allows PCI Express root ports,
201 and devices attached to them, to be removed from the default
202 PCI domain and placed within the VMD domain. This provides
203 more bus resources than are otherwise possible with a
204 single domain. If you know your system provides one of these and
205 has devices attached to it, say Y; if you are not sure, say N.
206
207 To compile this driver as a module, choose M here: the
208 module will be called vmd.
209
Thomas Petazzoni45361a42013-05-16 17:55:22 +0200210endmenu