menu "PCI host controller drivers"
depends on [31mCONFIG_PCI[0m
config [31mCONFIG_PCI_DRA7XX[0m
bool "TI DRA7xx PCIe controller"
depends on [31mCONFIG_OF[0m && [31mCONFIG_HAS_IOMEM[0m && [31mCONFIG_TI_PIPE3[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIE_DW[0m
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.
config [31mCONFIG_PCI_MVEBU[0m
bool "Marvell EBU PCIe controller"
depends on [31mCONFIG_ARCH_MVEBU[0m || [31mCONFIG_ARCH_DOVE[0m
depends on [31mCONFIG_ARM[0m
depends on [31mCONFIG_OF[0m
config [31mCONFIG_PCI_AARDVARK[0m
bool "Aardvark PCIe controller"
depends on [31mCONFIG_ARCH_MVEBU[0m && [31mCONFIG_ARM64[0m
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
help
Add support for Aardvark 64bit PCIe Host Controller. This
controller is part of the South Bridge of the Marvel Armada
3700 SoC.
config [31mCONFIG_PCIE_XILINX_NWL[0m
bool "NWL PCIe Core"
depends on [31mCONFIG_ARCH_ZYNQMP[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
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.
config [31mCONFIG_PCIE_DW_PLAT[0m
bool "Platform bus based DesignWare PCIe Controller"
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIE_DW[0m
---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 [31mCONFIG_M[0m here.
If unsure, say N.
config [31mCONFIG_PCIE_DW[0m
bool
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
config [31mCONFIG_PCI_EXYNOS[0m
bool "Samsung Exynos PCIe controller"
depends on [31mCONFIG_SOC_EXYNOS5440[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIEPORTBUS[0m
select [31mCONFIG_PCIE_DW[0m
config [31mCONFIG_PCI_IMX6[0m
bool "Freescale i.MX6 PCIe controller"
depends on [31mCONFIG_SOC_IMX6Q[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIEPORTBUS[0m
select [31mCONFIG_PCIE_DW[0m
config [31mCONFIG_PCI_TEGRA[0m
bool "NVIDIA Tegra PCIe controller"
depends on [31mCONFIG_ARCH_TEGRA[0m
help
Say Y here if you want support for the PCIe host controller found
on NVIDIA Tegra SoCs.
config [31mCONFIG_PCI_RCAR_GEN2[0m
bool "Renesas R-Car Gen2 Internal PCI controller"
depends on [31mCONFIG_ARM[0m
depends on [31mCONFIG_ARCH_RENESAS[0m || [31mCONFIG_COMPILE_TEST[0m
help
Say Y here if you want internal [31mCONFIG_PCI[0m support on R-Car Gen2 SoC.
There are 3 internal [31mCONFIG_PCI[0m controllers available with a single
built-in EHCI/OHCI host controller present on each one.
config [31mCONFIG_PCIE_RCAR[0m
bool "Renesas R-Car PCIe controller"
depends on [31mCONFIG_ARCH_RENESAS[0m || ([31mCONFIG_ARM[0m && [31mCONFIG_COMPILE_TEST[0m)
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
help
Say Y here if you want PCIe controller support on R-Car SoCs.
config [31mCONFIG_PCI_HOST_COMMON[0m
bool
select [31mCONFIG_PCI_ECAM[0m
config [31mCONFIG_PCI_HOST_GENERIC[0m
bool "Generic PCI host controller"
depends on ([31mCONFIG_ARM[0m || [31mCONFIG_ARM64[0m) && [31mCONFIG_OF[0m
select [31mCONFIG_PCI_HOST_COMMON[0m
select [31mCONFIG_IRQ_DOMAIN[0m
help
Say Y here if you want to support a simple generic [31mCONFIG_PCI[0m host
controller, such as the one emulated by kvmtool.
config [31mCONFIG_PCIE_SPEAR13XX[0m
bool "STMicroelectronics SPEAr PCIe controller"
depends on [31mCONFIG_ARCH_SPEAR13XX[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIEPORTBUS[0m
select [31mCONFIG_PCIE_DW[0m
help
Say Y here if you want PCIe support on SPEAr13XX SoCs.
config [31mCONFIG_PCI_KEYSTONE[0m
bool "TI Keystone PCIe controller"
depends on [31mCONFIG_ARCH_KEYSTONE[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIE_DW[0m
select [31mCONFIG_PCIEPORTBUS[0m
help
Say Y here if you want to enable [31mCONFIG_PCI[0m controller support on Keystone
SoCs. The [31mCONFIG_PCI[0m controller on Keystone is based on Designware hardware
and therefore the driver re-uses the Designware core functions to
implement the driver.
config [31mCONFIG_PCIE_XILINX[0m
bool "Xilinx AXI PCIe host bridge support"
depends on [31mCONFIG_ARCH_ZYNQ[0m || [31mCONFIG_MICROBLAZE[0m
help
Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
Host Bridge driver.
config [31mCONFIG_PCI_XGENE[0m
bool "X-Gene PCIe controller"
depends on [31mCONFIG_ARM64[0m
depends on [31mCONFIG_OF[0m || ([31mCONFIG_ACPI[0m && [31mCONFIG_PCI_QUIRKS[0m)
select [31mCONFIG_PCIEPORTBUS[0m
help
Say Y here if you want internal [31mCONFIG_PCI[0m support on [31mCONFIG_APM[0m X-Gene SoC.
There are 5 internal PCIe ports available. Each port is GEN3 capable
and have varied lanes from x1 to x8.
config [31mCONFIG_PCI_XGENE_MSI[0m
bool "X-Gene v1 PCIe MSI feature"
depends on [31mCONFIG_PCI_XGENE[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
default y
help
Say Y here if you want PCIe MSI support for the [31mCONFIG_APM[0m X-Gene v1 SoC.
This MSI driver supports 5 PCIe ports on the [31mCONFIG_APM[0m X-Gene v1 SoC.
config [31mCONFIG_PCI_LAYERSCAPE[0m
bool "Freescale Layerscape PCIe controller"
depends on [31mCONFIG_OF[0m && ([31mCONFIG_ARM[0m || [31mCONFIG_ARCH_LAYERSCAPE[0m)
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIE_DW[0m
select [31mCONFIG_MFD_SYSCON[0m
help
Say Y here if you want PCIe controller support on Layerscape SoCs.
config [31mCONFIG_PCI_VERSATILE[0m
bool "ARM Versatile PB PCI controller"
depends on [31mCONFIG_ARCH_VERSATILE[0m
config [31mCONFIG_PCIE_IPROC[0m
tristate
help
This enables the iProc PCIe core controller support for Broadcom's
iProc family of SoCs. An appropriate bus interface driver needs
to be enabled to select this.
config [31mCONFIG_PCIE_IPROC_PLATFORM[0m
tristate "Broadcom iProc PCIe platform bus driver"
depends on [31mCONFIG_ARCH_BCM_IPROC[0m || ([31mCONFIG_ARM[0m && [31mCONFIG_COMPILE_TEST[0m)
depends on [31mCONFIG_OF[0m
select [31mCONFIG_PCIE_IPROC[0m
default [31mCONFIG_ARCH_BCM_IPROC[0m
help
Say Y here if you want to use the Broadcom iProc PCIe controller
through the generic platform bus interface
config [31mCONFIG_PCIE_IPROC_BCMA[0m
tristate "Broadcom iProc PCIe BCMA bus driver"
depends on [31mCONFIG_ARM[0m && ([31mCONFIG_ARCH_BCM_IPROC[0m || [31mCONFIG_COMPILE_TEST[0m)
select [31mCONFIG_PCIE_IPROC[0m
select [31mCONFIG_BCMA[0m
select [31mCONFIG_PCI_DOMAINS[0m
default [31mCONFIG_ARCH_BCM_5301X[0m
help
Say Y here if you want to use the Broadcom iProc PCIe controller
through the [31mCONFIG_BCMA[0m bus interface
config [31mCONFIG_PCIE_IPROC_MSI[0m
bool "Broadcom iProc PCIe MSI support"
depends on [31mCONFIG_PCIE_IPROC_PLATFORM[0m || [31mCONFIG_PCIE_IPROC_BCMA[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
default [31mCONFIG_ARCH_BCM_IPROC[0m
help
Say Y here if you want to enable MSI support for Broadcom's iProc
PCIe controller
config [31mCONFIG_PCIE_ALTERA[0m
bool "Altera PCIe controller"
depends on [31mCONFIG_ARM[0m || [31mCONFIG_NIOS2[0m
depends on [31mCONFIG_OF_PCI[0m
select [31mCONFIG_PCI_DOMAINS[0m
help
Say Y here if you want to enable PCIe controller support on Altera
[31mCONFIG_FPGA[0m.
config [31mCONFIG_PCIE_ALTERA_MSI[0m
bool "Altera PCIe MSI feature"
depends on [31mCONFIG_PCIE_ALTERA[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
help
Say Y here if you want PCIe MSI support for the Altera [31mCONFIG_FPGA[0m.
This MSI driver supports Altera MSI to GIC controller IP.
config [31mCONFIG_PCI_HISI[0m
depends on [31mCONFIG_OF[0m && [31mCONFIG_ARM64[0m
bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIEPORTBUS[0m
select [31mCONFIG_PCIE_DW[0m
help
Say Y here if you want PCIe controller support on HiSilicon
Hip05 and Hip06 SoCs
config [31mCONFIG_PCIE_QCOM[0m
bool "Qualcomm PCIe controller"
depends on [31mCONFIG_ARCH_QCOM[0m && [31mCONFIG_OF[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIE_DW[0m
select [31mCONFIG_PCIEPORTBUS[0m
help
Say Y here to enable PCIe controller support on Qualcomm SoCs. The
PCIe controller uses the Designware core plus Qualcomm-specific
hardware wrappers.
config [31mCONFIG_PCI_HOST_THUNDER_PEM[0m
bool "Cavium Thunder PCIe controller to off-chip devices"
depends on [31mCONFIG_ARM64[0m
depends on [31mCONFIG_OF[0m || ([31mCONFIG_ACPI[0m && [31mCONFIG_PCI_QUIRKS[0m)
select [31mCONFIG_PCI_HOST_COMMON[0m
help
Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
config [31mCONFIG_PCI_HOST_THUNDER_ECAM[0m
bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
depends on [31mCONFIG_ARM64[0m
depends on [31mCONFIG_OF[0m || ([31mCONFIG_ACPI[0m && [31mCONFIG_PCI_QUIRKS[0m)
select [31mCONFIG_PCI_HOST_COMMON[0m
help
Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
config [31mCONFIG_PCIE_ARMADA_8K[0m
bool "Marvell Armada-8K PCIe controller"
depends on [31mCONFIG_ARCH_MVEBU[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIE_DW[0m
select [31mCONFIG_PCIEPORTBUS[0m
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.
config [31mCONFIG_PCIE_ARTPEC6[0m
bool "Axis ARTPEC-6 PCIe controller"
depends on [31mCONFIG_MACH_ARTPEC6[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_PCIE_DW[0m
select [31mCONFIG_PCIEPORTBUS[0m
help
Say Y here to enable PCIe controller support on Axis ARTPEC-6
SoCs. This PCIe controller uses the DesignWare core.
config [31mCONFIG_PCIE_ROCKCHIP[0m
bool "Rockchip PCIe controller"
depends on [31mCONFIG_ARCH_ROCKCHIP[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_PCI_MSI_IRQ_DOMAIN[0m
select [31mCONFIG_MFD_SYSCON[0m
help
Say Y here if you want internal [31mCONFIG_PCI[0m support on Rockchip SoC.
There is 1 internal PCIe port available to support GEN2 with
4 slots.
config [31mCONFIG_VMD[0m
depends on [31mCONFIG_PCI_MSI[0m && [31mCONFIG_X86_64[0m && [31mCONFIG_SRCU[0m
tristate "Intel Volume Management Device Driver"
default N
---help---
Adds support for the Intel Volume Management Device ([31mCONFIG_VMD[0m). [31mCONFIG_VMD[0m is a
secondary [31mCONFIG_PCI[0m host bridge that allows [31mCONFIG_PCI[0m Express root ports,
and devices attached to them, to be removed from the default
[31mCONFIG_PCI[0m domain and placed within the [31mCONFIG_VMD[0m 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 [31mCONFIG_M[0m here: the
module will be called vmd.
endmenu