menu "PCI host controller drivers"
	depends on PCI

config PCI_DRA7XX
	bool "TI DRA7xx PCIe controller"
	select PCIE_DW
	depends on OF && HAS_IOMEM && TI_PIPE3
	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 OF

config PCIE_DW
	bool

config PCI_EXYNOS
	bool "Samsung Exynos PCIe controller"
	depends on SOC_EXYNOS5440
	select PCIEPORTBUS
	select PCIE_DW

config PCI_IMX6
	bool "Freescale i.MX6 PCIe controller"
	depends on SOC_IMX6Q
	select PCIEPORTBUS
	select PCIE_DW

config PCI_TEGRA
	bool "NVIDIA Tegra PCIe controller"
	depends on ARCH_TEGRA

config PCI_RCAR_GEN2
	bool "Renesas R-Car Gen2 Internal PCI controller"
	depends on ARCH_SHMOBILE || (ARM && 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 PCI_RCAR_GEN2_PCIE
	bool "Renesas R-Car PCIe controller"
	depends on ARCH_SHMOBILE || (ARM && COMPILE_TEST)
	help
	  Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.

config PCI_HOST_GENERIC
	bool "Generic PCI host controller"
	depends on ARM && OF
	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
	tristate "STMicroelectronics SPEAr PCIe controller"
	depends on ARCH_SPEAR13XX
	select PCIEPORTBUS
	select PCIE_DW
	help
	  Say Y here if you want PCIe support on SPEAr13XX SoCs.

endmenu
