Merge drm-upstream/drm-next into drm-misc-next
[sfrench/cifs-2.6.git] / drivers / pci / controller / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 menu "PCI 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 MVEBU_MBUS
10         depends on ARM
11         depends on OF
12
13 config PCI_AARDVARK
14         bool "Aardvark PCIe controller"
15         depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
16         depends on OF
17         depends on PCI_MSI_IRQ_DOMAIN
18         help
19          Add support for Aardvark 64bit PCIe Host Controller. This
20          controller is part of the South Bridge of the Marvel Armada
21          3700 SoC.
22
23 menu "Cadence PCIe controllers support"
24
25 config PCIE_CADENCE
26         bool
27
28 config PCIE_CADENCE_HOST
29         bool "Cadence PCIe host controller"
30         depends on OF
31         depends on PCI
32         select IRQ_DOMAIN
33         select PCIE_CADENCE
34         help
35           Say Y here if you want to support the Cadence PCIe controller in host
36           mode. This PCIe controller may be embedded into many different vendors
37           SoCs.
38
39 config PCIE_CADENCE_EP
40         bool "Cadence PCIe endpoint controller"
41         depends on OF
42         depends on PCI_ENDPOINT
43         select PCIE_CADENCE
44         help
45           Say Y here if you want to support the Cadence PCIe  controller in
46           endpoint mode. This PCIe controller may be embedded into many
47           different vendors SoCs.
48
49 endmenu
50
51 config PCIE_XILINX_NWL
52         bool "NWL PCIe Core"
53         depends on ARCH_ZYNQMP || COMPILE_TEST
54         depends on PCI_MSI_IRQ_DOMAIN
55         help
56          Say 'Y' here if you want kernel support for Xilinx
57          NWL PCIe controller. The controller can act as Root Port
58          or End Point. The current option selection will only
59          support root port enabling.
60
61 config PCI_FTPCI100
62         bool "Faraday Technology FTPCI100 PCI controller"
63         depends on OF
64         default ARCH_GEMINI
65
66 config PCI_TEGRA
67         bool "NVIDIA Tegra PCIe controller"
68         depends on ARCH_TEGRA || COMPILE_TEST
69         depends on PCI_MSI_IRQ_DOMAIN
70         help
71           Say Y here if you want support for the PCIe host controller found
72           on NVIDIA Tegra SoCs.
73
74 config PCI_RCAR_GEN2
75         bool "Renesas R-Car Gen2 Internal PCI controller"
76         depends on ARCH_RENESAS || COMPILE_TEST
77         depends on ARM
78         help
79           Say Y here if you want internal PCI support on R-Car Gen2 SoC.
80           There are 3 internal PCI controllers available with a single
81           built-in EHCI/OHCI host controller present on each one.
82
83 config PCIE_RCAR
84         bool "Renesas R-Car PCIe controller"
85         depends on ARCH_RENESAS || COMPILE_TEST
86         depends on PCI_MSI_IRQ_DOMAIN
87         help
88           Say Y here if you want PCIe controller support on R-Car SoCs.
89
90 config PCI_HOST_COMMON
91         bool
92         select PCI_ECAM
93
94 config PCI_HOST_GENERIC
95         bool "Generic PCI host controller"
96         depends on OF
97         select PCI_HOST_COMMON
98         select IRQ_DOMAIN
99         help
100           Say Y here if you want to support a simple generic PCI host
101           controller, such as the one emulated by kvmtool.
102
103 config PCIE_XILINX
104         bool "Xilinx AXI PCIe host bridge support"
105         depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC) || COMPILE_TEST
106         help
107           Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
108           Host Bridge driver.
109
110 config PCI_XGENE
111         bool "X-Gene PCIe controller"
112         depends on ARM64 || COMPILE_TEST
113         depends on OF || (ACPI && PCI_QUIRKS)
114         help
115           Say Y here if you want internal PCI support on APM X-Gene SoC.
116           There are 5 internal PCIe ports available. Each port is GEN3 capable
117           and have varied lanes from x1 to x8.
118
119 config PCI_XGENE_MSI
120         bool "X-Gene v1 PCIe MSI feature"
121         depends on PCI_XGENE
122         depends on PCI_MSI_IRQ_DOMAIN
123         default y
124         help
125           Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
126           This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
127
128 config PCI_V3_SEMI
129         bool "V3 Semiconductor PCI controller"
130         depends on OF
131         depends on ARM || COMPILE_TEST
132         default ARCH_INTEGRATOR_AP
133
134 config PCI_VERSATILE
135         bool "ARM Versatile PB PCI controller"
136         depends on ARCH_VERSATILE
137
138 config PCIE_IPROC
139         tristate
140         help
141           This enables the iProc PCIe core controller support for Broadcom's
142           iProc family of SoCs. An appropriate bus interface driver needs
143           to be enabled to select this.
144
145 config PCIE_IPROC_PLATFORM
146         tristate "Broadcom iProc PCIe platform bus driver"
147         depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
148         depends on OF
149         select PCIE_IPROC
150         default ARCH_BCM_IPROC
151         help
152           Say Y here if you want to use the Broadcom iProc PCIe controller
153           through the generic platform bus interface
154
155 config PCIE_IPROC_BCMA
156         tristate "Broadcom iProc PCIe BCMA bus driver"
157         depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
158         select PCIE_IPROC
159         select BCMA
160         default ARCH_BCM_5301X
161         help
162           Say Y here if you want to use the Broadcom iProc PCIe controller
163           through the BCMA bus interface
164
165 config PCIE_IPROC_MSI
166         bool "Broadcom iProc PCIe MSI support"
167         depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
168         depends on PCI_MSI_IRQ_DOMAIN
169         default ARCH_BCM_IPROC
170         help
171           Say Y here if you want to enable MSI support for Broadcom's iProc
172           PCIe controller
173
174 config PCIE_ALTERA
175         bool "Altera PCIe controller"
176         depends on ARM || NIOS2 || COMPILE_TEST
177         help
178           Say Y here if you want to enable PCIe controller support on Altera
179           FPGA.
180
181 config PCIE_ALTERA_MSI
182         bool "Altera PCIe MSI feature"
183         depends on PCIE_ALTERA
184         depends on PCI_MSI_IRQ_DOMAIN
185         help
186           Say Y here if you want PCIe MSI support for the Altera FPGA.
187           This MSI driver supports Altera MSI to GIC controller IP.
188
189 config PCI_HOST_THUNDER_PEM
190         bool "Cavium Thunder PCIe controller to off-chip devices"
191         depends on ARM64 || COMPILE_TEST
192         depends on OF || (ACPI && PCI_QUIRKS)
193         select PCI_HOST_COMMON
194         help
195           Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
196
197 config PCI_HOST_THUNDER_ECAM
198         bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
199         depends on ARM64 || COMPILE_TEST
200         depends on OF || (ACPI && PCI_QUIRKS)
201         select PCI_HOST_COMMON
202         help
203           Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
204
205 config PCIE_ROCKCHIP
206         bool
207         depends on PCI
208
209 config PCIE_ROCKCHIP_HOST
210         tristate "Rockchip PCIe host controller"
211         depends on ARCH_ROCKCHIP || COMPILE_TEST
212         depends on OF
213         depends on PCI_MSI_IRQ_DOMAIN
214         select MFD_SYSCON
215         select PCIE_ROCKCHIP
216         help
217           Say Y here if you want internal PCI support on Rockchip SoC.
218           There is 1 internal PCIe port available to support GEN2 with
219           4 slots.
220
221 config PCIE_ROCKCHIP_EP
222         bool "Rockchip PCIe endpoint controller"
223         depends on ARCH_ROCKCHIP || COMPILE_TEST
224         depends on OF
225         depends on PCI_ENDPOINT
226         select MFD_SYSCON
227         select PCIE_ROCKCHIP
228         help
229           Say Y here if you want to support Rockchip PCIe controller in
230           endpoint mode on Rockchip SoC. There is 1 internal PCIe port
231           available to support GEN2 with 4 slots.
232
233 config PCIE_MEDIATEK
234         bool "MediaTek PCIe controller"
235         depends on ARCH_MEDIATEK || COMPILE_TEST
236         depends on OF
237         depends on PCI_MSI_IRQ_DOMAIN
238         help
239           Say Y here if you want to enable PCIe controller support on
240           MediaTek SoCs.
241
242 config PCIE_TANGO_SMP8759
243         bool "Tango SMP8759 PCIe controller (DANGEROUS)"
244         depends on ARCH_TANGO && PCI_MSI && OF
245         depends on BROKEN
246         select PCI_HOST_COMMON
247         help
248           Say Y here to enable PCIe controller support for Sigma Designs
249           Tango SMP8759-based systems.
250
251           Note: The SMP8759 controller multiplexes PCI config and MMIO
252           accesses, and Linux doesn't provide a way to serialize them.
253           This can lead to data corruption if drivers perform concurrent
254           config and MMIO accesses.
255
256 config VMD
257         depends on PCI_MSI && X86_64 && SRCU
258         tristate "Intel Volume Management Device Driver"
259         ---help---
260           Adds support for the Intel Volume Management Device (VMD). VMD is a
261           secondary PCI host bridge that allows PCI Express root ports,
262           and devices attached to them, to be removed from the default
263           PCI domain and placed within the VMD domain. This provides
264           more bus resources than are otherwise possible with a
265           single domain. If you know your system provides one of these and
266           has devices attached to it, say Y; if you are not sure, say N.
267
268           To compile this driver as a module, choose M here: the
269           module will be called vmd.
270
271 source "drivers/pci/controller/dwc/Kconfig"
272 endmenu