Loading...
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_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 PCIE_MICROCHIP_HOST
219 tristate "Microchip AXI PCIe controller"
220 depends on PCI_MSI && OF
221 select PCI_HOST_COMMON
222 help
223 Say Y here if you want kernel to support the Microchip AXI PCIe
224 Host Bridge driver.
225
226config PCI_HYPERV_INTERFACE
227 tristate "Microsoft Hyper-V PCI Interface"
228 depends on ((X86 && X86_64) || ARM64) && HYPERV && PCI_MSI
229 help
230 The Hyper-V PCI Interface is a helper driver that allows other
231 drivers to have a common interface with the Hyper-V PCI frontend
232 driver.
233
234config PCI_TEGRA
235 bool "NVIDIA Tegra PCIe controller"
236 depends on ARCH_TEGRA || COMPILE_TEST
237 depends on PCI_MSI
238 help
239 Say Y here if you want support for the PCIe host controller found
240 on NVIDIA Tegra SoCs.
241
242config PCIE_RCAR_HOST
243 bool "Renesas R-Car PCIe controller (host mode)"
244 depends on ARCH_RENESAS || COMPILE_TEST
245 depends on PCI_MSI
246 help
247 Say Y here if you want PCIe controller support on R-Car SoCs in host
248 mode.
249
250config PCIE_RCAR_EP
251 bool "Renesas R-Car PCIe controller (endpoint mode)"
252 depends on ARCH_RENESAS || COMPILE_TEST
253 depends on PCI_ENDPOINT
254 help
255 Say Y here if you want PCIe controller support on R-Car SoCs in
256 endpoint mode.
257
258config PCI_RCAR_GEN2
259 bool "Renesas R-Car Gen2 Internal PCI controller"
260 depends on ARCH_RENESAS || COMPILE_TEST
261 depends on ARM
262 help
263 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
264 There are 3 internal PCI controllers available with a single
265 built-in EHCI/OHCI host controller present on each one.
266
267config PCIE_ROCKCHIP
268 bool
269 depends on PCI
270
271config PCIE_ROCKCHIP_HOST
272 tristate "Rockchip PCIe controller (host mode)"
273 depends on ARCH_ROCKCHIP || COMPILE_TEST
274 depends on OF
275 depends on PCI_MSI
276 select MFD_SYSCON
277 select PCIE_ROCKCHIP
278 help
279 Say Y here if you want internal PCI support on Rockchip SoC.
280 There is 1 internal PCIe port available to support GEN2 with
281 4 slots.
282
283config PCIE_ROCKCHIP_EP
284 bool "Rockchip PCIe controller (endpoint mode)"
285 depends on ARCH_ROCKCHIP || COMPILE_TEST
286 depends on OF
287 depends on PCI_ENDPOINT
288 select MFD_SYSCON
289 select PCIE_ROCKCHIP
290 help
291 Say Y here if you want to support Rockchip PCIe controller in
292 endpoint mode on Rockchip SoC. There is 1 internal PCIe port
293 available to support GEN2 with 4 slots.
294
295config PCI_V3_SEMI
296 bool "V3 Semiconductor PCI controller"
297 depends on OF
298 depends on ARM || COMPILE_TEST
299 default ARCH_INTEGRATOR_AP
300
301config PCI_XGENE
302 bool "X-Gene PCIe controller"
303 depends on ARM64 || COMPILE_TEST
304 depends on OF || (ACPI && PCI_QUIRKS)
305 help
306 Say Y here if you want internal PCI support on APM X-Gene SoC.
307 There are 5 internal PCIe ports available. Each port is GEN3 capable
308 and have varied lanes from x1 to x8.
309
310config PCI_XGENE_MSI
311 bool "X-Gene v1 PCIe MSI feature"
312 depends on PCI_XGENE
313 depends on PCI_MSI
314 default y
315 help
316 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
317 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
318
319config PCIE_XILINX
320 bool "Xilinx AXI PCIe controller"
321 depends on OF
322 depends on PCI_MSI
323 help
324 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
325 Host Bridge driver.
326
327config PCIE_XILINX_DMA_PL
328 bool "Xilinx DMA PL PCIe host bridge support"
329 depends on ARCH_ZYNQMP || COMPILE_TEST
330 depends on PCI_MSI
331 select PCI_HOST_COMMON
332 help
333 Say 'Y' here if you want kernel support for the Xilinx PL DMA
334 PCIe host bridge. The controller is a Soft IP which can act as
335 Root Port. If your system provides Xilinx PCIe host controller
336 bridge DMA as Soft IP say 'Y'; if you are not sure, say 'N'.
337
338config PCIE_XILINX_NWL
339 bool "Xilinx NWL PCIe controller"
340 depends on ARCH_ZYNQMP || COMPILE_TEST
341 depends on PCI_MSI
342 help
343 Say 'Y' here if you want kernel support for Xilinx
344 NWL PCIe controller. The controller can act as Root Port
345 or End Point. The current option selection will only
346 support root port enabling.
347
348config PCIE_XILINX_CPM
349 bool "Xilinx Versal CPM PCI controller"
350 depends on ARCH_ZYNQMP || COMPILE_TEST
351 select PCI_HOST_COMMON
352 help
353 Say 'Y' here if you want kernel support for the
354 Xilinx Versal CPM host bridge.
355
356source "drivers/pci/controller/cadence/Kconfig"
357source "drivers/pci/controller/dwc/Kconfig"
358source "drivers/pci/controller/mobiveil/Kconfig"
359endmenu
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