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
	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 ARM64
	depends on OF || (ACPI && PCI_QUIRKS)
	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 ARM64
	depends on OF || (ACPI && PCI_QUIRKS)
	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 ARM64
	depends on OF || (ACPI && PCI_QUIRKS)
	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 || COMPILE_TEST
	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 && SRCU
	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
