Linux Audio

Check our new training course

Loading...
v5.9
  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	bool "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_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
 48config 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
 57config PCIE_RCAR
 58	bool "Renesas R-Car PCIe controller"
 59	depends on ARCH_RENESAS || COMPILE_TEST
 60	depends on PCI_MSI_IRQ_DOMAIN
 61	select PCIE_RCAR_HOST
 62	help
 63	  Say Y here if you want PCIe controller support on R-Car SoCs.
 64	  This option will be removed after arm64 defconfig is updated.
 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	help
 99	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
100	  Host Bridge driver.
101
102config PCIE_XILINX_CPM
103	bool "Xilinx Versal CPM host bridge support"
104	depends on ARCH_ZYNQMP || COMPILE_TEST
105	select PCI_HOST_COMMON
106	help
107	  Say 'Y' here if you want kernel support for the
108	  Xilinx Versal CPM host bridge.
109
110config 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
119config 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
128config 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
134config PCI_VERSATILE
135	bool "ARM Versatile PB PCI controller"
136	depends on ARCH_VERSATILE || COMPILE_TEST
137
138config 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
145config 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
155config 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
165config 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
174config PCIE_ALTERA
175	tristate "Altera PCIe controller"
176	depends on ARM || NIOS2 || ARM64 || COMPILE_TEST
177	help
178	  Say Y here if you want to enable PCIe controller support on Altera
179	  FPGA.
180
181config PCIE_ALTERA_MSI
182	tristate "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
189config 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
197config 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
205config PCIE_ROCKCHIP
206	bool
207	depends on PCI
208
209config 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
221config 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
233config PCIE_MEDIATEK
234	tristate "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
242config 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
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_BCM2835 || COMPILE_TEST
 
274	depends on OF
275	depends on PCI_MSI_IRQ_DOMAIN
 
276	help
277	  Say Y here to enable PCIe host controller support for
278	  Broadcom STB based SoCs, like the Raspberry Pi 4.
279
280config PCI_HYPERV_INTERFACE
281	tristate "Hyper-V PCI Interface"
282	depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
283	help
284	  The Hyper-V PCI Interface is a helper driver allows other drivers to
285	  have a common interface with the Hyper-V PCI frontend driver.
286
287config PCI_LOONGSON
288	bool "LOONGSON PCI Controller"
289	depends on MACH_LOONGSON64 || COMPILE_TEST
290	depends on OF
291	depends on PCI_QUIRKS
292	default MACH_LOONGSON64
293	help
294	  Say Y here if you want to enable PCI controller support on
295	  Loongson systems.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
297source "drivers/pci/controller/dwc/Kconfig"
298source "drivers/pci/controller/mobiveil/Kconfig"
299source "drivers/pci/controller/cadence/Kconfig"
300endmenu
v6.2
  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