Kconfig 8.6 KB
Newer Older
1 2 3
menu "PCI host controller drivers"
	depends on PCI

4 5 6
config PCI_DRA7XX
	bool "TI DRA7xx PCIe controller"
	depends on OF && HAS_IOMEM && TI_PIPE3
7 8
	depends on PCI_MSI_IRQ_DOMAIN
	select PCIE_DW
9 10 11 12 13
	help
	 Enables support for the PCIe controller in the DRA7xx SoC.  There
	 are two instances of PCIe controller in DRA7xx.  This controller can
	 act both as EP and RC.  This reuses the Designware core.

14 15
config PCI_MVEBU
	bool "Marvell EBU PCIe controller"
16
	depends on ARCH_MVEBU || ARCH_DOVE
17
	depends on ARM
18
	depends on OF
19

20 21 22 23 24 25 26 27 28
config PCI_AARDVARK
	bool "Aardvark PCIe controller"
	depends on ARCH_MVEBU && ARM64
	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.
29

30 31 32
config PCIE_XILINX_NWL
	bool "NWL PCIe Core"
	depends on ARCH_ZYNQMP
33
	depends on PCI_MSI_IRQ_DOMAIN
34 35 36 37 38 39
	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.

40 41
config PCIE_DW_PLAT
	bool "Platform bus based DesignWare PCIe Controller"
42
	depends on PCI_MSI_IRQ_DOMAIN
43 44 45 46 47 48 49 50 51
	select PCIE_DW
	---help---
	 This selects the DesignWare PCIe controller support. Select this if
	 you have a PCIe controller on Platform bus.

	 If you have a controller with this interface, say Y or M here.

	 If unsure, say N.

52 53
config PCIE_DW
	bool
54
	depends on PCI_MSI_IRQ_DOMAIN
55 56 57 58

config PCI_EXYNOS
	bool "Samsung Exynos PCIe controller"
	depends on SOC_EXYNOS5440
59
	depends on PCI_MSI_IRQ_DOMAIN
60 61 62
	select PCIEPORTBUS
	select PCIE_DW

63 64 65
config PCI_IMX6
	bool "Freescale i.MX6 PCIe controller"
	depends on SOC_IMX6Q
66
	depends on PCI_MSI_IRQ_DOMAIN
67 68 69
	select PCIEPORTBUS
	select PCIE_DW

70 71
config PCI_TEGRA
	bool "NVIDIA Tegra PCIe controller"
72
	depends on ARCH_TEGRA && !ARM64
T
Thierry Reding 已提交
73 74 75
	help
	  Say Y here if you want support for the PCIe host controller found
	  on NVIDIA Tegra SoCs.
76

77 78
config PCI_RCAR_GEN2
	bool "Renesas R-Car Gen2 Internal PCI controller"
79
	depends on ARM
80
	depends on ARCH_RENESAS || COMPILE_TEST
81 82 83 84 85
	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.

86
config PCIE_RCAR
87
	bool "Renesas R-Car PCIe controller"
88
	depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
89
	depends on PCI_MSI_IRQ_DOMAIN
90
	help
91
	  Say Y here if you want PCIe controller support on R-Car SoCs.
92

93 94
config PCI_HOST_COMMON
	bool
95
	select PCI_ECAM
96

97 98
config PCI_HOST_GENERIC
	bool "Generic PCI host controller"
J
Jayachandran C 已提交
99
	depends on (ARM || ARM64) && OF
100
	select PCI_HOST_COMMON
A
Arnd Bergmann 已提交
101
	select IRQ_DOMAIN
102 103 104 105
	help
	  Say Y here if you want to support a simple generic PCI host
	  controller, such as the one emulated by kvmtool.

106
config PCIE_SPEAR13XX
S
Sachin Kamat 已提交
107
	bool "STMicroelectronics SPEAr PCIe controller"
108
	depends on ARCH_SPEAR13XX
109
	depends on PCI_MSI_IRQ_DOMAIN
110 111 112 113 114
	select PCIEPORTBUS
	select PCIE_DW
	help
	  Say Y here if you want PCIe support on SPEAr13XX SoCs.

115 116 117
config PCI_KEYSTONE
	bool "TI Keystone PCIe controller"
	depends on ARCH_KEYSTONE
118
	depends on PCI_MSI_IRQ_DOMAIN
119 120 121 122 123 124 125
	select PCIE_DW
	select PCIEPORTBUS
	help
	  Say Y here if you want to enable PCI controller support on Keystone
	  SoCs. The PCI controller on Keystone is based on Designware hardware
	  and therefore the driver re-uses the Designware core functions to
	  implement the driver.
126

127 128
config PCIE_XILINX
	bool "Xilinx AXI PCIe host bridge support"
129
	depends on ARCH_ZYNQ || MICROBLAZE
130 131 132 133
	help
	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
	  Host Bridge driver.

134 135 136 137 138 139 140 141 142 143
config PCI_XGENE
	bool "X-Gene PCIe controller"
	depends on ARCH_XGENE
	depends on OF
	select PCIEPORTBUS
	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.

144 145
config PCI_XGENE_MSI
	bool "X-Gene v1 PCIe MSI feature"
146 147
	depends on PCI_XGENE
	depends on PCI_MSI_IRQ_DOMAIN
148 149 150 151 152
	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.

153 154
config PCI_LAYERSCAPE
	bool "Freescale Layerscape PCIe controller"
155
	depends on OF && (ARM || ARCH_LAYERSCAPE)
156
	depends on PCI_MSI_IRQ_DOMAIN
157 158 159 160 161
	select PCIE_DW
	select MFD_SYSCON
	help
	  Say Y here if you want PCIe controller support on Layerscape SoCs.

162 163 164 165
config PCI_VERSATILE
	bool "ARM Versatile PB PCI controller"
	depends on ARCH_VERSATILE

166
config PCIE_IPROC
A
Arnd Bergmann 已提交
167
	tristate
168 169
	help
	  This enables the iProc PCIe core controller support for Broadcom's
A
Arnd Bergmann 已提交
170 171
	  iProc family of SoCs. An appropriate bus interface driver needs
	  to be enabled to select this.
172 173 174 175 176 177 178 179 180 181 182

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

183
config PCIE_IPROC_BCMA
184
	tristate "Broadcom iProc PCIe BCMA bus driver"
185
	depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
186 187 188 189 190 191 192 193
	select PCIE_IPROC
	select BCMA
	select PCI_DOMAINS
	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 已提交
194 195 196
config PCIE_IPROC_MSI
	bool "Broadcom iProc PCIe MSI support"
	depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
197
	depends on PCI_MSI_IRQ_DOMAIN
R
Ray Jui 已提交
198 199 200 201 202
	default ARCH_BCM_IPROC
	help
	  Say Y here if you want to enable MSI support for Broadcom's iProc
	  PCIe controller

203 204 205 206 207 208 209 210 211
config PCIE_ALTERA
	bool "Altera PCIe controller"
	depends on ARM || NIOS2
	depends on OF_PCI
	select PCI_DOMAINS
	help
	  Say Y here if you want to enable PCIe controller support on Altera
	  FPGA.

212 213
config PCIE_ALTERA_MSI
	bool "Altera PCIe MSI feature"
214 215
	depends on PCIE_ALTERA
	depends on PCI_MSI_IRQ_DOMAIN
216 217 218 219
	help
	  Say Y here if you want PCIe MSI support for the Altera FPGA.
	  This MSI driver supports Altera MSI to GIC controller IP.

220 221
config PCI_HISI
	depends on OF && ARM64
222
	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
223
	depends on PCI_MSI_IRQ_DOMAIN
224 225 226
	select PCIEPORTBUS
	select PCIE_DW
	help
227 228
	  Say Y here if you want PCIe controller support on HiSilicon
	  Hip05 and Hip06 SoCs
229

230 231 232
config PCIE_QCOM
	bool "Qualcomm PCIe controller"
	depends on ARCH_QCOM && OF
233
	depends on PCI_MSI_IRQ_DOMAIN
234 235 236 237 238 239
	select PCIE_DW
	select PCIEPORTBUS
	help
	  Say Y here to enable PCIe controller support on Qualcomm SoCs. The
	  PCIe controller uses the Designware core plus Qualcomm-specific
	  hardware wrappers.
240

241 242
config PCI_HOST_THUNDER_PEM
	bool "Cavium Thunder PCIe controller to off-chip devices"
243 244
	depends on ARM64
	depends on OF || (ACPI && PCI_QUIRKS)
245 246 247 248
	select PCI_HOST_COMMON
	help
	  Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.

249 250
config PCI_HOST_THUNDER_ECAM
	bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
251 252
	depends on ARM64
	depends on OF || (ACPI && PCI_QUIRKS)
253 254 255 256
	select PCI_HOST_COMMON
	help
	  Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.

257 258 259
config PCIE_ARMADA_8K
	bool "Marvell Armada-8K PCIe controller"
	depends on ARCH_MVEBU
260
	depends on PCI_MSI_IRQ_DOMAIN
261 262 263 264 265 266 267 268
	select PCIE_DW
	select PCIEPORTBUS
	help
	  Say Y here if you want to enable PCIe controller support on
	  Armada-8K SoCs. The PCIe controller on Armada-8K is based on
	  Designware hardware and therefore the driver re-uses the
	  Designware core functions to implement the driver.

269 270 271
config PCIE_ARTPEC6
	bool "Axis ARTPEC-6 PCIe controller"
	depends on MACH_ARTPEC6
272
	depends on PCI_MSI_IRQ_DOMAIN
273 274 275 276 277 278
	select PCIE_DW
	select PCIEPORTBUS
	help
	  Say Y here to enable PCIe controller support on Axis ARTPEC-6
	  SoCs.  This PCIe controller uses the DesignWare core.

279 280 281 282 283 284 285 286 287 288 289
config PCIE_ROCKCHIP
	bool "Rockchip PCIe controller"
	depends on ARCH_ROCKCHIP
	depends on OF
	depends on PCI_MSI_IRQ_DOMAIN
	select MFD_SYSCON
	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.

290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305
config VMD
	depends on PCI_MSI && X86_64
	tristate "Intel Volume Management Device Driver"
	default N
	---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.

306
endmenu