]>
Commit | Line | Data |
---|---|---|
7328c8f4 BH |
1 | # SPDX-License-Identifier: GPL-2.0 |
2 | ||
45361a4f TP |
3 | menu "PCI host controller drivers" |
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 |
61d9e854 | 9 | depends on ARM |
5477a33b | 10 | depends on OF |
45361a4f | 11 | |
8c39d710 TP |
12 | config PCI_AARDVARK |
13 | bool "Aardvark PCIe controller" | |
51bc085d | 14 | depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST |
8c39d710 TP |
15 | depends on OF |
16 | depends on PCI_MSI_IRQ_DOMAIN | |
17 | help | |
18 | Add support for Aardvark 64bit PCIe Host Controller. This | |
19 | controller is part of the South Bridge of the Marvel Armada | |
20 | 3700 SoC. | |
562df5c8 | 21 | |
ab597d35 BKG |
22 | config PCIE_XILINX_NWL |
23 | bool "NWL PCIe Core" | |
51bc085d | 24 | depends on ARCH_ZYNQMP || COMPILE_TEST |
3ee80364 | 25 | depends on PCI_MSI_IRQ_DOMAIN |
ab597d35 BKG |
26 | help |
27 | Say 'Y' here if you want kernel support for Xilinx | |
28 | NWL PCIe controller. The controller can act as Root Port | |
29 | or End Point. The current option selection will only | |
30 | support root port enabling. | |
31 | ||
d3c68e0a LW |
32 | config PCI_FTPCI100 |
33 | bool "Faraday Technology FTPCI100 PCI controller" | |
34 | depends on OF | |
d3c68e0a LW |
35 | default ARCH_GEMINI |
36 | ||
d1523b52 TR |
37 | config PCI_TEGRA |
38 | bool "NVIDIA Tegra PCIe controller" | |
51bc085d | 39 | depends on ARCH_TEGRA || COMPILE_TEST |
6de3ff90 | 40 | depends on PCI_MSI_IRQ_DOMAIN |
6b1c4d76 TR |
41 | help |
42 | Say Y here if you want support for the PCIe host controller found | |
43 | on NVIDIA Tegra SoCs. | |
d1523b52 | 44 | |
ba3eb9fc VB |
45 | config PCI_RCAR_GEN2 |
46 | bool "Renesas R-Car Gen2 Internal PCI controller" | |
304e6d57 | 47 | depends on ARCH_RENESAS || COMPILE_TEST |
51bc085d | 48 | depends on ARM |
ba3eb9fc VB |
49 | help |
50 | Say Y here if you want internal PCI support on R-Car Gen2 SoC. | |
51 | There are 3 internal PCI controllers available with a single | |
52 | built-in EHCI/OHCI host controller present on each one. | |
53 | ||
350a73b4 | 54 | config PCIE_RCAR |
c25da477 | 55 | bool "Renesas R-Car PCIe controller" |
51bc085d | 56 | depends on ARCH_RENESAS || COMPILE_TEST |
3ee80364 | 57 | depends on PCI_MSI_IRQ_DOMAIN |
c25da477 | 58 | help |
350a73b4 | 59 | Say Y here if you want PCIe controller support on R-Car SoCs. |
c25da477 | 60 | |
4e64dbe2 DD |
61 | config PCI_HOST_COMMON |
62 | bool | |
1958e717 | 63 | select PCI_ECAM |
4e64dbe2 | 64 | |
ce292991 WD |
65 | config PCI_HOST_GENERIC |
66 | bool "Generic PCI host controller" | |
51bc085d | 67 | depends on OF |
4e64dbe2 | 68 | select PCI_HOST_COMMON |
d7d5677c | 69 | select IRQ_DOMAIN |
ce292991 WD |
70 | help |
71 | Say Y here if you want to support a simple generic PCI host | |
72 | controller, such as the one emulated by kvmtool. | |
73 | ||
8961def5 ST |
74 | config PCIE_XILINX |
75 | bool "Xilinx AXI PCIe host bridge support" | |
51bc085d | 76 | depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC) || COMPILE_TEST |
8961def5 ST |
77 | help |
78 | Say 'Y' here if you want kernel to support the Xilinx AXI PCIe | |
79 | Host Bridge driver. | |
80 | ||
5f6b6ccd TI |
81 | config PCI_XGENE |
82 | bool "X-Gene PCIe controller" | |
51bc085d | 83 | depends on ARM64 || COMPILE_TEST |
c5d46039 | 84 | depends on OF || (ACPI && PCI_QUIRKS) |
5f6b6ccd TI |
85 | select PCIEPORTBUS |
86 | help | |
87 | Say Y here if you want internal PCI support on APM X-Gene SoC. | |
88 | There are 5 internal PCIe ports available. Each port is GEN3 capable | |
89 | and have varied lanes from x1 to x8. | |
90 | ||
dcd19de3 DD |
91 | config PCI_XGENE_MSI |
92 | bool "X-Gene v1 PCIe MSI feature" | |
3ee80364 AB |
93 | depends on PCI_XGENE |
94 | depends on PCI_MSI_IRQ_DOMAIN | |
dcd19de3 DD |
95 | default y |
96 | help | |
97 | Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC. | |
98 | This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC. | |
99 | ||
68a15eb7 LW |
100 | config PCI_V3_SEMI |
101 | bool "V3 Semiconductor PCI controller" | |
102 | depends on OF | |
51bc085d | 103 | depends on ARM || COMPILE_TEST |
68a15eb7 LW |
104 | default ARCH_INTEGRATOR_AP |
105 | ||
b7e78170 RH |
106 | config PCI_VERSATILE |
107 | bool "ARM Versatile PB PCI controller" | |
108 | depends on ARCH_VERSATILE | |
109 | ||
1fb37a81 | 110 | config PCIE_IPROC |
c1b98e41 | 111 | tristate |
e584b06c | 112 | select PCI_DOMAINS |
1fb37a81 RJ |
113 | help |
114 | This enables the iProc PCIe core controller support for Broadcom's | |
c1b98e41 AB |
115 | iProc family of SoCs. An appropriate bus interface driver needs |
116 | to be enabled to select this. | |
1fb37a81 RJ |
117 | |
118 | config PCIE_IPROC_PLATFORM | |
119 | tristate "Broadcom iProc PCIe platform bus driver" | |
120 | depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST) | |
121 | depends on OF | |
122 | select PCIE_IPROC | |
123 | default ARCH_BCM_IPROC | |
124 | help | |
125 | Say Y here if you want to use the Broadcom iProc PCIe controller | |
126 | through the generic platform bus interface | |
127 | ||
4785ffbd | 128 | config PCIE_IPROC_BCMA |
05aa7d6a | 129 | tristate "Broadcom iProc PCIe BCMA bus driver" |
70d334ca | 130 | depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST) |
4785ffbd HM |
131 | select PCIE_IPROC |
132 | select BCMA | |
4785ffbd HM |
133 | default ARCH_BCM_5301X |
134 | help | |
135 | Say Y here if you want to use the Broadcom iProc PCIe controller | |
136 | through the BCMA bus interface | |
137 | ||
3bc2b234 RJ |
138 | config PCIE_IPROC_MSI |
139 | bool "Broadcom iProc PCIe MSI support" | |
140 | depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA | |
3ee80364 | 141 | depends on PCI_MSI_IRQ_DOMAIN |
3bc2b234 RJ |
142 | default ARCH_BCM_IPROC |
143 | help | |
144 | Say Y here if you want to enable MSI support for Broadcom's iProc | |
145 | PCIe controller | |
146 | ||
eaa6111b LFT |
147 | config PCIE_ALTERA |
148 | bool "Altera PCIe controller" | |
51bc085d | 149 | depends on ARM || NIOS2 || COMPILE_TEST |
eaa6111b LFT |
150 | select PCI_DOMAINS |
151 | help | |
152 | Say Y here if you want to enable PCIe controller support on Altera | |
153 | FPGA. | |
154 | ||
af1169b4 LFT |
155 | config PCIE_ALTERA_MSI |
156 | bool "Altera PCIe MSI feature" | |
3ee80364 AB |
157 | depends on PCIE_ALTERA |
158 | depends on PCI_MSI_IRQ_DOMAIN | |
af1169b4 LFT |
159 | help |
160 | Say Y here if you want PCIe MSI support for the Altera FPGA. | |
161 | This MSI driver supports Altera MSI to GIC controller IP. | |
162 | ||
f12b76e5 DD |
163 | config PCI_HOST_THUNDER_PEM |
164 | bool "Cavium Thunder PCIe controller to off-chip devices" | |
51bc085d | 165 | depends on ARM64 || COMPILE_TEST |
44f22bd9 | 166 | depends on OF || (ACPI && PCI_QUIRKS) |
f12b76e5 DD |
167 | select PCI_HOST_COMMON |
168 | help | |
169 | Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. | |
170 | ||
7b6e7ba8 DD |
171 | config PCI_HOST_THUNDER_ECAM |
172 | bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" | |
51bc085d | 173 | depends on ARM64 || COMPILE_TEST |
648d93fc | 174 | depends on OF || (ACPI && PCI_QUIRKS) |
7b6e7ba8 DD |
175 | select PCI_HOST_COMMON |
176 | help | |
177 | Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. | |
178 | ||
e77f847d | 179 | config PCIE_ROCKCHIP |
b0308c54 | 180 | tristate "Rockchip PCIe controller" |
1177f76a | 181 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
e77f847d SL |
182 | depends on OF |
183 | depends on PCI_MSI_IRQ_DOMAIN | |
184 | select MFD_SYSCON | |
185 | help | |
186 | Say Y here if you want internal PCI support on Rockchip SoC. | |
187 | There is 1 internal PCIe port available to support GEN2 with | |
188 | 4 slots. | |
189 | ||
637cfaca RL |
190 | config PCIE_MEDIATEK |
191 | bool "MediaTek PCIe controller" | |
51bc085d | 192 | depends on ARCH_MEDIATEK || COMPILE_TEST |
637cfaca | 193 | depends on OF |
637cfaca RL |
194 | select PCIEPORTBUS |
195 | help | |
196 | Say Y here if you want to enable PCIe controller support on | |
b099631d | 197 | MediaTek SoCs. |
637cfaca | 198 | |
5e14e9fa MG |
199 | config PCIE_TANGO_SMP8759 |
200 | bool "Tango SMP8759 PCIe controller (DANGEROUS)" | |
201 | depends on ARCH_TANGO && PCI_MSI && OF | |
202 | depends on BROKEN | |
203 | select PCI_HOST_COMMON | |
204 | help | |
205 | Say Y here to enable PCIe controller support for Sigma Designs | |
206 | Tango SMP8759-based systems. | |
207 | ||
208 | Note: The SMP8759 controller multiplexes PCI config and MMIO | |
209 | accesses, and Linux doesn't provide a way to serialize them. | |
210 | This can lead to data corruption if drivers perform concurrent | |
211 | config and MMIO accesses. | |
212 | ||
181ffd19 | 213 | config VMD |
3906b918 | 214 | depends on PCI_MSI && X86_64 && SRCU |
181ffd19 | 215 | tristate "Intel Volume Management Device Driver" |
181ffd19 KB |
216 | ---help--- |
217 | Adds support for the Intel Volume Management Device (VMD). VMD is a | |
218 | secondary PCI host bridge that allows PCI Express root ports, | |
219 | and devices attached to them, to be removed from the default | |
220 | PCI domain and placed within the VMD domain. This provides | |
221 | more bus resources than are otherwise possible with a | |
222 | single domain. If you know your system provides one of these and | |
223 | has devices attached to it, say Y; if you are not sure, say N. | |
224 | ||
225 | To compile this driver as a module, choose M here: the | |
226 | module will be called vmd. | |
227 | ||
45361a4f | 228 | endmenu |