Kconfig 7.8 KB
Newer Older
1 2
# SPDX-License-Identifier: GPL-2.0

3
menu "PCI controller drivers"
4 5 6 7
	depends on PCI

config PCI_MVEBU
	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

13 14
config PCI_AARDVARK
	bool "Aardvark PCIe controller"
15
	depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
16 17 18 19 20 21
	depends on OF
	depends on PCI_MSI_IRQ_DOMAIN
	help
	 Add support for Aardvark 64bit PCIe Host Controller. This
	 controller is part of the South Bridge of the Marvel Armada
	 3700 SoC.
22

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
menu "Cadence PCIe controllers support"

config PCIE_CADENCE
	bool

config PCIE_CADENCE_HOST
	bool "Cadence PCIe host controller"
	depends on OF
	depends on PCI
	select IRQ_DOMAIN
	select PCIE_CADENCE
	help
	  Say Y here if you want to support the Cadence PCIe controller in host
	  mode. This PCIe controller may be embedded into many different vendors
	  SoCs.

config PCIE_CADENCE_EP
	bool "Cadence PCIe endpoint controller"
	depends on OF
	depends on PCI_ENDPOINT
	select PCIE_CADENCE
	help
	  Say Y here if you want to support the Cadence PCIe  controller in
	  endpoint mode. This PCIe controller may be embedded into many
	  different vendors SoCs.

endmenu

51 52
config PCIE_XILINX_NWL
	bool "NWL PCIe Core"
53
	depends on ARCH_ZYNQMP || COMPILE_TEST
54
	depends on PCI_MSI_IRQ_DOMAIN
55 56 57 58 59 60
	help
	 Say 'Y' here if you want kernel support for Xilinx
	 NWL PCIe controller. The controller can act as Root Port
	 or End Point. The current option selection will only
	 support root port enabling.

61 62 63 64 65
config PCI_FTPCI100
	bool "Faraday Technology FTPCI100 PCI controller"
	depends on OF
	default ARCH_GEMINI

66 67
config PCI_TEGRA
	bool "NVIDIA Tegra PCIe controller"
68
	depends on ARCH_TEGRA || COMPILE_TEST
69
	depends on PCI_MSI_IRQ_DOMAIN
T
Thierry Reding 已提交
70 71 72
	help
	  Say Y here if you want support for the PCIe host controller found
	  on NVIDIA Tegra SoCs.
73

74 75
config PCI_RCAR_GEN2
	bool "Renesas R-Car Gen2 Internal PCI controller"
76
	depends on ARCH_RENESAS || COMPILE_TEST
77
	depends on ARM
78 79 80 81 82
	help
	  Say Y here if you want internal PCI support on R-Car Gen2 SoC.
	  There are 3 internal PCI controllers available with a single
	  built-in EHCI/OHCI host controller present on each one.

83
config PCIE_RCAR
84
	bool "Renesas R-Car PCIe controller"
85
	depends on ARCH_RENESAS || COMPILE_TEST
86
	depends on PCI_MSI_IRQ_DOMAIN
87
	help
88
	  Say Y here if you want PCIe controller support on R-Car SoCs.
89

90 91
config PCI_HOST_COMMON
	bool
92
	select PCI_ECAM
93

94 95
config PCI_HOST_GENERIC
	bool "Generic PCI host controller"
96
	depends on OF
97
	select PCI_HOST_COMMON
A
Arnd Bergmann 已提交
98
	select IRQ_DOMAIN
99
	select PCI_DOMAINS
100 101 102 103
	help
	  Say Y here if you want to support a simple generic PCI host
	  controller, such as the one emulated by kvmtool.

104 105
config PCIE_XILINX
	bool "Xilinx AXI PCIe host bridge support"
106
	depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC) || COMPILE_TEST
107 108 109 110
	help
	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
	  Host Bridge driver.

111 112
config PCI_XGENE
	bool "X-Gene PCIe controller"
113
	depends on ARM64 || COMPILE_TEST
114
	depends on OF || (ACPI && PCI_QUIRKS)
115 116 117 118 119
	help
	  Say Y here if you want internal PCI support on APM X-Gene SoC.
	  There are 5 internal PCIe ports available. Each port is GEN3 capable
	  and have varied lanes from x1 to x8.

120 121
config PCI_XGENE_MSI
	bool "X-Gene v1 PCIe MSI feature"
122 123
	depends on PCI_XGENE
	depends on PCI_MSI_IRQ_DOMAIN
124 125 126 127 128
	default y
	help
	  Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
	  This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.

129 130 131
config PCI_V3_SEMI
	bool "V3 Semiconductor PCI controller"
	depends on OF
132
	depends on ARM || COMPILE_TEST
133 134
	default ARCH_INTEGRATOR_AP

135 136 137 138
config PCI_VERSATILE
	bool "ARM Versatile PB PCI controller"
	depends on ARCH_VERSATILE

139
config PCIE_IPROC
A
Arnd Bergmann 已提交
140
	tristate
141
	select PCI_DOMAINS
142 143
	help
	  This enables the iProc PCIe core controller support for Broadcom's
A
Arnd Bergmann 已提交
144 145
	  iProc family of SoCs. An appropriate bus interface driver needs
	  to be enabled to select this.
146 147 148 149 150 151 152 153 154 155 156

config PCIE_IPROC_PLATFORM
	tristate "Broadcom iProc PCIe platform bus driver"
	depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
	depends on OF
	select PCIE_IPROC
	default ARCH_BCM_IPROC
	help
	  Say Y here if you want to use the Broadcom iProc PCIe controller
	  through the generic platform bus interface

157
config PCIE_IPROC_BCMA
158
	tristate "Broadcom iProc PCIe BCMA bus driver"
159
	depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
160 161 162 163 164 165 166
	select PCIE_IPROC
	select BCMA
	default ARCH_BCM_5301X
	help
	  Say Y here if you want to use the Broadcom iProc PCIe controller
	  through the BCMA bus interface

R
Ray Jui 已提交
167 168 169
config PCIE_IPROC_MSI
	bool "Broadcom iProc PCIe MSI support"
	depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
170
	depends on PCI_MSI_IRQ_DOMAIN
R
Ray Jui 已提交
171 172 173 174 175
	default ARCH_BCM_IPROC
	help
	  Say Y here if you want to enable MSI support for Broadcom's iProc
	  PCIe controller

176 177
config PCIE_ALTERA
	bool "Altera PCIe controller"
178
	depends on ARM || NIOS2 || COMPILE_TEST
179 180 181 182 183
	select PCI_DOMAINS
	help
	  Say Y here if you want to enable PCIe controller support on Altera
	  FPGA.

184 185
config PCIE_ALTERA_MSI
	bool "Altera PCIe MSI feature"
186 187
	depends on PCIE_ALTERA
	depends on PCI_MSI_IRQ_DOMAIN
188 189 190 191
	help
	  Say Y here if you want PCIe MSI support for the Altera FPGA.
	  This MSI driver supports Altera MSI to GIC controller IP.

192 193
config PCI_HOST_THUNDER_PEM
	bool "Cavium Thunder PCIe controller to off-chip devices"
194
	depends on ARM64 || COMPILE_TEST
195
	depends on OF || (ACPI && PCI_QUIRKS)
196 197 198 199
	select PCI_HOST_COMMON
	help
	  Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.

200 201
config PCI_HOST_THUNDER_ECAM
	bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
202
	depends on ARM64 || COMPILE_TEST
203
	depends on OF || (ACPI && PCI_QUIRKS)
204 205 206 207
	select PCI_HOST_COMMON
	help
	  Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.

208
config PCIE_ROCKCHIP
209 210 211 212 213
	bool
	depends on PCI

config PCIE_ROCKCHIP_HOST
	tristate "Rockchip PCIe host controller"
214
	depends on ARCH_ROCKCHIP || COMPILE_TEST
215 216 217
	depends on OF
	depends on PCI_MSI_IRQ_DOMAIN
	select MFD_SYSCON
218
	select PCIE_ROCKCHIP
219 220 221 222 223
	help
	  Say Y here if you want internal PCI support on Rockchip SoC.
	  There is 1 internal PCIe port available to support GEN2 with
	  4 slots.

224 225 226 227 228 229 230 231 232 233 234 235
config PCIE_ROCKCHIP_EP
	bool "Rockchip PCIe endpoint controller"
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	depends on OF
	depends on PCI_ENDPOINT
	select MFD_SYSCON
	select PCIE_ROCKCHIP
	help
	  Say Y here if you want to support Rockchip PCIe controller in
	  endpoint mode on Rockchip SoC. There is 1 internal PCIe port
	  available to support GEN2 with 4 slots.

236 237
config PCIE_MEDIATEK
	bool "MediaTek PCIe controller"
238
	depends on ARCH_MEDIATEK || COMPILE_TEST
239
	depends on OF
240
	depends on PCI_MSI_IRQ_DOMAIN
241 242
	help
	  Say Y here if you want to enable PCIe controller support on
243
	  MediaTek SoCs.
244

245 246 247 248 249 250 251 252 253 254 255 256 257 258
config PCIE_TANGO_SMP8759
	bool "Tango SMP8759 PCIe controller (DANGEROUS)"
	depends on ARCH_TANGO && PCI_MSI && OF
	depends on BROKEN
	select PCI_HOST_COMMON
	help
	  Say Y here to enable PCIe controller support for Sigma Designs
	  Tango SMP8759-based systems.

	  Note: The SMP8759 controller multiplexes PCI config and MMIO
	  accesses, and Linux doesn't provide a way to serialize them.
	  This can lead to data corruption if drivers perform concurrent
	  config and MMIO accesses.

259
config VMD
260
	depends on PCI_MSI && X86_64 && SRCU
261 262 263 264 265 266 267 268 269 270 271 272 273
	tristate "Intel Volume Management Device Driver"
	---help---
	  Adds support for the Intel Volume Management Device (VMD). VMD is a
	  secondary PCI host bridge that allows PCI Express root ports,
	  and devices attached to them, to be removed from the default
	  PCI domain and placed within the VMD domain. This provides
	  more bus resources than are otherwise possible with a
	  single domain. If you know your system provides one of these and
	  has devices attached to it, say Y; if you are not sure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called vmd.

274
source "drivers/pci/controller/dwc/Kconfig"
275
endmenu