hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/pci/controller/Kconfig
....@@ -9,44 +9,18 @@
99 depends on MVEBU_MBUS
1010 depends on ARM
1111 depends on OF
12
+ select PCI_BRIDGE_EMUL
1213
1314 config PCI_AARDVARK
14
- bool "Aardvark PCIe controller"
15
+ tristate "Aardvark PCIe controller"
1516 depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
1617 depends on OF
1718 depends on PCI_MSI_IRQ_DOMAIN
19
+ select PCI_BRIDGE_EMUL
1820 help
1921 Add support for Aardvark 64bit PCIe Host Controller. This
2022 controller is part of the South Bridge of the Marvel Armada
2123 3700 SoC.
22
-
23
-menu "Cadence PCIe controllers support"
24
-
25
-config PCIE_CADENCE
26
- bool
27
-
28
-config PCIE_CADENCE_HOST
29
- bool "Cadence PCIe host controller"
30
- depends on OF
31
- depends on PCI
32
- select IRQ_DOMAIN
33
- select PCIE_CADENCE
34
- help
35
- Say Y here if you want to support the Cadence PCIe controller in host
36
- mode. This PCIe controller may be embedded into many different vendors
37
- SoCs.
38
-
39
-config PCIE_CADENCE_EP
40
- bool "Cadence PCIe endpoint controller"
41
- depends on OF
42
- depends on PCI_ENDPOINT
43
- select PCIE_CADENCE
44
- help
45
- Say Y here if you want to support the Cadence PCIe controller in
46
- endpoint mode. This PCIe controller may be embedded into many
47
- different vendors SoCs.
48
-
49
-endmenu
5024
5125 config PCIE_XILINX_NWL
5226 bool "NWL PCIe Core"
....@@ -67,6 +41,7 @@
6741 bool "NVIDIA Tegra PCIe controller"
6842 depends on ARCH_TEGRA || COMPILE_TEST
6943 depends on PCI_MSI_IRQ_DOMAIN
44
+ select PCI_MSI_ARCH_FALLBACKS
7045 help
7146 Say Y here if you want support for the PCIe host controller found
7247 on NVIDIA Tegra SoCs.
....@@ -84,15 +59,34 @@
8459 bool "Renesas R-Car PCIe controller"
8560 depends on ARCH_RENESAS || COMPILE_TEST
8661 depends on PCI_MSI_IRQ_DOMAIN
62
+ select PCIE_RCAR_HOST
8763 help
8864 Say Y here if you want PCIe controller support on R-Car SoCs.
65
+ This option will be removed after arm64 defconfig is updated.
66
+
67
+config PCIE_RCAR_HOST
68
+ bool "Renesas R-Car PCIe host controller"
69
+ depends on ARCH_RENESAS || COMPILE_TEST
70
+ depends on PCI_MSI_IRQ_DOMAIN
71
+ select PCI_MSI_ARCH_FALLBACKS
72
+ help
73
+ Say Y here if you want PCIe controller support on R-Car SoCs in host
74
+ mode.
75
+
76
+config PCIE_RCAR_EP
77
+ bool "Renesas R-Car PCIe endpoint controller"
78
+ depends on ARCH_RENESAS || COMPILE_TEST
79
+ depends on PCI_ENDPOINT
80
+ help
81
+ Say Y here if you want PCIe controller support on R-Car SoCs in
82
+ endpoint mode.
8983
9084 config PCI_HOST_COMMON
91
- bool
85
+ tristate
9286 select PCI_ECAM
9387
9488 config PCI_HOST_GENERIC
95
- bool "Generic PCI host controller"
89
+ tristate "Generic PCI host controller"
9690 depends on OF
9791 select PCI_HOST_COMMON
9892 select IRQ_DOMAIN
....@@ -103,9 +97,18 @@
10397 config PCIE_XILINX
10498 bool "Xilinx AXI PCIe host bridge support"
10599 depends on OF || COMPILE_TEST
100
+ select PCI_MSI_ARCH_FALLBACKS
106101 help
107102 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
108103 Host Bridge driver.
104
+
105
+config PCIE_XILINX_CPM
106
+ bool "Xilinx Versal CPM host bridge support"
107
+ depends on ARCH_ZYNQMP || COMPILE_TEST
108
+ select PCI_HOST_COMMON
109
+ help
110
+ Say 'Y' here if you want kernel support for the
111
+ Xilinx Versal CPM host bridge.
109112
110113 config PCI_XGENE
111114 bool "X-Gene PCIe controller"
....@@ -133,7 +136,7 @@
133136
134137 config PCI_VERSATILE
135138 bool "ARM Versatile PB PCI controller"
136
- depends on ARCH_VERSATILE
139
+ depends on ARCH_VERSATILE || COMPILE_TEST
137140
138141 config PCIE_IPROC
139142 tristate
....@@ -172,14 +175,14 @@
172175 PCIe controller
173176
174177 config PCIE_ALTERA
175
- bool "Altera PCIe controller"
176
- depends on ARM || NIOS2 || COMPILE_TEST
178
+ tristate "Altera PCIe controller"
179
+ depends on ARM || NIOS2 || ARM64 || COMPILE_TEST
177180 help
178181 Say Y here if you want to enable PCIe controller support on Altera
179182 FPGA.
180183
181184 config PCIE_ALTERA_MSI
182
- bool "Altera PCIe MSI feature"
185
+ tristate "Altera PCIe MSI feature"
183186 depends on PCIE_ALTERA
184187 depends on PCI_MSI_IRQ_DOMAIN
185188 help
....@@ -218,13 +221,6 @@
218221 There is 1 internal PCIe port available to support GEN2 with
219222 4 slots.
220223
221
-config ROCKCHIP_PCIE_DMA_OBJ
222
- bool "Rockchip PCIe uDMA transfer support"
223
- depends on PCIE_ROCKCHIP_HOST || PCIE_DW_ROCKCHIP
224
- default n
225
- help
226
- Say y to enable p2p DMA transfer between PCIe components.
227
-
228224 config PCIE_ROCKCHIP_EP
229225 bool "Rockchip PCIe endpoint controller"
230226 depends on ARCH_ROCKCHIP || COMPILE_TEST
....@@ -237,24 +233,21 @@
237233 endpoint mode on Rockchip SoC. There is 1 internal PCIe port
238234 available to support GEN2 with 4 slots.
239235
236
+config ROCKCHIP_PCIE_DMA_OBJ
237
+ bool "Rockchip PCIe uDMA transfer support"
238
+ depends on PCIE_ROCKCHIP_HOST || PCIE_DW_ROCKCHIP
239
+ default n
240
+ help
241
+ Say y to enable p2p DMA transfer between PCIe components.
242
+
240243 config PCIE_MEDIATEK
241
- bool "MediaTek PCIe controller"
244
+ tristate "MediaTek PCIe controller"
242245 depends on ARCH_MEDIATEK || COMPILE_TEST
243246 depends on OF
244247 depends on PCI_MSI_IRQ_DOMAIN
245248 help
246249 Say Y here if you want to enable PCIe controller support on
247250 MediaTek SoCs.
248
-
249
-config PCIE_MOBIVEIL
250
- bool "Mobiveil AXI PCIe controller"
251
- depends on ARCH_ZYNQMP || COMPILE_TEST
252
- depends on OF
253
- depends on PCI_MSI_IRQ_DOMAIN
254
- help
255
- Say Y here if you want to enable support for the Mobiveil AXI PCIe
256
- Soft IP. It has up to 8 outbound and inbound windows
257
- for address translation and it is a PCIe Gen4 IP.
258251
259252 config PCIE_TANGO_SMP8759
260253 bool "Tango SMP8759 PCIe controller (DANGEROUS)"
....@@ -273,7 +266,7 @@
273266 config VMD
274267 depends on PCI_MSI && X86_64 && SRCU
275268 tristate "Intel Volume Management Device Driver"
276
- ---help---
269
+ help
277270 Adds support for the Intel Volume Management Device (VMD). VMD is a
278271 secondary PCI host bridge that allows PCI Express root ports,
279272 and devices attached to them, to be removed from the default
....@@ -285,5 +278,41 @@
285278 To compile this driver as a module, choose M here: the
286279 module will be called vmd.
287280
281
+config PCIE_BRCMSTB
282
+ tristate "Broadcom Brcmstb PCIe host controller"
283
+ depends on ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST
284
+ depends on OF
285
+ depends on PCI_MSI_IRQ_DOMAIN
286
+ default ARCH_BRCMSTB
287
+ help
288
+ Say Y here to enable PCIe host controller support for
289
+ Broadcom STB based SoCs, like the Raspberry Pi 4.
290
+
291
+config PCI_HYPERV_INTERFACE
292
+ tristate "Hyper-V PCI Interface"
293
+ depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
294
+ help
295
+ The Hyper-V PCI Interface is a helper driver allows other drivers to
296
+ have a common interface with the Hyper-V PCI frontend driver.
297
+
298
+config PCI_LOONGSON
299
+ bool "LOONGSON PCI Controller"
300
+ depends on MACH_LOONGSON64 || COMPILE_TEST
301
+ depends on OF
302
+ depends on PCI_QUIRKS
303
+ default MACH_LOONGSON64
304
+ help
305
+ Say Y here if you want to enable PCI controller support on
306
+ Loongson systems.
307
+
308
+config 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
+
288315 source "drivers/pci/controller/dwc/Kconfig"
316
+source "drivers/pci/controller/mobiveil/Kconfig"
317
+source "drivers/pci/controller/cadence/Kconfig"
289318 endmenu