]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - drivers/pci/controller/Kconfig
Merge branches 'for-5.1/upstream-fixes', 'for-5.2/core', 'for-5.2/ish', 'for-5.2...
[mirror_ubuntu-kernels.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
6e0832fa
SL
25menu "Cadence PCIe controllers support"
26
27config PCIE_CADENCE
28 bool
29
30config PCIE_CADENCE_HOST
31 bool "Cadence PCIe host controller"
32 depends on OF
33 depends on PCI
34 select IRQ_DOMAIN
35 select PCIE_CADENCE
36 help
37 Say Y here if you want to support the Cadence PCIe controller in host
38 mode. This PCIe controller may be embedded into many different vendors
39 SoCs.
40
41config PCIE_CADENCE_EP
42 bool "Cadence PCIe endpoint controller"
43 depends on OF
44 depends on PCI_ENDPOINT
45 select PCIE_CADENCE
46 help
47 Say Y here if you want to support the Cadence PCIe controller in
48 endpoint mode. This PCIe controller may be embedded into many
49 different vendors SoCs.
50
51endmenu
52
ab597d35
BKG
53config PCIE_XILINX_NWL
54 bool "NWL PCIe Core"
51bc085d 55 depends on ARCH_ZYNQMP || COMPILE_TEST
3ee80364 56 depends on PCI_MSI_IRQ_DOMAIN
ab597d35
BKG
57 help
58 Say 'Y' here if you want kernel support for Xilinx
59 NWL PCIe controller. The controller can act as Root Port
60 or End Point. The current option selection will only
61 support root port enabling.
62
d3c68e0a
LW
63config PCI_FTPCI100
64 bool "Faraday Technology FTPCI100 PCI controller"
65 depends on OF
d3c68e0a
LW
66 default ARCH_GEMINI
67
d1523b52
TR
68config PCI_TEGRA
69 bool "NVIDIA Tegra PCIe controller"
51bc085d 70 depends on ARCH_TEGRA || COMPILE_TEST
6de3ff90 71 depends on PCI_MSI_IRQ_DOMAIN
6b1c4d76
TR
72 help
73 Say Y here if you want support for the PCIe host controller found
74 on NVIDIA Tegra SoCs.
d1523b52 75
ba3eb9fc
VB
76config PCI_RCAR_GEN2
77 bool "Renesas R-Car Gen2 Internal PCI controller"
304e6d57 78 depends on ARCH_RENESAS || COMPILE_TEST
51bc085d 79 depends on ARM
ba3eb9fc
VB
80 help
81 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
82 There are 3 internal PCI controllers available with a single
83 built-in EHCI/OHCI host controller present on each one.
84
350a73b4 85config PCIE_RCAR
c25da477 86 bool "Renesas R-Car PCIe controller"
51bc085d 87 depends on ARCH_RENESAS || COMPILE_TEST
3ee80364 88 depends on PCI_MSI_IRQ_DOMAIN
c25da477 89 help
350a73b4 90 Say Y here if you want PCIe controller support on R-Car SoCs.
c25da477 91
4e64dbe2
DD
92config PCI_HOST_COMMON
93 bool
1958e717 94 select PCI_ECAM
4e64dbe2 95
ce292991
WD
96config PCI_HOST_GENERIC
97 bool "Generic PCI host controller"
51bc085d 98 depends on OF
4e64dbe2 99 select PCI_HOST_COMMON
d7d5677c 100 select IRQ_DOMAIN
ce292991
WD
101 help
102 Say Y here if you want to support a simple generic PCI host
103 controller, such as the one emulated by kvmtool.
104
8961def5
ST
105config PCIE_XILINX
106 bool "Xilinx AXI PCIe host bridge support"
34dbc9c6 107 depends on OF || COMPILE_TEST
8961def5
ST
108 help
109 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
110 Host Bridge driver.
111
5f6b6ccd
TI
112config PCI_XGENE
113 bool "X-Gene PCIe controller"
51bc085d 114 depends on ARM64 || COMPILE_TEST
c5d46039 115 depends on OF || (ACPI && PCI_QUIRKS)
5f6b6ccd
TI
116 help
117 Say Y here if you want internal PCI support on APM X-Gene SoC.
118 There are 5 internal PCIe ports available. Each port is GEN3 capable
119 and have varied lanes from x1 to x8.
120
dcd19de3
DD
121config PCI_XGENE_MSI
122 bool "X-Gene v1 PCIe MSI feature"
3ee80364
AB
123 depends on PCI_XGENE
124 depends on PCI_MSI_IRQ_DOMAIN
dcd19de3
DD
125 default y
126 help
127 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
128 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
129
68a15eb7
LW
130config PCI_V3_SEMI
131 bool "V3 Semiconductor PCI controller"
132 depends on OF
51bc085d 133 depends on ARM || COMPILE_TEST
68a15eb7
LW
134 default ARCH_INTEGRATOR_AP
135
b7e78170
RH
136config PCI_VERSATILE
137 bool "ARM Versatile PB PCI controller"
138 depends on ARCH_VERSATILE
139
1fb37a81 140config PCIE_IPROC
c1b98e41 141 tristate
1fb37a81
RJ
142 help
143 This enables the iProc PCIe core controller support for Broadcom's
c1b98e41
AB
144 iProc family of SoCs. An appropriate bus interface driver needs
145 to be enabled to select this.
1fb37a81
RJ
146
147config PCIE_IPROC_PLATFORM
148 tristate "Broadcom iProc PCIe platform bus driver"
149 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
150 depends on OF
151 select PCIE_IPROC
152 default ARCH_BCM_IPROC
153 help
154 Say Y here if you want to use the Broadcom iProc PCIe controller
155 through the generic platform bus interface
156
4785ffbd 157config PCIE_IPROC_BCMA
05aa7d6a 158 tristate "Broadcom iProc PCIe BCMA bus driver"
70d334ca 159 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
4785ffbd
HM
160 select PCIE_IPROC
161 select BCMA
4785ffbd
HM
162 default ARCH_BCM_5301X
163 help
164 Say Y here if you want to use the Broadcom iProc PCIe controller
165 through the BCMA bus interface
166
3bc2b234
RJ
167config PCIE_IPROC_MSI
168 bool "Broadcom iProc PCIe MSI support"
169 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
3ee80364 170 depends on PCI_MSI_IRQ_DOMAIN
3bc2b234
RJ
171 default ARCH_BCM_IPROC
172 help
173 Say Y here if you want to enable MSI support for Broadcom's iProc
174 PCIe controller
175
eaa6111b
LFT
176config PCIE_ALTERA
177 bool "Altera PCIe controller"
5fd831cd 178 depends on ARM || NIOS2 || ARM64 || COMPILE_TEST
eaa6111b
LFT
179 help
180 Say Y here if you want to enable PCIe controller support on Altera
181 FPGA.
182
af1169b4
LFT
183config PCIE_ALTERA_MSI
184 bool "Altera PCIe MSI feature"
3ee80364
AB
185 depends on PCIE_ALTERA
186 depends on PCI_MSI_IRQ_DOMAIN
af1169b4
LFT
187 help
188 Say Y here if you want PCIe MSI support for the Altera FPGA.
189 This MSI driver supports Altera MSI to GIC controller IP.
190
f12b76e5
DD
191config PCI_HOST_THUNDER_PEM
192 bool "Cavium Thunder PCIe controller to off-chip devices"
51bc085d 193 depends on ARM64 || COMPILE_TEST
44f22bd9 194 depends on OF || (ACPI && PCI_QUIRKS)
f12b76e5
DD
195 select PCI_HOST_COMMON
196 help
197 Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
198
7b6e7ba8
DD
199config PCI_HOST_THUNDER_ECAM
200 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
51bc085d 201 depends on ARM64 || COMPILE_TEST
648d93fc 202 depends on OF || (ACPI && PCI_QUIRKS)
7b6e7ba8
DD
203 select PCI_HOST_COMMON
204 help
205 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
206
e77f847d 207config PCIE_ROCKCHIP
956cd99b
SL
208 bool
209 depends on PCI
210
211config PCIE_ROCKCHIP_HOST
212 tristate "Rockchip PCIe host controller"
1177f76a 213 depends on ARCH_ROCKCHIP || COMPILE_TEST
e77f847d
SL
214 depends on OF
215 depends on PCI_MSI_IRQ_DOMAIN
216 select MFD_SYSCON
956cd99b 217 select PCIE_ROCKCHIP
e77f847d
SL
218 help
219 Say Y here if you want internal PCI support on Rockchip SoC.
220 There is 1 internal PCIe port available to support GEN2 with
221 4 slots.
222
cf590b07
SL
223config PCIE_ROCKCHIP_EP
224 bool "Rockchip PCIe endpoint controller"
225 depends on ARCH_ROCKCHIP || COMPILE_TEST
226 depends on OF
227 depends on PCI_ENDPOINT
228 select MFD_SYSCON
229 select PCIE_ROCKCHIP
230 help
231 Say Y here if you want to support Rockchip PCIe controller in
232 endpoint mode on Rockchip SoC. There is 1 internal PCIe port
233 available to support GEN2 with 4 slots.
234
637cfaca 235config PCIE_MEDIATEK
031337ac 236 tristate "MediaTek PCIe controller"
51bc085d 237 depends on ARCH_MEDIATEK || COMPILE_TEST
637cfaca 238 depends on OF
42fe2f91 239 depends on PCI_MSI_IRQ_DOMAIN
637cfaca
RL
240 help
241 Say Y here if you want to enable PCIe controller support on
b099631d 242 MediaTek SoCs.
637cfaca 243
6f2c73c1
LP
244config PCIE_MOBIVEIL
245 bool "Mobiveil AXI PCIe controller"
246 depends on ARCH_ZYNQMP || COMPILE_TEST
247 depends on OF
248 depends on PCI_MSI_IRQ_DOMAIN
249 help
250 Say Y here if you want to enable support for the Mobiveil AXI PCIe
251 Soft IP. It has up to 8 outbound and inbound windows
252 for address translation and it is a PCIe Gen4 IP.
253
5e14e9fa
MG
254config PCIE_TANGO_SMP8759
255 bool "Tango SMP8759 PCIe controller (DANGEROUS)"
256 depends on ARCH_TANGO && PCI_MSI && OF
257 depends on BROKEN
258 select PCI_HOST_COMMON
259 help
260 Say Y here to enable PCIe controller support for Sigma Designs
261 Tango SMP8759-based systems.
262
263 Note: The SMP8759 controller multiplexes PCI config and MMIO
264 accesses, and Linux doesn't provide a way to serialize them.
265 This can lead to data corruption if drivers perform concurrent
266 config and MMIO accesses.
267
181ffd19 268config VMD
3906b918 269 depends on PCI_MSI && X86_64 && SRCU
181ffd19 270 tristate "Intel Volume Management Device Driver"
181ffd19
KB
271 ---help---
272 Adds support for the Intel Volume Management Device (VMD). VMD is a
273 secondary PCI host bridge that allows PCI Express root ports,
274 and devices attached to them, to be removed from the default
275 PCI domain and placed within the VMD domain. This provides
276 more bus resources than are otherwise possible with a
277 single domain. If you know your system provides one of these and
278 has devices attached to it, say Y; if you are not sure, say N.
279
280 To compile this driver as a module, choose M here: the
281 module will be called vmd.
282
6e0832fa 283source "drivers/pci/controller/dwc/Kconfig"
45361a4f 284endmenu