Linux Audio

Check our new training course

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