]> Git Repo - linux.git/blame - drivers/pci/host/Kconfig
PCI: Improve host drivers compile test coverage
[linux.git] / drivers / pci / host / Kconfig
CommitLineData
7328c8f4
BH
1# SPDX-License-Identifier: GPL-2.0
2
45361a4f
TP
3menu "PCI host controller drivers"
4 depends on PCI
5
6config 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
12config 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
22config 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
32config PCI_FTPCI100
33 bool "Faraday Technology FTPCI100 PCI controller"
34 depends on OF
d3c68e0a
LW
35 default ARCH_GEMINI
36
d1523b52
TR
37config 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
45config 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 54config 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
61config PCI_HOST_COMMON
62 bool
1958e717 63 select PCI_ECAM
4e64dbe2 64
ce292991
WD
65config 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
74config 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
81config 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
91config 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
100config 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
106config PCI_VERSATILE
107 bool "ARM Versatile PB PCI controller"
108 depends on ARCH_VERSATILE
109
1fb37a81 110config 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
118config 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 128config 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
138config 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
147config 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
155config 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
163config 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
171config 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 179config 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
190config 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
199config 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 213config 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 228endmenu
This page took 0.497143 seconds and 4 git commands to generate.