blob: dcf4d5a349ca1c191260ef9e668e9ef682b135e5 [file] [log] [blame]
Thomas Petazzoni45361a42013-05-16 17:55:22 +02001menu "PCI host controller drivers"
2 depends on PCI
3
Kishon Vijay Abraham I47ff3de2014-07-22 15:23:45 -06004config PCI_DRA7XX
5 bool "TI DRA7xx PCIe controller"
6 select PCIE_DW
7 depends on OF && HAS_IOMEM && TI_PIPE3
Richard Cochran5c3b99d2016-01-08 09:58:31 -06008 depends on BROKEN
Kishon Vijay Abraham I47ff3de2014-07-22 15:23:45 -06009 help
10 Enables support for the PCIe controller in the DRA7xx SoC. There
11 are two instances of PCIe controller in DRA7xx. This controller can
12 act both as EP and RC. This reuses the Designware core.
13
Thomas Petazzoni45361a42013-05-16 17:55:22 +020014config PCI_MVEBU
15 bool "Marvell EBU PCIe controller"
Andrew Lunnc2760202014-07-10 23:36:29 +020016 depends on ARCH_MVEBU || ARCH_DOVE
Thomas Petazzoni5477a332013-08-09 12:35:50 +020017 depends on OF
Thomas Petazzoni45361a42013-05-16 17:55:22 +020018
Jingoo Han340cba62013-06-21 16:24:54 +090019config PCIE_DW
20 bool
21
22config PCI_EXYNOS
23 bool "Samsung Exynos PCIe controller"
24 depends on SOC_EXYNOS5440
25 select PCIEPORTBUS
26 select PCIE_DW
27
Sean Crossbb389192013-09-26 11:24:47 +080028config PCI_IMX6
29 bool "Freescale i.MX6 PCIe controller"
30 depends on SOC_IMX6Q
31 select PCIEPORTBUS
32 select PCIE_DW
33
Thierry Redingd1523b52013-08-09 16:49:19 +020034config PCI_TEGRA
35 bool "NVIDIA Tegra PCIe controller"
Thierry Reding44073082014-11-12 14:53:37 +010036 depends on ARCH_TEGRA && !ARM64
Thierry Reding6b1c4d72014-11-12 14:53:38 +010037 help
38 Say Y here if you want support for the PCIe host controller found
39 on NVIDIA Tegra SoCs.
Thierry Redingd1523b52013-08-09 16:49:19 +020040
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040041config PCI_RCAR_GEN2
42 bool "Renesas R-Car Gen2 Internal PCI controller"
Geert Uytterhoeven6cbfeae2015-10-30 08:08:17 -050043 depends on ARM
Simon Horman304e6d572016-02-25 09:45:56 +090044 depends on ARCH_RENESAS || COMPILE_TEST
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040045 help
46 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
47 There are 3 internal PCI controllers available with a single
48 built-in EHCI/OHCI host controller present on each one.
49
Phil Edworthyc25da472014-05-12 11:57:48 +010050config PCI_RCAR_GEN2_PCIE
51 bool "Renesas R-Car PCIe controller"
Simon Horman304e6d572016-02-25 09:45:56 +090052 depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
Phil Edworthyc25da472014-05-12 11:57:48 +010053 help
54 Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
55
Will Deaconce292992013-11-22 16:14:41 +000056config PCI_HOST_GENERIC
57 bool "Generic PCI host controller"
Jayachandran Caa4a5c02015-08-05 02:23:40 +053058 depends on (ARM || ARM64) && OF
Will Deaconce292992013-11-22 16:14:41 +000059 help
60 Say Y here if you want to support a simple generic PCI host
61 controller, such as the one emulated by kvmtool.
62
Pratyush Anand51b66a62014-02-11 11:39:26 +053063config PCIE_SPEAR13XX
Sachin Kamat8d7004a2014-08-17 22:09:16 -060064 bool "STMicroelectronics SPEAr PCIe controller"
Pratyush Anand51b66a62014-02-11 11:39:26 +053065 depends on ARCH_SPEAR13XX
66 select PCIEPORTBUS
67 select PCIE_DW
68 help
69 Say Y here if you want PCIe support on SPEAr13XX SoCs.
70
Murali Karicheri0c4ffcf2014-09-02 17:26:19 -060071config PCI_KEYSTONE
72 bool "TI Keystone PCIe controller"
73 depends on ARCH_KEYSTONE
74 select PCIE_DW
75 select PCIEPORTBUS
76 help
77 Say Y here if you want to enable PCI controller support on Keystone
78 SoCs. The PCI controller on Keystone is based on Designware hardware
79 and therefore the driver re-uses the Designware core functions to
80 implement the driver.
Bjorn Helgaasa2351efe2014-09-05 10:57:20 -060081
Srikanth Thokala8961def2014-08-20 21:56:02 +053082config PCIE_XILINX
83 bool "Xilinx AXI PCIe host bridge support"
84 depends on ARCH_ZYNQ
85 help
86 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
87 Host Bridge driver.
88
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -060089config PCI_XGENE
90 bool "X-Gene PCIe controller"
91 depends on ARCH_XGENE
92 depends on OF
93 select PCIEPORTBUS
Duc Dangdcd19de2015-06-05 15:56:34 -050094 select PCI_MSI_IRQ_DOMAIN if PCI_MSI
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -060095 help
96 Say Y here if you want internal PCI support on APM X-Gene SoC.
97 There are 5 internal PCIe ports available. Each port is GEN3 capable
98 and have varied lanes from x1 to x8.
99
Duc Dangdcd19de2015-06-05 15:56:34 -0500100config PCI_XGENE_MSI
101 bool "X-Gene v1 PCIe MSI feature"
102 depends on PCI_XGENE && PCI_MSI
103 default y
104 help
105 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
106 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
107
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800108config PCI_LAYERSCAPE
109 bool "Freescale Layerscape PCIe controller"
Minghuan Lian5192ec72015-10-16 15:19:19 +0800110 depends on OF && (ARM || ARCH_LAYERSCAPE)
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800111 select PCIE_DW
112 select MFD_SYSCON
113 help
114 Say Y here if you want PCIe controller support on Layerscape SoCs.
115
Rob Herringb7e78172015-01-28 10:16:18 -0600116config PCI_VERSATILE
117 bool "ARM Versatile PB PCI controller"
118 depends on ARCH_VERSATILE
119
Ray Jui1fb37a82015-04-08 11:21:35 -0700120config PCIE_IPROC
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600121 tristate
Ray Jui1fb37a82015-04-08 11:21:35 -0700122 help
123 This enables the iProc PCIe core controller support for Broadcom's
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600124 iProc family of SoCs. An appropriate bus interface driver needs
125 to be enabled to select this.
Ray Jui1fb37a82015-04-08 11:21:35 -0700126
127config PCIE_IPROC_PLATFORM
128 tristate "Broadcom iProc PCIe platform bus driver"
129 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
130 depends on OF
131 select PCIE_IPROC
132 default ARCH_BCM_IPROC
133 help
134 Say Y here if you want to use the Broadcom iProc PCIe controller
135 through the generic platform bus interface
136
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200137config PCIE_IPROC_BCMA
Hauke Mehrtens05aa7d62015-07-25 21:15:24 +0200138 tristate "Broadcom iProc PCIe BCMA bus driver"
Ray Jui70d334c2015-07-29 10:12:53 -0700139 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200140 select PCIE_IPROC
141 select BCMA
142 select PCI_DOMAINS
143 default ARCH_BCM_5301X
144 help
145 Say Y here if you want to use the Broadcom iProc PCIe controller
146 through the BCMA bus interface
147
Ray Jui3bc2b232016-01-06 18:04:35 -0600148config PCIE_IPROC_MSI
149 bool "Broadcom iProc PCIe MSI support"
150 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
151 depends on PCI_MSI
152 select PCI_MSI_IRQ_DOMAIN
153 default ARCH_BCM_IPROC
154 help
155 Say Y here if you want to enable MSI support for Broadcom's iProc
156 PCIe controller
157
Ley Foon Taneaa61112015-10-23 18:27:12 +0800158config PCIE_ALTERA
159 bool "Altera PCIe controller"
160 depends on ARM || NIOS2
161 depends on OF_PCI
162 select PCI_DOMAINS
163 help
164 Say Y here if you want to enable PCIe controller support on Altera
165 FPGA.
166
Ley Foon Tanaf1169b2015-10-23 18:27:13 +0800167config PCIE_ALTERA_MSI
168 bool "Altera PCIe MSI feature"
169 depends on PCIE_ALTERA && PCI_MSI
170 select PCI_MSI_IRQ_DOMAIN
171 help
172 Say Y here if you want PCIe MSI support for the Altera FPGA.
173 This MSI driver supports Altera MSI to GIC controller IP.
174
Zhou Wang500a1d92015-10-29 20:02:51 -0500175config PCI_HISI
176 depends on OF && ARM64
Gabriele Paoloni5930fe42015-11-27 01:17:05 +0800177 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
Zhou Wang500a1d92015-10-29 20:02:51 -0500178 select PCIEPORTBUS
179 select PCIE_DW
180 help
Gabriele Paoloni5930fe42015-11-27 01:17:05 +0800181 Say Y here if you want PCIe controller support on HiSilicon
182 Hip05 and Hip06 SoCs
Zhou Wang500a1d92015-10-29 20:02:51 -0500183
Stanimir Varbanov82a82382015-12-18 14:38:57 +0200184config PCIE_QCOM
185 bool "Qualcomm PCIe controller"
186 depends on ARCH_QCOM && OF
187 select PCIE_DW
188 select PCIEPORTBUS
189 help
190 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
191 PCIe controller uses the Designware core plus Qualcomm-specific
192 hardware wrappers.
Thomas Petazzoni45361a42013-05-16 17:55:22 +0200193
194endmenu