]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - drivers/pci/controller/Kconfig
Merge tag 'trace-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux...
[mirror_ubuntu-jammy-kernel.git] / drivers / pci / controller / Kconfig
CommitLineData
7328c8f4
BH
1# SPDX-License-Identifier: GPL-2.0
2
6e0832fa 3menu "PCI controller drivers"
45361a4f
TP
4 depends on PCI
5
6config 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
14config 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
25config 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
35config PCI_FTPCI100
36 bool "Faraday Technology FTPCI100 PCI controller"
37 depends on OF
d3c68e0a
LW
38 default ARCH_GEMINI
39
d1523b52
TR
40config 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
48config 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 57config 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
66config 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
74config 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 82config PCI_HOST_COMMON
0c59c06a 83 tristate
1958e717 84 select PCI_ECAM
4e64dbe2 85
ce292991 86config 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
95config 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
102config 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
111config 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
120config 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
126config PCI_VERSATILE
127 bool "ARM Versatile PB PCI controller"
ecf8fd6d 128 depends on ARCH_VERSATILE || COMPILE_TEST
b7e78170 129
1fb37a81 130config 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
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
4785ffbd 147config 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
157config 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 166config 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 173config 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
181config 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
189config 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 197config PCIE_ROCKCHIP
956cd99b
SL
198 bool
199 depends on PCI
200
201config 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
213config 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 225config 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
234config 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 248config 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
263config 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
272config 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
279config 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 289source "drivers/pci/controller/dwc/Kconfig"
03bdc388 290source "drivers/pci/controller/mobiveil/Kconfig"
de80f95c 291source "drivers/pci/controller/cadence/Kconfig"
45361a4f 292endmenu