Linux Audio

Check our new training course

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