]> Git Repo - J-linux.git/blob - drivers/pci/controller/Kconfig
Merge patch series "RISC-V kasan rework"
[J-linux.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         tristate "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         depends on BROKEN
13         select PCI_BRIDGE_EMUL
14         help
15          Add support for Marvell EBU PCIe controller. This PCIe controller
16          is used on 32-bit Marvell ARM SoCs: Dove, Kirkwood, Armada 370,
17          Armada XP, Armada 375, Armada 38x and Armada 39x.
18
19 config PCI_AARDVARK
20         tristate "Aardvark PCIe controller"
21         depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
22         depends on OF
23         depends on PCI_MSI
24         select PCI_BRIDGE_EMUL
25         help
26          Add support for Aardvark 64bit PCIe Host Controller. This
27          controller is part of the South Bridge of the Marvel Armada
28          3700 SoC.
29
30 config PCIE_XILINX_NWL
31         bool "NWL PCIe Core"
32         depends on ARCH_ZYNQMP || COMPILE_TEST
33         depends on PCI_MSI
34         help
35          Say 'Y' here if you want kernel support for Xilinx
36          NWL PCIe controller. The controller can act as Root Port
37          or End Point. The current option selection will only
38          support root port enabling.
39
40 config PCI_FTPCI100
41         bool "Faraday Technology FTPCI100 PCI controller"
42         depends on OF
43         default ARCH_GEMINI
44
45 config PCI_IXP4XX
46         bool "Intel IXP4xx PCI controller"
47         depends on ARM && OF
48         depends on ARCH_IXP4XX || COMPILE_TEST
49         default ARCH_IXP4XX
50         help
51           Say Y here if you want support for the PCI host controller found
52           in the Intel IXP4xx XScale-based network processor SoC.
53
54 config PCI_TEGRA
55         bool "NVIDIA Tegra PCIe controller"
56         depends on ARCH_TEGRA || COMPILE_TEST
57         depends on PCI_MSI
58         help
59           Say Y here if you want support for the PCIe host controller found
60           on NVIDIA Tegra SoCs.
61
62 config PCI_RCAR_GEN2
63         bool "Renesas R-Car Gen2 Internal PCI controller"
64         depends on ARCH_RENESAS || COMPILE_TEST
65         depends on ARM
66         help
67           Say Y here if you want internal PCI support on R-Car Gen2 SoC.
68           There are 3 internal PCI controllers available with a single
69           built-in EHCI/OHCI host controller present on each one.
70
71 config PCIE_RCAR_HOST
72         bool "Renesas R-Car PCIe host controller"
73         depends on ARCH_RENESAS || COMPILE_TEST
74         depends on PCI_MSI
75         help
76           Say Y here if you want PCIe controller support on R-Car SoCs in host
77           mode.
78
79 config PCIE_RCAR_EP
80         bool "Renesas R-Car PCIe endpoint controller"
81         depends on ARCH_RENESAS || COMPILE_TEST
82         depends on PCI_ENDPOINT
83         help
84           Say Y here if you want PCIe controller support on R-Car SoCs in
85           endpoint mode.
86
87 config PCI_HOST_COMMON
88         tristate
89         select PCI_ECAM
90
91 config PCI_HOST_GENERIC
92         tristate "Generic PCI host controller"
93         depends on OF
94         select PCI_HOST_COMMON
95         select IRQ_DOMAIN
96         help
97           Say Y here if you want to support a simple generic PCI host
98           controller, such as the one emulated by kvmtool.
99
100 config PCIE_XILINX
101         bool "Xilinx AXI PCIe host bridge support"
102         depends on OF || COMPILE_TEST
103         depends on PCI_MSI
104         help
105           Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
106           Host Bridge driver.
107
108 config PCIE_XILINX_CPM
109         bool "Xilinx Versal CPM host bridge support"
110         depends on ARCH_ZYNQMP || COMPILE_TEST
111         select PCI_HOST_COMMON
112         help
113           Say 'Y' here if you want kernel support for the
114           Xilinx Versal CPM host bridge.
115
116 config PCI_XGENE
117         bool "X-Gene PCIe controller"
118         depends on ARM64 || COMPILE_TEST
119         depends on OF || (ACPI && PCI_QUIRKS)
120         help
121           Say Y here if you want internal PCI support on APM X-Gene SoC.
122           There are 5 internal PCIe ports available. Each port is GEN3 capable
123           and have varied lanes from x1 to x8.
124
125 config PCI_XGENE_MSI
126         bool "X-Gene v1 PCIe MSI feature"
127         depends on PCI_XGENE
128         depends on PCI_MSI
129         default y
130         help
131           Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
132           This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
133
134 config PCI_V3_SEMI
135         bool "V3 Semiconductor PCI controller"
136         depends on OF
137         depends on ARM || COMPILE_TEST
138         default ARCH_INTEGRATOR_AP
139
140 config PCI_VERSATILE
141         bool "ARM Versatile PB PCI controller"
142         depends on ARCH_VERSATILE || COMPILE_TEST
143
144 config PCIE_IPROC
145         tristate
146         help
147           This enables the iProc PCIe core controller support for Broadcom's
148           iProc family of SoCs. An appropriate bus interface driver needs
149           to be enabled to select this.
150
151 config PCIE_IPROC_PLATFORM
152         tristate "Broadcom iProc PCIe platform bus driver"
153         depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
154         depends on OF
155         select PCIE_IPROC
156         default ARCH_BCM_IPROC
157         help
158           Say Y here if you want to use the Broadcom iProc PCIe controller
159           through the generic platform bus interface
160
161 config PCIE_IPROC_BCMA
162         tristate "Broadcom iProc PCIe BCMA bus driver"
163         depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
164         select PCIE_IPROC
165         select BCMA
166         default ARCH_BCM_5301X
167         help
168           Say Y here if you want to use the Broadcom iProc PCIe controller
169           through the BCMA bus interface
170
171 config PCIE_IPROC_MSI
172         bool "Broadcom iProc PCIe MSI support"
173         depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
174         depends on PCI_MSI
175         default ARCH_BCM_IPROC
176         help
177           Say Y here if you want to enable MSI support for Broadcom's iProc
178           PCIe controller
179
180 config PCIE_ALTERA
181         tristate "Altera PCIe controller"
182         depends on ARM || NIOS2 || ARM64 || COMPILE_TEST
183         help
184           Say Y here if you want to enable PCIe controller support on Altera
185           FPGA.
186
187 config PCIE_ALTERA_MSI
188         tristate "Altera PCIe MSI feature"
189         depends on PCIE_ALTERA
190         depends on PCI_MSI
191         help
192           Say Y here if you want PCIe MSI support for the Altera FPGA.
193           This MSI driver supports Altera MSI to GIC controller IP.
194
195 config PCI_HOST_THUNDER_PEM
196         bool "Cavium Thunder PCIe controller to off-chip devices"
197         depends on ARM64 || COMPILE_TEST
198         depends on OF || (ACPI && PCI_QUIRKS)
199         select PCI_HOST_COMMON
200         help
201           Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
202
203 config PCI_HOST_THUNDER_ECAM
204         bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
205         depends on ARM64 || COMPILE_TEST
206         depends on OF || (ACPI && PCI_QUIRKS)
207         select PCI_HOST_COMMON
208         help
209           Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
210
211 config PCIE_ROCKCHIP
212         bool
213         depends on PCI
214
215 config PCIE_ROCKCHIP_HOST
216         tristate "Rockchip PCIe host controller"
217         depends on ARCH_ROCKCHIP || COMPILE_TEST
218         depends on OF
219         depends on PCI_MSI
220         select MFD_SYSCON
221         select PCIE_ROCKCHIP
222         help
223           Say Y here if you want internal PCI support on Rockchip SoC.
224           There is 1 internal PCIe port available to support GEN2 with
225           4 slots.
226
227 config PCIE_ROCKCHIP_EP
228         bool "Rockchip PCIe endpoint controller"
229         depends on ARCH_ROCKCHIP || COMPILE_TEST
230         depends on OF
231         depends on PCI_ENDPOINT
232         select MFD_SYSCON
233         select PCIE_ROCKCHIP
234         help
235           Say Y here if you want to support Rockchip PCIe controller in
236           endpoint mode on Rockchip SoC. There is 1 internal PCIe port
237           available to support GEN2 with 4 slots.
238
239 config PCIE_MEDIATEK
240         tristate "MediaTek PCIe controller"
241         depends on ARCH_AIROHA || ARCH_MEDIATEK || COMPILE_TEST
242         depends on OF
243         depends on PCI_MSI
244         help
245           Say Y here if you want to enable PCIe controller support on
246           MediaTek SoCs.
247
248 config PCIE_MEDIATEK_GEN3
249         tristate "MediaTek Gen3 PCIe controller"
250         depends on ARCH_MEDIATEK || COMPILE_TEST
251         depends on PCI_MSI
252         help
253           Adds support for PCIe Gen3 MAC controller for MediaTek SoCs.
254           This PCIe controller is compatible with Gen3, Gen2 and Gen1 speed,
255           and support up to 256 MSI interrupt numbers for
256           multi-function devices.
257
258           Say Y here if you want to enable Gen3 PCIe controller support on
259           MediaTek SoCs.
260
261 config VMD
262         depends on PCI_MSI && X86_64 && !UML
263         tristate "Intel Volume Management Device Driver"
264         help
265           Adds support for the Intel Volume Management Device (VMD). VMD is a
266           secondary PCI host bridge that allows PCI Express root ports,
267           and devices attached to them, to be removed from the default
268           PCI domain and placed within the VMD domain. This provides
269           more bus resources than are otherwise possible with a
270           single domain. If you know your system provides one of these and
271           has devices attached to it, say Y; if you are not sure, say N.
272
273           To compile this driver as a module, choose M here: the
274           module will be called vmd.
275
276 config PCIE_BRCMSTB
277         tristate "Broadcom Brcmstb PCIe host controller"
278         depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCMBCA || \
279                    BMIPS_GENERIC || COMPILE_TEST
280         depends on OF
281         depends on PCI_MSI
282         default ARCH_BRCMSTB || BMIPS_GENERIC
283         help
284           Say Y here to enable PCIe host controller support for
285           Broadcom STB based SoCs, like the Raspberry Pi 4.
286
287 config PCI_HYPERV_INTERFACE
288         tristate "Hyper-V PCI Interface"
289         depends on ((X86 && X86_64) || ARM64) && HYPERV && PCI_MSI
290         help
291           The Hyper-V PCI Interface is a helper driver allows other drivers to
292           have a common interface with the Hyper-V PCI frontend driver.
293
294 config PCI_LOONGSON
295         bool "LOONGSON PCI Controller"
296         depends on MACH_LOONGSON64 || COMPILE_TEST
297         depends on OF || ACPI
298         depends on PCI_QUIRKS
299         default MACH_LOONGSON64
300         help
301           Say Y here if you want to enable PCI controller support on
302           Loongson systems.
303
304 config PCIE_MICROCHIP_HOST
305         bool "Microchip AXI PCIe host bridge support"
306         depends on PCI_MSI && OF
307         select PCI_HOST_COMMON
308         help
309           Say Y here if you want kernel to support the Microchip AXI PCIe
310           Host Bridge driver.
311
312 config PCIE_HISI_ERR
313         depends on ACPI_APEI_GHES && (ARM64 || COMPILE_TEST)
314         bool "HiSilicon HIP PCIe controller error handling driver"
315         help
316           Say Y here if you want error handling support
317           for the PCIe controller's errors on HiSilicon HIP SoCs
318
319 config PCIE_APPLE_MSI_DOORBELL_ADDR
320         hex
321         default 0xfffff000
322         depends on PCIE_APPLE
323
324 config PCIE_APPLE
325         tristate "Apple PCIe controller"
326         depends on ARCH_APPLE || COMPILE_TEST
327         depends on OF
328         depends on PCI_MSI
329         select PCI_HOST_COMMON
330         help
331           Say Y here if you want to enable PCIe controller support on Apple
332           system-on-chips, like the Apple M1. This is required for the USB
333           type-A ports, Ethernet, Wi-Fi, and Bluetooth.
334
335           If unsure, say Y if you have an Apple Silicon system.
336
337 config PCIE_MT7621
338         tristate "MediaTek MT7621 PCIe Controller"
339         depends on SOC_MT7621 || COMPILE_TEST
340         select PHY_MT7621_PCI
341         default SOC_MT7621
342         help
343           This selects a driver for the MediaTek MT7621 PCIe Controller.
344
345 source "drivers/pci/controller/dwc/Kconfig"
346 source "drivers/pci/controller/mobiveil/Kconfig"
347 source "drivers/pci/controller/cadence/Kconfig"
348 endmenu
This page took 0.051262 seconds and 4 git commands to generate.