]>
Commit | Line | Data |
---|---|---|
45361a4f TP |
1 | menu "PCI host controller drivers" |
2 | depends on PCI | |
3 | ||
47ff3de9 KVA |
4 | config PCI_DRA7XX |
5 | bool "TI DRA7xx PCIe controller" | |
47ff3de9 | 6 | depends on OF && HAS_IOMEM && TI_PIPE3 |
3ee80364 AB |
7 | depends on PCI_MSI_IRQ_DOMAIN |
8 | select PCIE_DW | |
47ff3de9 KVA |
9 | 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 | ||
45361a4f TP |
14 | config PCI_MVEBU |
15 | bool "Marvell EBU PCIe controller" | |
c2760208 | 16 | depends on ARCH_MVEBU || ARCH_DOVE |
61d9e854 | 17 | depends on ARM |
5477a33b | 18 | depends on OF |
45361a4f | 19 | |
8c39d710 TP |
20 | config PCI_AARDVARK |
21 | bool "Aardvark PCIe controller" | |
22 | depends on ARCH_MVEBU && ARM64 | |
23 | depends on OF | |
24 | depends on PCI_MSI_IRQ_DOMAIN | |
25 | help | |
26 | Add support for Aardvark 64bit PCIe Host Controller. This | |
27 | controller is part of the South Bridge of the Marvel Armada | |
28 | 3700 SoC. | |
562df5c8 | 29 | |
ab597d35 BKG |
30 | config PCIE_XILINX_NWL |
31 | bool "NWL PCIe Core" | |
32 | depends on ARCH_ZYNQMP | |
3ee80364 | 33 | depends on PCI_MSI_IRQ_DOMAIN |
ab597d35 BKG |
34 | help |
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. | |
39 | ||
5a3aa2a8 JP |
40 | config PCIE_DW_PLAT |
41 | bool "Platform bus based DesignWare PCIe Controller" | |
3ee80364 | 42 | depends on PCI_MSI_IRQ_DOMAIN |
5a3aa2a8 JP |
43 | select PCIE_DW |
44 | ---help--- | |
45 | This selects the DesignWare PCIe controller support. Select this if | |
46 | you have a PCIe controller on Platform bus. | |
47 | ||
48 | If you have a controller with this interface, say Y or M here. | |
49 | ||
50 | If unsure, say N. | |
51 | ||
340cba60 JH |
52 | config PCIE_DW |
53 | bool | |
3ee80364 | 54 | depends on PCI_MSI_IRQ_DOMAIN |
340cba60 JH |
55 | |
56 | config PCI_EXYNOS | |
57 | bool "Samsung Exynos PCIe controller" | |
58 | depends on SOC_EXYNOS5440 | |
3ee80364 | 59 | depends on PCI_MSI_IRQ_DOMAIN |
340cba60 JH |
60 | select PCIEPORTBUS |
61 | select PCIE_DW | |
62 | ||
bb38919e SC |
63 | config PCI_IMX6 |
64 | bool "Freescale i.MX6 PCIe controller" | |
65 | depends on SOC_IMX6Q | |
3ee80364 | 66 | depends on PCI_MSI_IRQ_DOMAIN |
bb38919e SC |
67 | select PCIEPORTBUS |
68 | select PCIE_DW | |
69 | ||
d1523b52 TR |
70 | config PCI_TEGRA |
71 | bool "NVIDIA Tegra PCIe controller" | |
4407308b | 72 | depends on ARCH_TEGRA && !ARM64 |
6b1c4d76 TR |
73 | help |
74 | Say Y here if you want support for the PCIe host controller found | |
75 | on NVIDIA Tegra SoCs. | |
d1523b52 | 76 | |
ba3eb9fc VB |
77 | config PCI_RCAR_GEN2 |
78 | bool "Renesas R-Car Gen2 Internal PCI controller" | |
6cbfeae7 | 79 | depends on ARM |
304e6d57 | 80 | depends on ARCH_RENESAS || COMPILE_TEST |
ba3eb9fc VB |
81 | help |
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. | |
85 | ||
350a73b4 | 86 | config PCIE_RCAR |
c25da477 | 87 | bool "Renesas R-Car PCIe controller" |
304e6d57 | 88 | depends on ARCH_RENESAS || (ARM && COMPILE_TEST) |
3ee80364 | 89 | depends on PCI_MSI_IRQ_DOMAIN |
c25da477 | 90 | help |
350a73b4 | 91 | Say Y here if you want PCIe controller support on R-Car SoCs. |
c25da477 | 92 | |
4e64dbe2 DD |
93 | config PCI_HOST_COMMON |
94 | bool | |
1958e717 | 95 | select PCI_ECAM |
4e64dbe2 | 96 | |
ce292991 WD |
97 | config PCI_HOST_GENERIC |
98 | bool "Generic PCI host controller" | |
aa4a5c0d | 99 | depends on (ARM || ARM64) && OF |
4e64dbe2 | 100 | select PCI_HOST_COMMON |
d7d5677c | 101 | select IRQ_DOMAIN |
ce292991 WD |
102 | help |
103 | Say Y here if you want to support a simple generic PCI host | |
104 | controller, such as the one emulated by kvmtool. | |
105 | ||
51b66a6c | 106 | config PCIE_SPEAR13XX |
8d7004a6 | 107 | bool "STMicroelectronics SPEAr PCIe controller" |
51b66a6c | 108 | depends on ARCH_SPEAR13XX |
3ee80364 | 109 | depends on PCI_MSI_IRQ_DOMAIN |
51b66a6c PA |
110 | select PCIEPORTBUS |
111 | select PCIE_DW | |
112 | help | |
113 | Say Y here if you want PCIe support on SPEAr13XX SoCs. | |
114 | ||
0c4ffcfe MK |
115 | config PCI_KEYSTONE |
116 | bool "TI Keystone PCIe controller" | |
117 | depends on ARCH_KEYSTONE | |
3ee80364 | 118 | depends on PCI_MSI_IRQ_DOMAIN |
0c4ffcfe MK |
119 | select PCIE_DW |
120 | select PCIEPORTBUS | |
121 | help | |
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. | |
a2351efe | 126 | |
8961def5 ST |
127 | config PCIE_XILINX |
128 | bool "Xilinx AXI PCIe host bridge support" | |
01cf9d52 | 129 | depends on ARCH_ZYNQ || MICROBLAZE |
8961def5 ST |
130 | help |
131 | Say 'Y' here if you want kernel to support the Xilinx AXI PCIe | |
132 | Host Bridge driver. | |
133 | ||
5f6b6ccd TI |
134 | config PCI_XGENE |
135 | bool "X-Gene PCIe controller" | |
136 | depends on ARCH_XGENE | |
137 | depends on OF | |
138 | select PCIEPORTBUS | |
139 | help | |
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. | |
143 | ||
dcd19de3 DD |
144 | config PCI_XGENE_MSI |
145 | bool "X-Gene v1 PCIe MSI feature" | |
3ee80364 AB |
146 | depends on PCI_XGENE |
147 | depends on PCI_MSI_IRQ_DOMAIN | |
dcd19de3 DD |
148 | default y |
149 | help | |
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. | |
152 | ||
62d0ff83 ML |
153 | config PCI_LAYERSCAPE |
154 | bool "Freescale Layerscape PCIe controller" | |
5192ec7b | 155 | depends on OF && (ARM || ARCH_LAYERSCAPE) |
3ee80364 | 156 | depends on PCI_MSI_IRQ_DOMAIN |
62d0ff83 ML |
157 | select PCIE_DW |
158 | select MFD_SYSCON | |
159 | help | |
160 | Say Y here if you want PCIe controller support on Layerscape SoCs. | |
161 | ||
b7e78170 RH |
162 | config PCI_VERSATILE |
163 | bool "ARM Versatile PB PCI controller" | |
164 | depends on ARCH_VERSATILE | |
165 | ||
1fb37a81 | 166 | config PCIE_IPROC |
c1b98e41 | 167 | tristate |
1fb37a81 RJ |
168 | help |
169 | This enables the iProc PCIe core controller support for Broadcom's | |
c1b98e41 AB |
170 | iProc family of SoCs. An appropriate bus interface driver needs |
171 | to be enabled to select this. | |
1fb37a81 RJ |
172 | |
173 | config PCIE_IPROC_PLATFORM | |
174 | tristate "Broadcom iProc PCIe platform bus driver" | |
175 | depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST) | |
176 | depends on OF | |
177 | select PCIE_IPROC | |
178 | default ARCH_BCM_IPROC | |
179 | help | |
180 | Say Y here if you want to use the Broadcom iProc PCIe controller | |
181 | through the generic platform bus interface | |
182 | ||
4785ffbd | 183 | config PCIE_IPROC_BCMA |
05aa7d6a | 184 | tristate "Broadcom iProc PCIe BCMA bus driver" |
70d334ca | 185 | depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST) |
4785ffbd HM |
186 | select PCIE_IPROC |
187 | select BCMA | |
188 | select PCI_DOMAINS | |
189 | default ARCH_BCM_5301X | |
190 | help | |
191 | Say Y here if you want to use the Broadcom iProc PCIe controller | |
192 | through the BCMA bus interface | |
193 | ||
3bc2b234 RJ |
194 | config PCIE_IPROC_MSI |
195 | bool "Broadcom iProc PCIe MSI support" | |
196 | depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA | |
3ee80364 | 197 | depends on PCI_MSI_IRQ_DOMAIN |
3bc2b234 RJ |
198 | default ARCH_BCM_IPROC |
199 | help | |
200 | Say Y here if you want to enable MSI support for Broadcom's iProc | |
201 | PCIe controller | |
202 | ||
eaa6111b LFT |
203 | config PCIE_ALTERA |
204 | bool "Altera PCIe controller" | |
205 | depends on ARM || NIOS2 | |
206 | depends on OF_PCI | |
207 | select PCI_DOMAINS | |
208 | help | |
209 | Say Y here if you want to enable PCIe controller support on Altera | |
210 | FPGA. | |
211 | ||
af1169b4 LFT |
212 | config PCIE_ALTERA_MSI |
213 | bool "Altera PCIe MSI feature" | |
3ee80364 AB |
214 | depends on PCIE_ALTERA |
215 | depends on PCI_MSI_IRQ_DOMAIN | |
af1169b4 LFT |
216 | help |
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. | |
219 | ||
500a1d9a ZW |
220 | config PCI_HISI |
221 | depends on OF && ARM64 | |
5930fe4e | 222 | bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers" |
3ee80364 | 223 | depends on PCI_MSI_IRQ_DOMAIN |
500a1d9a ZW |
224 | select PCIEPORTBUS |
225 | select PCIE_DW | |
226 | help | |
5930fe4e GP |
227 | Say Y here if you want PCIe controller support on HiSilicon |
228 | Hip05 and Hip06 SoCs | |
500a1d9a | 229 | |
82a82383 SV |
230 | config PCIE_QCOM |
231 | bool "Qualcomm PCIe controller" | |
232 | depends on ARCH_QCOM && OF | |
3ee80364 | 233 | depends on PCI_MSI_IRQ_DOMAIN |
82a82383 SV |
234 | select PCIE_DW |
235 | select PCIEPORTBUS | |
236 | help | |
237 | Say Y here to enable PCIe controller support on Qualcomm SoCs. The | |
238 | PCIe controller uses the Designware core plus Qualcomm-specific | |
239 | hardware wrappers. | |
500a1d9a | 240 | |
f12b76e5 DD |
241 | config PCI_HOST_THUNDER_PEM |
242 | bool "Cavium Thunder PCIe controller to off-chip devices" | |
243 | depends on OF && ARM64 | |
244 | select PCI_HOST_COMMON | |
245 | help | |
246 | Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. | |
247 | ||
7b6e7ba8 DD |
248 | config PCI_HOST_THUNDER_ECAM |
249 | bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" | |
250 | depends on OF && ARM64 | |
251 | select PCI_HOST_COMMON | |
252 | help | |
253 | Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. | |
254 | ||
1c52a513 TP |
255 | config PCIE_ARMADA_8K |
256 | bool "Marvell Armada-8K PCIe controller" | |
257 | depends on ARCH_MVEBU | |
3ee80364 | 258 | depends on PCI_MSI_IRQ_DOMAIN |
1c52a513 TP |
259 | select PCIE_DW |
260 | select PCIEPORTBUS | |
261 | help | |
262 | Say Y here if you want to enable PCIe controller support on | |
263 | Armada-8K SoCs. The PCIe controller on Armada-8K is based on | |
264 | Designware hardware and therefore the driver re-uses the | |
265 | Designware core functions to implement the driver. | |
266 | ||
a3cbfae1 NC |
267 | config PCIE_ARTPEC6 |
268 | bool "Axis ARTPEC-6 PCIe controller" | |
269 | depends on MACH_ARTPEC6 | |
09e3cded | 270 | depends on PCI_MSI_IRQ_DOMAIN |
a3cbfae1 NC |
271 | select PCIE_DW |
272 | select PCIEPORTBUS | |
273 | help | |
274 | Say Y here to enable PCIe controller support on Axis ARTPEC-6 | |
275 | SoCs. This PCIe controller uses the DesignWare core. | |
276 | ||
e77f847d SL |
277 | config PCIE_ROCKCHIP |
278 | bool "Rockchip PCIe controller" | |
279 | depends on ARCH_ROCKCHIP | |
280 | depends on OF | |
281 | depends on PCI_MSI_IRQ_DOMAIN | |
282 | select MFD_SYSCON | |
283 | help | |
284 | Say Y here if you want internal PCI support on Rockchip SoC. | |
285 | There is 1 internal PCIe port available to support GEN2 with | |
286 | 4 slots. | |
287 | ||
181ffd19 | 288 | config VMD |
3906b918 | 289 | depends on PCI_MSI && X86_64 && SRCU |
181ffd19 KB |
290 | tristate "Intel Volume Management Device Driver" |
291 | default N | |
292 | ---help--- | |
293 | Adds support for the Intel Volume Management Device (VMD). VMD is a | |
294 | secondary PCI host bridge that allows PCI Express root ports, | |
295 | and devices attached to them, to be removed from the default | |
296 | PCI domain and placed within the VMD domain. This provides | |
297 | more bus resources than are otherwise possible with a | |
298 | single domain. If you know your system provides one of these and | |
299 | has devices attached to it, say Y; if you are not sure, say N. | |
300 | ||
301 | To compile this driver as a module, choose M here: the | |
302 | module will be called vmd. | |
303 | ||
45361a4f | 304 | endmenu |