1menu "PCI host controller drivers"
2	depends on PCI
3
4config PCI_DRA7XX
5	bool "TI DRA7xx PCIe controller"
6	select PCIE_DW
7	depends on OF && HAS_IOMEM && TI_PIPE3
8	help
9	 Enables support for the PCIe controller in the DRA7xx SoC.  There
10	 are two instances of PCIe controller in DRA7xx.  This controller can
11	 act both as EP and RC.  This reuses the Designware core.
12
13config PCI_MVEBU
14	bool "Marvell EBU PCIe controller"
15	depends on ARCH_MVEBU || ARCH_DOVE
16	depends on OF
17
18config PCIE_DW
19	bool
20
21config PCI_EXYNOS
22	bool "Samsung Exynos PCIe controller"
23	depends on SOC_EXYNOS5440
24	select PCIEPORTBUS
25	select PCIE_DW
26
27config PCI_IMX6
28	bool "Freescale i.MX6 PCIe controller"
29	depends on SOC_IMX6Q
30	select PCIEPORTBUS
31	select PCIE_DW
32
33config PCI_TEGRA
34	bool "NVIDIA Tegra PCIe controller"
35	depends on ARCH_TEGRA && !ARM64
36	help
37	  Say Y here if you want support for the PCIe host controller found
38	  on NVIDIA Tegra SoCs.
39
40config PCI_RCAR_GEN2
41	bool "Renesas R-Car Gen2 Internal PCI controller"
42	depends on ARCH_SHMOBILE || (ARM && COMPILE_TEST)
43	help
44	  Say Y here if you want internal PCI support on R-Car Gen2 SoC.
45	  There are 3 internal PCI controllers available with a single
46	  built-in EHCI/OHCI host controller present on each one.
47
48config PCI_RCAR_GEN2_PCIE
49	bool "Renesas R-Car PCIe controller"
50	depends on ARCH_SHMOBILE || (ARM && COMPILE_TEST)
51	help
52	  Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
53
54config PCI_HOST_GENERIC
55	bool "Generic PCI host controller"
56	depends on ARM && OF
57	help
58	  Say Y here if you want to support a simple generic PCI host
59	  controller, such as the one emulated by kvmtool.
60
61config PCIE_SPEAR13XX
62	bool "STMicroelectronics SPEAr PCIe controller"
63	depends on ARCH_SPEAR13XX
64	select PCIEPORTBUS
65	select PCIE_DW
66	help
67	  Say Y here if you want PCIe support on SPEAr13XX SoCs.
68
69config PCI_KEYSTONE
70	bool "TI Keystone PCIe controller"
71	depends on ARCH_KEYSTONE
72	select PCIE_DW
73	select PCIEPORTBUS
74	help
75	  Say Y here if you want to enable PCI controller support on Keystone
76	  SoCs. The PCI controller on Keystone is based on Designware hardware
77	  and therefore the driver re-uses the Designware core functions to
78	  implement the driver.
79
80config PCIE_XILINX
81	bool "Xilinx AXI PCIe host bridge support"
82	depends on ARCH_ZYNQ
83	help
84	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
85	  Host Bridge driver.
86
87config PCI_XGENE
88	bool "X-Gene PCIe controller"
89	depends on ARCH_XGENE
90	depends on OF
91	select PCIEPORTBUS
92	help
93	  Say Y here if you want internal PCI support on APM X-Gene SoC.
94	  There are 5 internal PCIe ports available. Each port is GEN3 capable
95	  and have varied lanes from x1 to x8.
96
97config PCI_LAYERSCAPE
98	bool "Freescale Layerscape PCIe controller"
99	depends on OF && ARM
100	select PCIE_DW
101	select MFD_SYSCON
102	help
103	  Say Y here if you want PCIe controller support on Layerscape SoCs.
104
105config PCI_VERSATILE
106	bool "ARM Versatile PB PCI controller"
107	depends on ARCH_VERSATILE
108
109config PCIE_IPROC
110	tristate "Broadcom iProc PCIe controller"
111	depends on OF && ARM
112	default n
113	help
114	  This enables the iProc PCIe core controller support for Broadcom's
115	  iProc family of SoCs. An appropriate bus interface driver also needs
116	  to be enabled
117
118config PCIE_IPROC_PLATFORM
119	tristate "Broadcom iProc PCIe platform bus driver"
120	depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
121	depends on OF
122	select PCIE_IPROC
123	default ARCH_BCM_IPROC
124	help
125	  Say Y here if you want to use the Broadcom iProc PCIe controller
126	  through the generic platform bus interface
127
128endmenu
129