| menu "PCI host controller drivers" | |
| depends on PCI | |
| config PCI_DRA7XX | |
| bool "TI DRA7xx PCIe controller" | |
| depends on OF && HAS_IOMEM && TI_PIPE3 | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| select PCIE_DW | |
| 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 PCI_MVEBU | |
| bool "Marvell EBU PCIe controller" | |
| depends on ARCH_MVEBU || ARCH_DOVE | |
| depends on ARM | |
| depends on OF | |
| 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. | |
| config PCIE_XILINX_NWL | |
| bool "NWL PCIe Core" | |
| depends on ARCH_ZYNQMP | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| 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 PCIE_DW_PLAT | |
| bool "Platform bus based DesignWare PCIe Controller" | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| 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. | |
| config PCIE_DW | |
| bool | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| config PCI_EXYNOS | |
| bool "Samsung Exynos PCIe controller" | |
| depends on SOC_EXYNOS5440 | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| select PCIEPORTBUS | |
| select PCIE_DW | |
| config PCI_IMX6 | |
| bool "Freescale i.MX6 PCIe controller" | |
| depends on SOC_IMX6Q | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| select PCIEPORTBUS | |
| select PCIE_DW | |
| config PCI_TEGRA | |
| bool "NVIDIA Tegra PCIe controller" | |
| depends on ARCH_TEGRA && !ARM64 | |
| help | |
| Say Y here if you want support for the PCIe host controller found | |
| on NVIDIA Tegra SoCs. | |
| config PCI_RCAR_GEN2 | |
| bool "Renesas R-Car Gen2 Internal PCI controller" | |
| depends on ARM | |
| depends on ARCH_RENESAS || COMPILE_TEST | |
| 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. | |
| config PCIE_RCAR | |
| bool "Renesas R-Car PCIe controller" | |
| depends on ARCH_RENESAS || (ARM && COMPILE_TEST) | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| help | |
| Say Y here if you want PCIe controller support on R-Car SoCs. | |
| config PCI_HOST_COMMON | |
| bool | |
| select PCI_ECAM | |
| config PCI_HOST_GENERIC | |
| bool "Generic PCI host controller" | |
| depends on (ARM || ARM64) && OF | |
| select PCI_HOST_COMMON | |
| select IRQ_DOMAIN | |
| help | |
| Say Y here if you want to support a simple generic PCI host | |
| controller, such as the one emulated by kvmtool. | |
| config PCIE_SPEAR13XX | |
| bool "STMicroelectronics SPEAr PCIe controller" | |
| depends on ARCH_SPEAR13XX | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| select PCIEPORTBUS | |
| select PCIE_DW | |
| help | |
| Say Y here if you want PCIe support on SPEAr13XX SoCs. | |
| config PCI_KEYSTONE | |
| bool "TI Keystone PCIe controller" | |
| depends on ARCH_KEYSTONE | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| 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. | |
| config PCIE_XILINX | |
| bool "Xilinx AXI PCIe host bridge support" | |
| depends on ARCH_ZYNQ || MICROBLAZE | |
| help | |
| Say 'Y' here if you want kernel to support the Xilinx AXI PCIe | |
| Host Bridge driver. | |
| 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. | |
| config PCI_XGENE_MSI | |
| bool "X-Gene v1 PCIe MSI feature" | |
| depends on PCI_XGENE | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| 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. | |
| config PCI_LAYERSCAPE | |
| bool "Freescale Layerscape PCIe controller" | |
| depends on OF && (ARM || ARCH_LAYERSCAPE) | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| select PCIE_DW | |
| select MFD_SYSCON | |
| help | |
| Say Y here if you want PCIe controller support on Layerscape SoCs. | |
| config PCI_VERSATILE | |
| bool "ARM Versatile PB PCI controller" | |
| depends on ARCH_VERSATILE | |
| config PCIE_IPROC | |
| 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 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 | |
| config PCIE_IPROC_BCMA | |
| tristate "Broadcom iProc PCIe BCMA bus driver" | |
| depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST) | |
| 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 | |
| config PCIE_IPROC_MSI | |
| bool "Broadcom iProc PCIe MSI support" | |
| depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| default ARCH_BCM_IPROC | |
| help | |
| Say Y here if you want to enable MSI support for Broadcom's iProc | |
| PCIe controller | |
| 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. | |
| config PCIE_ALTERA_MSI | |
| bool "Altera PCIe MSI feature" | |
| depends on PCIE_ALTERA | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| help | |
| Say Y here if you want PCIe MSI support for the Altera FPGA. | |
| This MSI driver supports Altera MSI to GIC controller IP. | |
| config PCI_HISI | |
| depends on OF && ARM64 | |
| bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers" | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| select PCIEPORTBUS | |
| select PCIE_DW | |
| help | |
| Say Y here if you want PCIe controller support on HiSilicon | |
| Hip05 and Hip06 SoCs | |
| config PCIE_QCOM | |
| bool "Qualcomm PCIe controller" | |
| depends on ARCH_QCOM && OF | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| 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. | |
| config PCI_HOST_THUNDER_PEM | |
| bool "Cavium Thunder PCIe controller to off-chip devices" | |
| depends on OF && ARM64 | |
| select PCI_HOST_COMMON | |
| help | |
| Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. | |
| config PCI_HOST_THUNDER_ECAM | |
| bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" | |
| depends on OF && ARM64 | |
| select PCI_HOST_COMMON | |
| help | |
| Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. | |
| config PCIE_ARMADA_8K | |
| bool "Marvell Armada-8K PCIe controller" | |
| depends on ARCH_MVEBU | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| 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. | |
| config PCIE_ARTPEC6 | |
| bool "Axis ARTPEC-6 PCIe controller" | |
| depends on MACH_ARTPEC6 | |
| depends on PCI_MSI_IRQ_DOMAIN | |
| 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. | |
| 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. | |
| 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. | |
| endmenu |