]> Git Repo - linux.git/blob - drivers/pci/host/Kconfig
PCI: Improve host drivers compile test coverage
[linux.git] / drivers / pci / host / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 menu "PCI host controller drivers"
4         depends on PCI
5
6 config PCI_MVEBU
7         bool "Marvell EBU PCIe controller"
8         depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST
9         depends on ARM
10         depends on OF
11
12 config PCI_AARDVARK
13         bool "Aardvark PCIe controller"
14         depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
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.
21
22 config PCIE_XILINX_NWL
23         bool "NWL PCIe Core"
24         depends on ARCH_ZYNQMP || COMPILE_TEST
25         depends on PCI_MSI_IRQ_DOMAIN
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
32 config PCI_FTPCI100
33         bool "Faraday Technology FTPCI100 PCI controller"
34         depends on OF
35         default ARCH_GEMINI
36
37 config PCI_TEGRA
38         bool "NVIDIA Tegra PCIe controller"
39         depends on ARCH_TEGRA || COMPILE_TEST
40         depends on PCI_MSI_IRQ_DOMAIN
41         help
42           Say Y here if you want support for the PCIe host controller found
43           on NVIDIA Tegra SoCs.
44
45 config PCI_RCAR_GEN2
46         bool "Renesas R-Car Gen2 Internal PCI controller"
47         depends on ARCH_RENESAS || COMPILE_TEST
48         depends on ARM
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
54 config PCIE_RCAR
55         bool "Renesas R-Car PCIe controller"
56         depends on ARCH_RENESAS || COMPILE_TEST
57         depends on PCI_MSI_IRQ_DOMAIN
58         help
59           Say Y here if you want PCIe controller support on R-Car SoCs.
60
61 config PCI_HOST_COMMON
62         bool
63         select PCI_ECAM
64
65 config PCI_HOST_GENERIC
66         bool "Generic PCI host controller"
67         depends on OF
68         select PCI_HOST_COMMON
69         select IRQ_DOMAIN
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
74 config PCIE_XILINX
75         bool "Xilinx AXI PCIe host bridge support"
76         depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC) || COMPILE_TEST
77         help
78           Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
79           Host Bridge driver.
80
81 config PCI_XGENE
82         bool "X-Gene PCIe controller"
83         depends on ARM64 || COMPILE_TEST
84         depends on OF || (ACPI && PCI_QUIRKS)
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
91 config PCI_XGENE_MSI
92         bool "X-Gene v1 PCIe MSI feature"
93         depends on PCI_XGENE
94         depends on PCI_MSI_IRQ_DOMAIN
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
100 config PCI_V3_SEMI
101         bool "V3 Semiconductor PCI controller"
102         depends on OF
103         depends on ARM || COMPILE_TEST
104         default ARCH_INTEGRATOR_AP
105
106 config PCI_VERSATILE
107         bool "ARM Versatile PB PCI controller"
108         depends on ARCH_VERSATILE
109
110 config PCIE_IPROC
111         tristate
112         select PCI_DOMAINS
113         help
114           This enables the iProc PCIe core controller support for Broadcom's
115           iProc family of SoCs. An appropriate bus interface driver needs
116           to be enabled to select this.
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
128 config PCIE_IPROC_BCMA
129         tristate "Broadcom iProc PCIe BCMA bus driver"
130         depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
131         select PCIE_IPROC
132         select BCMA
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
138 config PCIE_IPROC_MSI
139         bool "Broadcom iProc PCIe MSI support"
140         depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
141         depends on PCI_MSI_IRQ_DOMAIN
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
147 config PCIE_ALTERA
148         bool "Altera PCIe controller"
149         depends on ARM || NIOS2 || COMPILE_TEST
150         select PCI_DOMAINS
151         help
152           Say Y here if you want to enable PCIe controller support on Altera
153           FPGA.
154
155 config PCIE_ALTERA_MSI
156         bool "Altera PCIe MSI feature"
157         depends on PCIE_ALTERA
158         depends on PCI_MSI_IRQ_DOMAIN
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
163 config PCI_HOST_THUNDER_PEM
164         bool "Cavium Thunder PCIe controller to off-chip devices"
165         depends on ARM64 || COMPILE_TEST
166         depends on OF || (ACPI && PCI_QUIRKS)
167         select PCI_HOST_COMMON
168         help
169           Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
170
171 config PCI_HOST_THUNDER_ECAM
172         bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
173         depends on ARM64 || COMPILE_TEST
174         depends on OF || (ACPI && PCI_QUIRKS)
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
179 config PCIE_ROCKCHIP
180         tristate "Rockchip PCIe controller"
181         depends on ARCH_ROCKCHIP || COMPILE_TEST
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
190 config PCIE_MEDIATEK
191         bool "MediaTek PCIe controller"
192         depends on ARCH_MEDIATEK || COMPILE_TEST
193         depends on OF
194         select PCIEPORTBUS
195         help
196           Say Y here if you want to enable PCIe controller support on
197           MediaTek SoCs.
198
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
213 config VMD
214         depends on PCI_MSI && X86_64 && SRCU
215         tristate "Intel Volume Management Device Driver"
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
228 endmenu
This page took 0.056615 seconds and 4 git commands to generate.