blob: c39989a9884dff7752f7769f3ccb21f09b2cc134 [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"
6 select PCIE_DW
7 depends on OF && HAS_IOMEM && TI_PIPE3
Richard Cochran5c3b99d2016-01-08 09:58:31 -06008 depends on BROKEN
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
Thomas Petazzoni5477a332013-08-09 12:35:50 +020017 depends on OF
Thomas Petazzoni45361a42013-05-16 17:55:22 +020018
Bharat Kumar Gogadaab597d32016-03-06 22:02:14 +053019config PCIE_XILINX_NWL
20 bool "NWL PCIe Core"
21 depends on ARCH_ZYNQMP
22 select PCI_MSI_IRQ_DOMAIN if PCI_MSI
23 help
24 Say 'Y' here if you want kernel support for Xilinx
25 NWL PCIe controller. The controller can act as Root Port
26 or End Point. The current option selection will only
27 support root port enabling.
28
Jingoo Han340cba62013-06-21 16:24:54 +090029config PCIE_DW
30 bool
31
32config PCI_EXYNOS
33 bool "Samsung Exynos PCIe controller"
34 depends on SOC_EXYNOS5440
35 select PCIEPORTBUS
36 select PCIE_DW
37
Sean Crossbb389192013-09-26 11:24:47 +080038config PCI_IMX6
39 bool "Freescale i.MX6 PCIe controller"
40 depends on SOC_IMX6Q
41 select PCIEPORTBUS
42 select PCIE_DW
43
Thierry Redingd1523b52013-08-09 16:49:19 +020044config PCI_TEGRA
45 bool "NVIDIA Tegra PCIe controller"
Thierry Reding44073082014-11-12 14:53:37 +010046 depends on ARCH_TEGRA && !ARM64
Thierry Reding6b1c4d72014-11-12 14:53:38 +010047 help
48 Say Y here if you want support for the PCIe host controller found
49 on NVIDIA Tegra SoCs.
Thierry Redingd1523b52013-08-09 16:49:19 +020050
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040051config PCI_RCAR_GEN2
52 bool "Renesas R-Car Gen2 Internal PCI controller"
Geert Uytterhoeven6cbfeae2015-10-30 08:08:17 -050053 depends on ARM
54 depends on ARCH_SHMOBILE || COMPILE_TEST
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040055 help
56 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
57 There are 3 internal PCI controllers available with a single
58 built-in EHCI/OHCI host controller present on each one.
59
Phil Edworthyc25da472014-05-12 11:57:48 +010060config PCI_RCAR_GEN2_PCIE
61 bool "Renesas R-Car PCIe controller"
Phil Edworthy88b8576f2015-11-25 15:30:38 +000062 depends on ARCH_SHMOBILE || (ARM && COMPILE_TEST)
Phil Edworthyc25da472014-05-12 11:57:48 +010063 help
64 Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
65
Will Deaconce292992013-11-22 16:14:41 +000066config PCI_HOST_GENERIC
67 bool "Generic PCI host controller"
Jayachandran Caa4a5c02015-08-05 02:23:40 +053068 depends on (ARM || ARM64) && OF
Will Deaconce292992013-11-22 16:14:41 +000069 help
70 Say Y here if you want to support a simple generic PCI host
71 controller, such as the one emulated by kvmtool.
72
Pratyush Anand51b66a62014-02-11 11:39:26 +053073config PCIE_SPEAR13XX
Sachin Kamat8d7004a2014-08-17 22:09:16 -060074 bool "STMicroelectronics SPEAr PCIe controller"
Pratyush Anand51b66a62014-02-11 11:39:26 +053075 depends on ARCH_SPEAR13XX
76 select PCIEPORTBUS
77 select PCIE_DW
78 help
79 Say Y here if you want PCIe support on SPEAr13XX SoCs.
80
Murali Karicheri0c4ffcf2014-09-02 17:26:19 -060081config PCI_KEYSTONE
82 bool "TI Keystone PCIe controller"
83 depends on ARCH_KEYSTONE
84 select PCIE_DW
85 select PCIEPORTBUS
86 help
87 Say Y here if you want to enable PCI controller support on Keystone
88 SoCs. The PCI controller on Keystone is based on Designware hardware
89 and therefore the driver re-uses the Designware core functions to
90 implement the driver.
Bjorn Helgaasa2351efe2014-09-05 10:57:20 -060091
Srikanth Thokala8961def2014-08-20 21:56:02 +053092config PCIE_XILINX
93 bool "Xilinx AXI PCIe host bridge support"
94 depends on ARCH_ZYNQ
95 help
96 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
97 Host Bridge driver.
98
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -060099config PCI_XGENE
100 bool "X-Gene PCIe controller"
101 depends on ARCH_XGENE
102 depends on OF
103 select PCIEPORTBUS
Duc Dangdcd19de2015-06-05 15:56:34 -0500104 select PCI_MSI_IRQ_DOMAIN if PCI_MSI
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -0600105 help
106 Say Y here if you want internal PCI support on APM X-Gene SoC.
107 There are 5 internal PCIe ports available. Each port is GEN3 capable
108 and have varied lanes from x1 to x8.
109
Duc Dangdcd19de2015-06-05 15:56:34 -0500110config PCI_XGENE_MSI
111 bool "X-Gene v1 PCIe MSI feature"
112 depends on PCI_XGENE && PCI_MSI
113 default y
114 help
115 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
116 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
117
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800118config PCI_LAYERSCAPE
119 bool "Freescale Layerscape PCIe controller"
Minghuan Lian5192ec72015-10-16 15:19:19 +0800120 depends on OF && (ARM || ARCH_LAYERSCAPE)
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800121 select PCIE_DW
122 select MFD_SYSCON
123 help
124 Say Y here if you want PCIe controller support on Layerscape SoCs.
125
Rob Herringb7e78172015-01-28 10:16:18 -0600126config PCI_VERSATILE
127 bool "ARM Versatile PB PCI controller"
128 depends on ARCH_VERSATILE
129
Ray Jui1fb37a82015-04-08 11:21:35 -0700130config PCIE_IPROC
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600131 tristate
Ray Jui1fb37a82015-04-08 11:21:35 -0700132 help
133 This enables the iProc PCIe core controller support for Broadcom's
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600134 iProc family of SoCs. An appropriate bus interface driver needs
135 to be enabled to select this.
Ray Jui1fb37a82015-04-08 11:21:35 -0700136
137config PCIE_IPROC_PLATFORM
138 tristate "Broadcom iProc PCIe platform bus driver"
139 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
140 depends on OF
141 select PCIE_IPROC
142 default ARCH_BCM_IPROC
143 help
144 Say Y here if you want to use the Broadcom iProc PCIe controller
145 through the generic platform bus interface
146
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200147config PCIE_IPROC_BCMA
Hauke Mehrtens05aa7d62015-07-25 21:15:24 +0200148 tristate "Broadcom iProc PCIe BCMA bus driver"
Ray Jui70d334c2015-07-29 10:12:53 -0700149 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200150 select PCIE_IPROC
151 select BCMA
152 select PCI_DOMAINS
153 default ARCH_BCM_5301X
154 help
155 Say Y here if you want to use the Broadcom iProc PCIe controller
156 through the BCMA bus interface
157
Ray Jui3bc2b232016-01-06 18:04:35 -0600158config PCIE_IPROC_MSI
159 bool "Broadcom iProc PCIe MSI support"
160 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
161 depends on PCI_MSI
162 select PCI_MSI_IRQ_DOMAIN
163 default ARCH_BCM_IPROC
164 help
165 Say Y here if you want to enable MSI support for Broadcom's iProc
166 PCIe controller
167
Ley Foon Taneaa61112015-10-23 18:27:12 +0800168config PCIE_ALTERA
169 bool "Altera PCIe controller"
170 depends on ARM || NIOS2
171 depends on OF_PCI
172 select PCI_DOMAINS
173 help
174 Say Y here if you want to enable PCIe controller support on Altera
175 FPGA.
176
Ley Foon Tanaf1169b2015-10-23 18:27:13 +0800177config PCIE_ALTERA_MSI
178 bool "Altera PCIe MSI feature"
179 depends on PCIE_ALTERA && PCI_MSI
180 select PCI_MSI_IRQ_DOMAIN
181 help
182 Say Y here if you want PCIe MSI support for the Altera FPGA.
183 This MSI driver supports Altera MSI to GIC controller IP.
184
Zhou Wang500a1d92015-10-29 20:02:51 -0500185config PCI_HISI
186 depends on OF && ARM64
Gabriele Paoloni5930fe42015-11-27 01:17:05 +0800187 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
Zhou Wang500a1d92015-10-29 20:02:51 -0500188 select PCIEPORTBUS
189 select PCIE_DW
190 help
Gabriele Paoloni5930fe42015-11-27 01:17:05 +0800191 Say Y here if you want PCIe controller support on HiSilicon
192 Hip05 and Hip06 SoCs
Zhou Wang500a1d92015-10-29 20:02:51 -0500193
Stanimir Varbanov82a82382015-12-18 14:38:57 +0200194config PCIE_QCOM
195 bool "Qualcomm PCIe controller"
196 depends on ARCH_QCOM && OF
197 select PCIE_DW
198 select PCIEPORTBUS
199 help
200 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
201 PCIe controller uses the Designware core plus Qualcomm-specific
202 hardware wrappers.
Thomas Petazzoni45361a42013-05-16 17:55:22 +0200203
204endmenu