blob: 80cfe2f0a5805ca6d0615b36106f5ef1db07dd41 [file] [log] [blame]
Thomas Petazzoni45361a42013-05-16 17:55:22 +02001menu "PCI host controller drivers"
2 depends on PCI
3
Kishon Vijay Abraham I47ff3de2014-07-22 15:23:45 -06004config PCI_DRA7XX
5 bool "TI DRA7xx PCIe controller"
Kishon Vijay Abraham I47ff3de2014-07-22 15:23:45 -06006 depends on OF && HAS_IOMEM && TI_PIPE3
Arnd Bergmann3ee80362016-06-15 15:47:33 -05007 depends on PCI_MSI_IRQ_DOMAIN
8 select PCIE_DW
Kishon Vijay Abraham I47ff3de2014-07-22 15:23:45 -06009 help
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.
13
Thomas Petazzoni45361a42013-05-16 17:55:22 +020014config PCI_MVEBU
15 bool "Marvell EBU PCIe controller"
Andrew Lunnc2760202014-07-10 23:36:29 +020016 depends on ARCH_MVEBU || ARCH_DOVE
Thierry Reding61d9e852016-02-18 14:32:10 +010017 depends on ARM
Thomas Petazzoni5477a332013-08-09 12:35:50 +020018 depends on OF
Thomas Petazzoni45361a42013-05-16 17:55:22 +020019
Bjorn Helgaas562df5c2016-03-15 08:55:52 -050020
Bharat Kumar Gogadaab597d32016-03-06 22:02:14 +053021config PCIE_XILINX_NWL
22 bool "NWL PCIe Core"
23 depends on ARCH_ZYNQMP
Arnd Bergmann3ee80362016-06-15 15:47:33 -050024 depends on PCI_MSI_IRQ_DOMAIN
Bharat Kumar Gogadaab597d32016-03-06 22:02:14 +053025 help
26 Say 'Y' here if you want kernel support for Xilinx
27 NWL PCIe controller. The controller can act as Root Port
28 or End Point. The current option selection will only
29 support root port enabling.
30
Joao Pinto5a3aa2a2016-03-10 14:44:52 -060031config PCIE_DW_PLAT
32 bool "Platform bus based DesignWare PCIe Controller"
Arnd Bergmann3ee80362016-06-15 15:47:33 -050033 depends on PCI_MSI_IRQ_DOMAIN
Joao Pinto5a3aa2a2016-03-10 14:44:52 -060034 select PCIE_DW
35 ---help---
36 This selects the DesignWare PCIe controller support. Select this if
37 you have a PCIe controller on Platform bus.
38
39 If you have a controller with this interface, say Y or M here.
40
41 If unsure, say N.
42
Jingoo Han340cba62013-06-21 16:24:54 +090043config PCIE_DW
44 bool
Arnd Bergmann3ee80362016-06-15 15:47:33 -050045 depends on PCI_MSI_IRQ_DOMAIN
Jingoo Han340cba62013-06-21 16:24:54 +090046
47config PCI_EXYNOS
48 bool "Samsung Exynos PCIe controller"
49 depends on SOC_EXYNOS5440
Arnd Bergmann3ee80362016-06-15 15:47:33 -050050 depends on PCI_MSI_IRQ_DOMAIN
Jingoo Han340cba62013-06-21 16:24:54 +090051 select PCIEPORTBUS
52 select PCIE_DW
53
Sean Crossbb389192013-09-26 11:24:47 +080054config PCI_IMX6
55 bool "Freescale i.MX6 PCIe controller"
56 depends on SOC_IMX6Q
Arnd Bergmann3ee80362016-06-15 15:47:33 -050057 depends on PCI_MSI_IRQ_DOMAIN
Sean Crossbb389192013-09-26 11:24:47 +080058 select PCIEPORTBUS
59 select PCIE_DW
60
Thierry Redingd1523b52013-08-09 16:49:19 +020061config PCI_TEGRA
62 bool "NVIDIA Tegra PCIe controller"
Thierry Reding44073082014-11-12 14:53:37 +010063 depends on ARCH_TEGRA && !ARM64
Thierry Reding6b1c4d72014-11-12 14:53:38 +010064 help
65 Say Y here if you want support for the PCIe host controller found
66 on NVIDIA Tegra SoCs.
Thierry Redingd1523b52013-08-09 16:49:19 +020067
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040068config PCI_RCAR_GEN2
69 bool "Renesas R-Car Gen2 Internal PCI controller"
Geert Uytterhoeven6cbfeae2015-10-30 08:08:17 -050070 depends on ARM
Simon Horman304e6d572016-02-25 09:45:56 +090071 depends on ARCH_RENESAS || COMPILE_TEST
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040072 help
73 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
74 There are 3 internal PCI controllers available with a single
75 built-in EHCI/OHCI host controller present on each one.
76
Simon Horman350a73b2016-04-21 13:51:55 +100077config PCIE_RCAR
Phil Edworthyc25da472014-05-12 11:57:48 +010078 bool "Renesas R-Car PCIe controller"
Simon Horman304e6d572016-02-25 09:45:56 +090079 depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
Arnd Bergmann3ee80362016-06-15 15:47:33 -050080 depends on PCI_MSI_IRQ_DOMAIN
Phil Edworthyc25da472014-05-12 11:57:48 +010081 help
Simon Horman350a73b2016-04-21 13:51:55 +100082 Say Y here if you want PCIe controller support on R-Car SoCs.
Phil Edworthyc25da472014-05-12 11:57:48 +010083
David Daney4e64dbe2016-03-11 15:35:55 -060084config PCI_HOST_COMMON
85 bool
Jayachandran C1958e712016-05-11 17:34:46 -050086 select PCI_ECAM
David Daney4e64dbe2016-03-11 15:35:55 -060087
Will Deaconce292992013-11-22 16:14:41 +000088config PCI_HOST_GENERIC
89 bool "Generic PCI host controller"
Jayachandran Caa4a5c02015-08-05 02:23:40 +053090 depends on (ARM || ARM64) && OF
David Daney4e64dbe2016-03-11 15:35:55 -060091 select PCI_HOST_COMMON
Will Deaconce292992013-11-22 16:14:41 +000092 help
93 Say Y here if you want to support a simple generic PCI host
94 controller, such as the one emulated by kvmtool.
95
Pratyush Anand51b66a62014-02-11 11:39:26 +053096config PCIE_SPEAR13XX
Sachin Kamat8d7004a2014-08-17 22:09:16 -060097 bool "STMicroelectronics SPEAr PCIe controller"
Pratyush Anand51b66a62014-02-11 11:39:26 +053098 depends on ARCH_SPEAR13XX
Arnd Bergmann3ee80362016-06-15 15:47:33 -050099 depends on PCI_MSI_IRQ_DOMAIN
Pratyush Anand51b66a62014-02-11 11:39:26 +0530100 select PCIEPORTBUS
101 select PCIE_DW
102 help
103 Say Y here if you want PCIe support on SPEAr13XX SoCs.
104
Murali Karicheri0c4ffcf2014-09-02 17:26:19 -0600105config PCI_KEYSTONE
106 bool "TI Keystone PCIe controller"
107 depends on ARCH_KEYSTONE
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500108 depends on PCI_MSI_IRQ_DOMAIN
Murali Karicheri0c4ffcf2014-09-02 17:26:19 -0600109 select PCIE_DW
110 select PCIEPORTBUS
111 help
112 Say Y here if you want to enable PCI controller support on Keystone
113 SoCs. The PCI controller on Keystone is based on Designware hardware
114 and therefore the driver re-uses the Designware core functions to
115 implement the driver.
Bjorn Helgaasa2351efe2014-09-05 10:57:20 -0600116
Srikanth Thokala8961def2014-08-20 21:56:02 +0530117config PCIE_XILINX
118 bool "Xilinx AXI PCIe host bridge support"
Bharat Kumar Gogada01cf9d52016-02-11 21:58:11 +0530119 depends on ARCH_ZYNQ || MICROBLAZE
Srikanth Thokala8961def2014-08-20 21:56:02 +0530120 help
121 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
122 Host Bridge driver.
123
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -0600124config PCI_XGENE
125 bool "X-Gene PCIe controller"
126 depends on ARCH_XGENE
127 depends on OF
128 select PCIEPORTBUS
129 help
130 Say Y here if you want internal PCI support on APM X-Gene SoC.
131 There are 5 internal PCIe ports available. Each port is GEN3 capable
132 and have varied lanes from x1 to x8.
133
Duc Dangdcd19de2015-06-05 15:56:34 -0500134config PCI_XGENE_MSI
135 bool "X-Gene v1 PCIe MSI feature"
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500136 depends on PCI_XGENE
137 depends on PCI_MSI_IRQ_DOMAIN
Duc Dangdcd19de2015-06-05 15:56:34 -0500138 default y
139 help
140 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
141 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
142
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800143config PCI_LAYERSCAPE
144 bool "Freescale Layerscape PCIe controller"
Minghuan Lian5192ec72015-10-16 15:19:19 +0800145 depends on OF && (ARM || ARCH_LAYERSCAPE)
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500146 depends on PCI_MSI_IRQ_DOMAIN
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800147 select PCIE_DW
148 select MFD_SYSCON
149 help
150 Say Y here if you want PCIe controller support on Layerscape SoCs.
151
Rob Herringb7e78172015-01-28 10:16:18 -0600152config PCI_VERSATILE
153 bool "ARM Versatile PB PCI controller"
154 depends on ARCH_VERSATILE
155
Ray Jui1fb37a82015-04-08 11:21:35 -0700156config PCIE_IPROC
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600157 tristate
Ray Jui1fb37a82015-04-08 11:21:35 -0700158 help
159 This enables the iProc PCIe core controller support for Broadcom's
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600160 iProc family of SoCs. An appropriate bus interface driver needs
161 to be enabled to select this.
Ray Jui1fb37a82015-04-08 11:21:35 -0700162
163config PCIE_IPROC_PLATFORM
164 tristate "Broadcom iProc PCIe platform bus driver"
165 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
166 depends on OF
167 select PCIE_IPROC
168 default ARCH_BCM_IPROC
169 help
170 Say Y here if you want to use the Broadcom iProc PCIe controller
171 through the generic platform bus interface
172
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200173config PCIE_IPROC_BCMA
Hauke Mehrtens05aa7d62015-07-25 21:15:24 +0200174 tristate "Broadcom iProc PCIe BCMA bus driver"
Ray Jui70d334c2015-07-29 10:12:53 -0700175 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200176 select PCIE_IPROC
177 select BCMA
178 select PCI_DOMAINS
179 default ARCH_BCM_5301X
180 help
181 Say Y here if you want to use the Broadcom iProc PCIe controller
182 through the BCMA bus interface
183
Ray Jui3bc2b232016-01-06 18:04:35 -0600184config PCIE_IPROC_MSI
185 bool "Broadcom iProc PCIe MSI support"
186 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500187 depends on PCI_MSI_IRQ_DOMAIN
Ray Jui3bc2b232016-01-06 18:04:35 -0600188 default ARCH_BCM_IPROC
189 help
190 Say Y here if you want to enable MSI support for Broadcom's iProc
191 PCIe controller
192
Ley Foon Taneaa61112015-10-23 18:27:12 +0800193config PCIE_ALTERA
194 bool "Altera PCIe controller"
195 depends on ARM || NIOS2
196 depends on OF_PCI
197 select PCI_DOMAINS
198 help
199 Say Y here if you want to enable PCIe controller support on Altera
200 FPGA.
201
Ley Foon Tanaf1169b2015-10-23 18:27:13 +0800202config PCIE_ALTERA_MSI
203 bool "Altera PCIe MSI feature"
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500204 depends on PCIE_ALTERA
205 depends on PCI_MSI_IRQ_DOMAIN
Ley Foon Tanaf1169b2015-10-23 18:27:13 +0800206 help
207 Say Y here if you want PCIe MSI support for the Altera FPGA.
208 This MSI driver supports Altera MSI to GIC controller IP.
209
Zhou Wang500a1d92015-10-29 20:02:51 -0500210config PCI_HISI
211 depends on OF && ARM64
Gabriele Paoloni5930fe42015-11-27 01:17:05 +0800212 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500213 depends on PCI_MSI_IRQ_DOMAIN
Zhou Wang500a1d92015-10-29 20:02:51 -0500214 select PCIEPORTBUS
215 select PCIE_DW
216 help
Gabriele Paoloni5930fe42015-11-27 01:17:05 +0800217 Say Y here if you want PCIe controller support on HiSilicon
218 Hip05 and Hip06 SoCs
Zhou Wang500a1d92015-10-29 20:02:51 -0500219
Stanimir Varbanov82a82382015-12-18 14:38:57 +0200220config PCIE_QCOM
221 bool "Qualcomm PCIe controller"
222 depends on ARCH_QCOM && OF
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500223 depends on PCI_MSI_IRQ_DOMAIN
Stanimir Varbanov82a82382015-12-18 14:38:57 +0200224 select PCIE_DW
225 select PCIEPORTBUS
226 help
227 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
228 PCIe controller uses the Designware core plus Qualcomm-specific
229 hardware wrappers.
Thomas Petazzoni45361a42013-05-16 17:55:22 +0200230
David Daneyf12b76e2016-03-04 14:31:47 -0800231config PCI_HOST_THUNDER_PEM
232 bool "Cavium Thunder PCIe controller to off-chip devices"
233 depends on OF && ARM64
234 select PCI_HOST_COMMON
235 help
236 Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
237
David Daney7b6e7ba2016-03-04 14:31:48 -0800238config PCI_HOST_THUNDER_ECAM
239 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
240 depends on OF && ARM64
241 select PCI_HOST_COMMON
242 help
243 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
244
Thomas Petazzoni1c52a512016-04-26 10:31:46 +0200245config PCIE_ARMADA_8K
246 bool "Marvell Armada-8K PCIe controller"
247 depends on ARCH_MVEBU
Arnd Bergmann3ee80362016-06-15 15:47:33 -0500248 depends on PCI_MSI_IRQ_DOMAIN
Thomas Petazzoni1c52a512016-04-26 10:31:46 +0200249 select PCIE_DW
250 select PCIEPORTBUS
251 help
252 Say Y here if you want to enable PCIe controller support on
253 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
254 Designware hardware and therefore the driver re-uses the
255 Designware core functions to implement the driver.
256
Thomas Petazzoni45361a42013-05-16 17:55:22 +0200257endmenu