Merge tag 'sound-5.13-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[linux-2.6-microblaze.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         select PCI_BRIDGE_EMUL
13
14 config PCI_AARDVARK
15         tristate "Aardvark PCIe controller"
16         depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
17         depends on OF
18         depends on PCI_MSI_IRQ_DOMAIN
19         select PCI_BRIDGE_EMUL
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.
24
25 config PCIE_XILINX_NWL
26         bool "NWL PCIe Core"
27         depends on ARCH_ZYNQMP || COMPILE_TEST
28         depends on PCI_MSI_IRQ_DOMAIN
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
35 config PCI_FTPCI100
36         bool "Faraday Technology FTPCI100 PCI controller"
37         depends on OF
38         default ARCH_GEMINI
39
40 config PCI_TEGRA
41         bool "NVIDIA Tegra PCIe controller"
42         depends on ARCH_TEGRA || COMPILE_TEST
43         depends on PCI_MSI_IRQ_DOMAIN
44         help
45           Say Y here if you want support for the PCIe host controller found
46           on NVIDIA Tegra SoCs.
47
48 config PCI_RCAR_GEN2
49         bool "Renesas R-Car Gen2 Internal PCI controller"
50         depends on ARCH_RENESAS || COMPILE_TEST
51         depends on ARM
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
57 config PCIE_RCAR_HOST
58         bool "Renesas R-Car PCIe host controller"
59         depends on ARCH_RENESAS || COMPILE_TEST
60         depends on PCI_MSI_IRQ_DOMAIN
61         help
62           Say Y here if you want PCIe controller support on R-Car SoCs in host
63           mode.
64
65 config PCIE_RCAR_EP
66         bool "Renesas R-Car PCIe endpoint controller"
67         depends on ARCH_RENESAS || COMPILE_TEST
68         depends on PCI_ENDPOINT
69         help
70           Say Y here if you want PCIe controller support on R-Car SoCs in
71           endpoint mode.
72
73 config PCI_HOST_COMMON
74         tristate
75         select PCI_ECAM
76
77 config PCI_HOST_GENERIC
78         tristate "Generic PCI host controller"
79         depends on OF
80         select PCI_HOST_COMMON
81         select IRQ_DOMAIN
82         help
83           Say Y here if you want to support a simple generic PCI host
84           controller, such as the one emulated by kvmtool.
85
86 config PCIE_XILINX
87         bool "Xilinx AXI PCIe host bridge support"
88         depends on OF || COMPILE_TEST
89         depends on PCI_MSI_IRQ_DOMAIN
90         help
91           Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
92           Host Bridge driver.
93
94 config PCIE_XILINX_CPM
95         bool "Xilinx Versal CPM host bridge support"
96         depends on ARCH_ZYNQMP || COMPILE_TEST
97         select PCI_HOST_COMMON
98         help
99           Say 'Y' here if you want kernel support for the
100           Xilinx Versal CPM host bridge.
101
102 config PCI_XGENE
103         bool "X-Gene PCIe controller"
104         depends on ARM64 || COMPILE_TEST
105         depends on OF || (ACPI && PCI_QUIRKS)
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
111 config PCI_XGENE_MSI
112         bool "X-Gene v1 PCIe MSI feature"
113         depends on PCI_XGENE
114         depends on PCI_MSI_IRQ_DOMAIN
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
120 config PCI_V3_SEMI
121         bool "V3 Semiconductor PCI controller"
122         depends on OF
123         depends on ARM || COMPILE_TEST
124         default ARCH_INTEGRATOR_AP
125
126 config PCI_VERSATILE
127         bool "ARM Versatile PB PCI controller"
128         depends on ARCH_VERSATILE || COMPILE_TEST
129
130 config PCIE_IPROC
131         tristate
132         help
133           This enables the iProc PCIe core controller support for Broadcom's
134           iProc family of SoCs. An appropriate bus interface driver needs
135           to be enabled to select this.
136
137 config 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
147 config PCIE_IPROC_BCMA
148         tristate "Broadcom iProc PCIe BCMA bus driver"
149         depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
150         select PCIE_IPROC
151         select BCMA
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
157 config PCIE_IPROC_MSI
158         bool "Broadcom iProc PCIe MSI support"
159         depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
160         depends on PCI_MSI_IRQ_DOMAIN
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
166 config PCIE_ALTERA
167         tristate "Altera PCIe controller"
168         depends on ARM || NIOS2 || ARM64 || COMPILE_TEST
169         help
170           Say Y here if you want to enable PCIe controller support on Altera
171           FPGA.
172
173 config PCIE_ALTERA_MSI
174         tristate "Altera PCIe MSI feature"
175         depends on PCIE_ALTERA
176         depends on PCI_MSI_IRQ_DOMAIN
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
181 config PCI_HOST_THUNDER_PEM
182         bool "Cavium Thunder PCIe controller to off-chip devices"
183         depends on ARM64 || COMPILE_TEST
184         depends on OF || (ACPI && PCI_QUIRKS)
185         select PCI_HOST_COMMON
186         help
187           Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
188
189 config PCI_HOST_THUNDER_ECAM
190         bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
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 ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
196
197 config PCIE_ROCKCHIP
198         bool
199         depends on PCI
200
201 config PCIE_ROCKCHIP_HOST
202         tristate "Rockchip PCIe host controller"
203         depends on ARCH_ROCKCHIP || COMPILE_TEST
204         depends on OF
205         depends on PCI_MSI_IRQ_DOMAIN
206         select MFD_SYSCON
207         select PCIE_ROCKCHIP
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
213 config 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
225 config PCIE_MEDIATEK
226         tristate "MediaTek PCIe controller"
227         depends on ARCH_MEDIATEK || COMPILE_TEST
228         depends on OF
229         depends on PCI_MSI_IRQ_DOMAIN
230         help
231           Say Y here if you want to enable PCIe controller support on
232           MediaTek SoCs.
233
234 config PCIE_MEDIATEK_GEN3
235         tristate "MediaTek Gen3 PCIe controller"
236         depends on ARCH_MEDIATEK || COMPILE_TEST
237         depends on PCI_MSI_IRQ_DOMAIN
238         help
239           Adds support for PCIe Gen3 MAC controller for MediaTek SoCs.
240           This PCIe controller is compatible with Gen3, Gen2 and Gen1 speed,
241           and support up to 256 MSI interrupt numbers for
242           multi-function devices.
243
244           Say Y here if you want to enable Gen3 PCIe controller support on
245           MediaTek SoCs.
246
247 config VMD
248         depends on PCI_MSI && X86_64 && SRCU
249         tristate "Intel Volume Management Device Driver"
250         help
251           Adds support for the Intel Volume Management Device (VMD). VMD is a
252           secondary PCI host bridge that allows PCI Express root ports,
253           and devices attached to them, to be removed from the default
254           PCI domain and placed within the VMD domain. This provides
255           more bus resources than are otherwise possible with a
256           single domain. If you know your system provides one of these and
257           has devices attached to it, say Y; if you are not sure, say N.
258
259           To compile this driver as a module, choose M here: the
260           module will be called vmd.
261
262 config PCIE_BRCMSTB
263         tristate "Broadcom Brcmstb PCIe host controller"
264         depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM4908 || COMPILE_TEST
265         depends on OF
266         depends on PCI_MSI_IRQ_DOMAIN
267         default ARCH_BRCMSTB
268         help
269           Say Y here to enable PCIe host controller support for
270           Broadcom STB based SoCs, like the Raspberry Pi 4.
271
272 config 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
279 config 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
289 config PCIE_MICROCHIP_HOST
290         bool "Microchip AXI PCIe host bridge support"
291         depends on PCI_MSI && OF
292         select PCI_MSI_IRQ_DOMAIN
293         select GENERIC_MSI_IRQ_DOMAIN
294         select PCI_HOST_COMMON
295         help
296           Say Y here if you want kernel to support the Microchip AXI PCIe
297           Host Bridge driver.
298
299 config PCIE_HISI_ERR
300         depends on ACPI_APEI_GHES && (ARM64 || COMPILE_TEST)
301         bool "HiSilicon HIP PCIe controller error handling driver"
302         help
303           Say Y here if you want error handling support
304           for the PCIe controller's errors on HiSilicon HIP SoCs
305
306 source "drivers/pci/controller/dwc/Kconfig"
307 source "drivers/pci/controller/mobiveil/Kconfig"
308 source "drivers/pci/controller/cadence/Kconfig"
309 endmenu