]>
Commit | Line | Data |
---|---|---|
7328c8f4 BH |
1 | # SPDX-License-Identifier: GPL-2.0 |
2 | ||
6e0832fa | 3 | menu "PCI controller drivers" |
45361a4f TP |
4 | depends on PCI |
5 | ||
6 | config PCI_MVEBU | |
7 | bool "Marvell EBU PCIe controller" | |
51bc085d | 8 | depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST |
5db844ee | 9 | depends on MVEBU_MBUS |
61d9e854 | 10 | depends on ARM |
5477a33b | 11 | depends on OF |
1f08673e | 12 | select PCI_BRIDGE_EMUL |
45361a4f | 13 | |
8c39d710 TP |
14 | config PCI_AARDVARK |
15 | bool "Aardvark PCIe controller" | |
51bc085d | 16 | depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST |
8c39d710 TP |
17 | depends on OF |
18 | depends on PCI_MSI_IRQ_DOMAIN | |
8a3ebd8d | 19 | select PCI_BRIDGE_EMUL |
8c39d710 TP |
20 | help |
21 | Add support for Aardvark 64bit PCIe Host Controller. This | |
22 | controller is part of the South Bridge of the Marvel Armada | |
23 | 3700 SoC. | |
562df5c8 | 24 | |
ab597d35 BKG |
25 | config PCIE_XILINX_NWL |
26 | bool "NWL PCIe Core" | |
51bc085d | 27 | depends on ARCH_ZYNQMP || COMPILE_TEST |
3ee80364 | 28 | depends on PCI_MSI_IRQ_DOMAIN |
ab597d35 BKG |
29 | help |
30 | Say 'Y' here if you want kernel support for Xilinx | |
31 | NWL PCIe controller. The controller can act as Root Port | |
32 | or End Point. The current option selection will only | |
33 | support root port enabling. | |
34 | ||
d3c68e0a LW |
35 | config PCI_FTPCI100 |
36 | bool "Faraday Technology FTPCI100 PCI controller" | |
37 | depends on OF | |
d3c68e0a LW |
38 | default ARCH_GEMINI |
39 | ||
d1523b52 TR |
40 | config PCI_TEGRA |
41 | bool "NVIDIA Tegra PCIe controller" | |
51bc085d | 42 | depends on ARCH_TEGRA || COMPILE_TEST |
6de3ff90 | 43 | depends on PCI_MSI_IRQ_DOMAIN |
6b1c4d76 TR |
44 | help |
45 | Say Y here if you want support for the PCIe host controller found | |
46 | on NVIDIA Tegra SoCs. | |
d1523b52 | 47 | |
ba3eb9fc VB |
48 | config PCI_RCAR_GEN2 |
49 | bool "Renesas R-Car Gen2 Internal PCI controller" | |
304e6d57 | 50 | depends on ARCH_RENESAS || COMPILE_TEST |
51bc085d | 51 | depends on ARM |
ba3eb9fc VB |
52 | help |
53 | Say Y here if you want internal PCI support on R-Car Gen2 SoC. | |
54 | There are 3 internal PCI controllers available with a single | |
55 | built-in EHCI/OHCI host controller present on each one. | |
56 | ||
350a73b4 | 57 | config PCIE_RCAR |
c25da477 | 58 | bool "Renesas R-Car PCIe controller" |
51bc085d | 59 | depends on ARCH_RENESAS || COMPILE_TEST |
3ee80364 | 60 | depends on PCI_MSI_IRQ_DOMAIN |
a18f4b6e | 61 | select PCIE_RCAR_HOST |
c25da477 | 62 | help |
350a73b4 | 63 | Say Y here if you want PCIe controller support on R-Car SoCs. |
a18f4b6e LP |
64 | This option will be removed after arm64 defconfig is updated. |
65 | ||
66 | config PCIE_RCAR_HOST | |
67 | bool "Renesas R-Car PCIe host controller" | |
68 | depends on ARCH_RENESAS || COMPILE_TEST | |
69 | depends on PCI_MSI_IRQ_DOMAIN | |
70 | help | |
71 | Say Y here if you want PCIe controller support on R-Car SoCs in host | |
72 | mode. | |
c25da477 | 73 | |
2a6d0d63 LP |
74 | config PCIE_RCAR_EP |
75 | bool "Renesas R-Car PCIe endpoint controller" | |
76 | depends on ARCH_RENESAS || COMPILE_TEST | |
77 | depends on PCI_ENDPOINT | |
78 | help | |
79 | Say Y here if you want PCIe controller support on R-Car SoCs in | |
80 | endpoint mode. | |
c25da477 | 81 | |
4e64dbe2 | 82 | config PCI_HOST_COMMON |
0c59c06a | 83 | tristate |
1958e717 | 84 | select PCI_ECAM |
4e64dbe2 | 85 | |
ce292991 | 86 | config PCI_HOST_GENERIC |
0c59c06a | 87 | tristate "Generic PCI host controller" |
51bc085d | 88 | depends on OF |
4e64dbe2 | 89 | select PCI_HOST_COMMON |
d7d5677c | 90 | select IRQ_DOMAIN |
ce292991 WD |
91 | help |
92 | Say Y here if you want to support a simple generic PCI host | |
93 | controller, such as the one emulated by kvmtool. | |
94 | ||
8961def5 ST |
95 | config PCIE_XILINX |
96 | bool "Xilinx AXI PCIe host bridge support" | |
34dbc9c6 | 97 | depends on OF || COMPILE_TEST |
8961def5 ST |
98 | help |
99 | Say 'Y' here if you want kernel to support the Xilinx AXI PCIe | |
100 | Host Bridge driver. | |
101 | ||
5f6b6ccd TI |
102 | config PCI_XGENE |
103 | bool "X-Gene PCIe controller" | |
51bc085d | 104 | depends on ARM64 || COMPILE_TEST |
c5d46039 | 105 | depends on OF || (ACPI && PCI_QUIRKS) |
5f6b6ccd TI |
106 | help |
107 | Say Y here if you want internal PCI support on APM X-Gene SoC. | |
108 | There are 5 internal PCIe ports available. Each port is GEN3 capable | |
109 | and have varied lanes from x1 to x8. | |
110 | ||
dcd19de3 DD |
111 | config PCI_XGENE_MSI |
112 | bool "X-Gene v1 PCIe MSI feature" | |
3ee80364 AB |
113 | depends on PCI_XGENE |
114 | depends on PCI_MSI_IRQ_DOMAIN | |
dcd19de3 DD |
115 | default y |
116 | help | |
117 | Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC. | |
118 | This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC. | |
119 | ||
68a15eb7 LW |
120 | config PCI_V3_SEMI |
121 | bool "V3 Semiconductor PCI controller" | |
122 | depends on OF | |
51bc085d | 123 | depends on ARM || COMPILE_TEST |
68a15eb7 LW |
124 | default ARCH_INTEGRATOR_AP |
125 | ||
b7e78170 RH |
126 | config PCI_VERSATILE |
127 | bool "ARM Versatile PB PCI controller" | |
ecf8fd6d | 128 | depends on ARCH_VERSATILE || COMPILE_TEST |
b7e78170 | 129 | |
1fb37a81 | 130 | config PCIE_IPROC |
c1b98e41 | 131 | tristate |
1fb37a81 RJ |
132 | help |
133 | This enables the iProc PCIe core controller support for Broadcom's | |
c1b98e41 AB |
134 | iProc family of SoCs. An appropriate bus interface driver needs |
135 | to be enabled to select this. | |
1fb37a81 RJ |
136 | |
137 | config 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 | ||
4785ffbd | 147 | config PCIE_IPROC_BCMA |
05aa7d6a | 148 | tristate "Broadcom iProc PCIe BCMA bus driver" |
70d334ca | 149 | depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST) |
4785ffbd HM |
150 | select PCIE_IPROC |
151 | select BCMA | |
4785ffbd HM |
152 | default ARCH_BCM_5301X |
153 | help | |
154 | Say Y here if you want to use the Broadcom iProc PCIe controller | |
155 | through the BCMA bus interface | |
156 | ||
3bc2b234 RJ |
157 | config PCIE_IPROC_MSI |
158 | bool "Broadcom iProc PCIe MSI support" | |
159 | depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA | |
3ee80364 | 160 | depends on PCI_MSI_IRQ_DOMAIN |
3bc2b234 RJ |
161 | default ARCH_BCM_IPROC |
162 | help | |
163 | Say Y here if you want to enable MSI support for Broadcom's iProc | |
164 | PCIe controller | |
165 | ||
eaa6111b | 166 | config PCIE_ALTERA |
ec15c4d0 | 167 | tristate "Altera PCIe controller" |
5fd831cd | 168 | depends on ARM || NIOS2 || ARM64 || COMPILE_TEST |
eaa6111b LFT |
169 | help |
170 | Say Y here if you want to enable PCIe controller support on Altera | |
171 | FPGA. | |
172 | ||
af1169b4 | 173 | config PCIE_ALTERA_MSI |
c7ddfd35 | 174 | tristate "Altera PCIe MSI feature" |
3ee80364 AB |
175 | depends on PCIE_ALTERA |
176 | depends on PCI_MSI_IRQ_DOMAIN | |
af1169b4 LFT |
177 | help |
178 | Say Y here if you want PCIe MSI support for the Altera FPGA. | |
179 | This MSI driver supports Altera MSI to GIC controller IP. | |
180 | ||
f12b76e5 DD |
181 | config PCI_HOST_THUNDER_PEM |
182 | bool "Cavium Thunder PCIe controller to off-chip devices" | |
51bc085d | 183 | depends on ARM64 || COMPILE_TEST |
44f22bd9 | 184 | depends on OF || (ACPI && PCI_QUIRKS) |
f12b76e5 DD |
185 | select PCI_HOST_COMMON |
186 | help | |
187 | Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. | |
188 | ||
7b6e7ba8 DD |
189 | config PCI_HOST_THUNDER_ECAM |
190 | bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" | |
51bc085d | 191 | depends on ARM64 || COMPILE_TEST |
648d93fc | 192 | depends on OF || (ACPI && PCI_QUIRKS) |
7b6e7ba8 DD |
193 | select PCI_HOST_COMMON |
194 | help | |
195 | Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. | |
196 | ||
e77f847d | 197 | config PCIE_ROCKCHIP |
956cd99b SL |
198 | bool |
199 | depends on PCI | |
200 | ||
201 | config PCIE_ROCKCHIP_HOST | |
202 | tristate "Rockchip PCIe host controller" | |
1177f76a | 203 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
e77f847d SL |
204 | depends on OF |
205 | depends on PCI_MSI_IRQ_DOMAIN | |
206 | select MFD_SYSCON | |
956cd99b | 207 | select PCIE_ROCKCHIP |
e77f847d SL |
208 | help |
209 | Say Y here if you want internal PCI support on Rockchip SoC. | |
210 | There is 1 internal PCIe port available to support GEN2 with | |
211 | 4 slots. | |
212 | ||
cf590b07 SL |
213 | config PCIE_ROCKCHIP_EP |
214 | bool "Rockchip PCIe endpoint controller" | |
215 | depends on ARCH_ROCKCHIP || COMPILE_TEST | |
216 | depends on OF | |
217 | depends on PCI_ENDPOINT | |
218 | select MFD_SYSCON | |
219 | select PCIE_ROCKCHIP | |
220 | help | |
221 | Say Y here if you want to support Rockchip PCIe controller in | |
222 | endpoint mode on Rockchip SoC. There is 1 internal PCIe port | |
223 | available to support GEN2 with 4 slots. | |
224 | ||
637cfaca | 225 | config PCIE_MEDIATEK |
031337ac | 226 | tristate "MediaTek PCIe controller" |
51bc085d | 227 | depends on ARCH_MEDIATEK || COMPILE_TEST |
637cfaca | 228 | depends on OF |
42fe2f91 | 229 | depends on PCI_MSI_IRQ_DOMAIN |
637cfaca RL |
230 | help |
231 | Say Y here if you want to enable PCIe controller support on | |
b099631d | 232 | MediaTek SoCs. |
637cfaca | 233 | |
5e14e9fa MG |
234 | config PCIE_TANGO_SMP8759 |
235 | bool "Tango SMP8759 PCIe controller (DANGEROUS)" | |
236 | depends on ARCH_TANGO && PCI_MSI && OF | |
237 | depends on BROKEN | |
238 | select PCI_HOST_COMMON | |
239 | help | |
240 | Say Y here to enable PCIe controller support for Sigma Designs | |
241 | Tango SMP8759-based systems. | |
242 | ||
243 | Note: The SMP8759 controller multiplexes PCI config and MMIO | |
244 | accesses, and Linux doesn't provide a way to serialize them. | |
245 | This can lead to data corruption if drivers perform concurrent | |
246 | config and MMIO accesses. | |
247 | ||
181ffd19 | 248 | config VMD |
3906b918 | 249 | depends on PCI_MSI && X86_64 && SRCU |
181ffd19 | 250 | tristate "Intel Volume Management Device Driver" |
181ffd19 KB |
251 | ---help--- |
252 | Adds support for the Intel Volume Management Device (VMD). VMD is a | |
253 | secondary PCI host bridge that allows PCI Express root ports, | |
254 | and devices attached to them, to be removed from the default | |
255 | PCI domain and placed within the VMD domain. This provides | |
256 | more bus resources than are otherwise possible with a | |
257 | single domain. If you know your system provides one of these and | |
258 | has devices attached to it, say Y; if you are not sure, say N. | |
259 | ||
260 | To compile this driver as a module, choose M here: the | |
261 | module will be called vmd. | |
262 | ||
c0452137 JQ |
263 | config PCIE_BRCMSTB |
264 | tristate "Broadcom Brcmstb PCIe host controller" | |
265 | depends on ARCH_BCM2835 || COMPILE_TEST | |
266 | depends on OF | |
40ca1bf5 | 267 | depends on PCI_MSI_IRQ_DOMAIN |
c0452137 JQ |
268 | help |
269 | Say Y here to enable PCIe host controller support for | |
270 | Broadcom STB based SoCs, like the Raspberry Pi 4. | |
271 | ||
348dd93e HZ |
272 | config PCI_HYPERV_INTERFACE |
273 | tristate "Hyper-V PCI Interface" | |
274 | depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64 | |
275 | help | |
276 | The Hyper-V PCI Interface is a helper driver allows other drivers to | |
277 | have a common interface with the Hyper-V PCI frontend driver. | |
278 | ||
1f58cca5 JY |
279 | config PCI_LOONGSON |
280 | bool "LOONGSON PCI Controller" | |
281 | depends on MACH_LOONGSON64 || COMPILE_TEST | |
282 | depends on OF | |
283 | depends on PCI_QUIRKS | |
284 | default MACH_LOONGSON64 | |
285 | help | |
286 | Say Y here if you want to enable PCI controller support on | |
287 | Loongson systems. | |
288 | ||
6e0832fa | 289 | source "drivers/pci/controller/dwc/Kconfig" |
03bdc388 | 290 | source "drivers/pci/controller/mobiveil/Kconfig" |
de80f95c | 291 | source "drivers/pci/controller/cadence/Kconfig" |
45361a4f | 292 | endmenu |