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 || SOC_IMX6SX || SOC_IMX7D
	select PCIEPORTBUS
	select PCIE_DW

config PCI_IMX6_COMPLIANCE_TEST
	bool "Enable pcie compliance tests on imx6"
	depends on PCI_IMX6
	default n
	help
	  Say Y here if you want do the compliance tests on imx6 pcie rc found
	  on FSL iMX SoCs. The pcie clks wouldn't be turned off, and the link
	  speed wouldn't be limited to gen1 when the Y is set here.

config EP_MODE_IN_EP_RC_SYS
	bool "PCI Express EP mode in the IMX6 RC/EP interconnection system"
	depends on PCI_IMX6

config RC_MODE_IN_EP_RC_SYS
	bool "PCI Express RC mode in the IMX6 RC/EP interconnection system"
	depends on PCI_IMX6 && EP_MODE_IN_EP_RC_SYS!=y

config PCI_IMX_EP_DRV
	bool "i.MX6 PCI Express EP skeleton driver"
	depends on RC_MODE_IN_EP_RC_SYS
	default y

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 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
	bool "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.

config PCI_KEYSTONE
	bool "TI Keystone PCIe controller"
	depends on ARCH_KEYSTONE
	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
	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_LAYERSCAPE
	bool "Freescale Layerscape PCIe controller"
	depends on OF && ARM
	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 "Broadcom iProc PCIe controller"
	depends on OF && ARM
	default n
	help
	  This enables the iProc PCIe core controller support for Broadcom's
	  iProc family of SoCs. An appropriate bus interface driver also needs
	  to be enabled

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

endmenu
