Commit | Line | Data |
---|---|---|
45361a4f TP |
1 | menu "PCI host controller drivers" |
2 | depends on PCI | |
3 | ||
47ff3de9 KVA |
4 | config 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 | ||
45361a4f TP |
13 | config PCI_MVEBU |
14 | bool "Marvell EBU PCIe controller" | |
c2760208 | 15 | depends on ARCH_MVEBU || ARCH_DOVE |
61d9e854 | 16 | depends on ARM |
5477a33b | 17 | depends on OF |
45361a4f | 18 | |
8c39d710 TP |
19 | config PCI_AARDVARK |
20 | bool "Aardvark PCIe controller" | |
21 | depends on ARCH_MVEBU && ARM64 | |
22 | depends on OF | |
23 | depends on PCI_MSI_IRQ_DOMAIN | |
24 | help | |
25 | Add support for Aardvark 64bit PCIe Host Controller. This | |
26 | controller is part of the South Bridge of the Marvel Armada | |
27 | 3700 SoC. | |
562df5c8 | 28 | |
ab597d35 BKG |
29 | config PCIE_XILINX_NWL |
30 | bool "NWL PCIe Core" | |
31 | depends on ARCH_ZYNQMP | |
32 | select PCI_MSI_IRQ_DOMAIN if PCI_MSI | |
33 | help | |
34 | Say 'Y' here if you want kernel support for Xilinx | |
35 | NWL PCIe controller. The controller can act as Root Port | |
36 | or End Point. The current option selection will only | |
37 | support root port enabling. | |
38 | ||
5a3aa2a8 JP |
39 | config PCIE_DW_PLAT |
40 | bool "Platform bus based DesignWare PCIe Controller" | |
41 | select PCIE_DW | |
42 | ---help--- | |
43 | This selects the DesignWare PCIe controller support. Select this if | |
44 | you have a PCIe controller on Platform bus. | |
45 | ||
46 | If you have a controller with this interface, say Y or M here. | |
47 | ||
48 | If unsure, say N. | |
49 | ||
340cba60 JH |
50 | config PCIE_DW |
51 | bool | |
52 | ||
53 | config PCI_EXYNOS | |
54 | bool "Samsung Exynos PCIe controller" | |
55 | depends on SOC_EXYNOS5440 | |
56 | select PCIEPORTBUS | |
57 | select PCIE_DW | |
58 | ||
bb38919e SC |
59 | config PCI_IMX6 |
60 | bool "Freescale i.MX6 PCIe controller" | |
61 | depends on SOC_IMX6Q | |
62 | select PCIEPORTBUS | |
63 | select PCIE_DW | |
64 | ||
d1523b52 TR |
65 | config PCI_TEGRA |
66 | bool "NVIDIA Tegra PCIe controller" | |
4407308b | 67 | depends on ARCH_TEGRA && !ARM64 |
6b1c4d76 TR |
68 | help |
69 | Say Y here if you want support for the PCIe host controller found | |
70 | on NVIDIA Tegra SoCs. | |
d1523b52 | 71 | |
ba3eb9fc VB |
72 | config PCI_RCAR_GEN2 |
73 | bool "Renesas R-Car Gen2 Internal PCI controller" | |
6cbfeae7 | 74 | depends on ARM |
304e6d57 | 75 | depends on ARCH_RENESAS || COMPILE_TEST |
ba3eb9fc VB |
76 | help |
77 | Say Y here if you want internal PCI support on R-Car Gen2 SoC. | |
78 | There are 3 internal PCI controllers available with a single | |
79 | built-in EHCI/OHCI host controller present on each one. | |
80 | ||
350a73b4 | 81 | config PCIE_RCAR |
c25da477 | 82 | bool "Renesas R-Car PCIe controller" |
304e6d57 | 83 | depends on ARCH_RENESAS || (ARM && COMPILE_TEST) |
76ba8c1f AB |
84 | select PCI_MSI |
85 | select PCI_MSI_IRQ_DOMAIN | |
c25da477 | 86 | help |
350a73b4 | 87 | Say Y here if you want PCIe controller support on R-Car SoCs. |
c25da477 | 88 | |
4e64dbe2 DD |
89 | config PCI_HOST_COMMON |
90 | bool | |
1958e717 | 91 | select PCI_ECAM |
4e64dbe2 | 92 | |
ce292991 WD |
93 | config PCI_HOST_GENERIC |
94 | bool "Generic PCI host controller" | |
aa4a5c0d | 95 | depends on (ARM || ARM64) && OF |
4e64dbe2 | 96 | select PCI_HOST_COMMON |
ce292991 WD |
97 | help |
98 | Say Y here if you want to support a simple generic PCI host | |
99 | controller, such as the one emulated by kvmtool. | |
100 | ||
51b66a6c | 101 | config PCIE_SPEAR13XX |
8d7004a6 | 102 | bool "STMicroelectronics SPEAr PCIe controller" |
51b66a6c PA |
103 | depends on ARCH_SPEAR13XX |
104 | select PCIEPORTBUS | |
105 | select PCIE_DW | |
106 | help | |
107 | Say Y here if you want PCIe support on SPEAr13XX SoCs. | |
108 | ||
0c4ffcfe MK |
109 | config PCI_KEYSTONE |
110 | bool "TI Keystone PCIe controller" | |
111 | depends on ARCH_KEYSTONE | |
112 | select PCIE_DW | |
113 | select PCIEPORTBUS | |
114 | help | |
115 | Say Y here if you want to enable PCI controller support on Keystone | |
116 | SoCs. The PCI controller on Keystone is based on Designware hardware | |
117 | and therefore the driver re-uses the Designware core functions to | |
118 | implement the driver. | |
a2351efe | 119 | |
8961def5 ST |
120 | config PCIE_XILINX |
121 | bool "Xilinx AXI PCIe host bridge support" | |
01cf9d52 | 122 | depends on ARCH_ZYNQ || MICROBLAZE |
8961def5 ST |
123 | help |
124 | Say 'Y' here if you want kernel to support the Xilinx AXI PCIe | |
125 | Host Bridge driver. | |
126 | ||
5f6b6ccd TI |
127 | config PCI_XGENE |
128 | bool "X-Gene PCIe controller" | |
129 | depends on ARCH_XGENE | |
130 | depends on OF | |
131 | select PCIEPORTBUS | |
dcd19de3 | 132 | select PCI_MSI_IRQ_DOMAIN if PCI_MSI |
5f6b6ccd TI |
133 | help |
134 | Say Y here if you want internal PCI support on APM X-Gene SoC. | |
135 | There are 5 internal PCIe ports available. Each port is GEN3 capable | |
136 | and have varied lanes from x1 to x8. | |
137 | ||
dcd19de3 DD |
138 | config PCI_XGENE_MSI |
139 | bool "X-Gene v1 PCIe MSI feature" | |
140 | depends on PCI_XGENE && PCI_MSI | |
141 | default y | |
142 | help | |
143 | Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC. | |
144 | This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC. | |
145 | ||
62d0ff83 ML |
146 | config PCI_LAYERSCAPE |
147 | bool "Freescale Layerscape PCIe controller" | |
5192ec7b | 148 | depends on OF && (ARM || ARCH_LAYERSCAPE) |
62d0ff83 ML |
149 | select PCIE_DW |
150 | select MFD_SYSCON | |
151 | help | |
152 | Say Y here if you want PCIe controller support on Layerscape SoCs. | |
153 | ||
b7e78170 RH |
154 | config PCI_VERSATILE |
155 | bool "ARM Versatile PB PCI controller" | |
156 | depends on ARCH_VERSATILE | |
157 | ||
1fb37a81 | 158 | config PCIE_IPROC |
c1b98e41 | 159 | tristate |
1fb37a81 RJ |
160 | help |
161 | This enables the iProc PCIe core controller support for Broadcom's | |
c1b98e41 AB |
162 | iProc family of SoCs. An appropriate bus interface driver needs |
163 | to be enabled to select this. | |
1fb37a81 RJ |
164 | |
165 | config PCIE_IPROC_PLATFORM | |
166 | tristate "Broadcom iProc PCIe platform bus driver" | |
167 | depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST) | |
168 | depends on OF | |
169 | select PCIE_IPROC | |
170 | default ARCH_BCM_IPROC | |
171 | help | |
172 | Say Y here if you want to use the Broadcom iProc PCIe controller | |
173 | through the generic platform bus interface | |
174 | ||
4785ffbd | 175 | config PCIE_IPROC_BCMA |
05aa7d6a | 176 | tristate "Broadcom iProc PCIe BCMA bus driver" |
70d334ca | 177 | depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST) |
4785ffbd HM |
178 | select PCIE_IPROC |
179 | select BCMA | |
180 | select PCI_DOMAINS | |
181 | default ARCH_BCM_5301X | |
182 | help | |
183 | Say Y here if you want to use the Broadcom iProc PCIe controller | |
184 | through the BCMA bus interface | |
185 | ||
3bc2b234 RJ |
186 | config PCIE_IPROC_MSI |
187 | bool "Broadcom iProc PCIe MSI support" | |
188 | depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA | |
189 | depends on PCI_MSI | |
190 | select PCI_MSI_IRQ_DOMAIN | |
191 | default ARCH_BCM_IPROC | |
192 | help | |
193 | Say Y here if you want to enable MSI support for Broadcom's iProc | |
194 | PCIe controller | |
195 | ||
eaa6111b LFT |
196 | config PCIE_ALTERA |
197 | bool "Altera PCIe controller" | |
198 | depends on ARM || NIOS2 | |
199 | depends on OF_PCI | |
200 | select PCI_DOMAINS | |
201 | help | |
202 | Say Y here if you want to enable PCIe controller support on Altera | |
203 | FPGA. | |
204 | ||
af1169b4 LFT |
205 | config PCIE_ALTERA_MSI |
206 | bool "Altera PCIe MSI feature" | |
207 | depends on PCIE_ALTERA && PCI_MSI | |
208 | select PCI_MSI_IRQ_DOMAIN | |
209 | help | |
210 | Say Y here if you want PCIe MSI support for the Altera FPGA. | |
211 | This MSI driver supports Altera MSI to GIC controller IP. | |
212 | ||
500a1d9a ZW |
213 | config PCI_HISI |
214 | depends on OF && ARM64 | |
5930fe4e | 215 | bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers" |
500a1d9a ZW |
216 | select PCIEPORTBUS |
217 | select PCIE_DW | |
218 | help | |
5930fe4e GP |
219 | Say Y here if you want PCIe controller support on HiSilicon |
220 | Hip05 and Hip06 SoCs | |
500a1d9a | 221 | |
82a82383 SV |
222 | config PCIE_QCOM |
223 | bool "Qualcomm PCIe controller" | |
224 | depends on ARCH_QCOM && OF | |
225 | select PCIE_DW | |
226 | select PCIEPORTBUS | |
227 | help | |
228 | Say Y here to enable PCIe controller support on Qualcomm SoCs. The | |
229 | PCIe controller uses the Designware core plus Qualcomm-specific | |
230 | hardware wrappers. | |
500a1d9a | 231 | |
f12b76e5 DD |
232 | config PCI_HOST_THUNDER_PEM |
233 | bool "Cavium Thunder PCIe controller to off-chip devices" | |
234 | depends on OF && ARM64 | |
235 | select PCI_HOST_COMMON | |
236 | help | |
237 | Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. | |
238 | ||
7b6e7ba8 DD |
239 | config PCI_HOST_THUNDER_ECAM |
240 | bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" | |
241 | depends on OF && ARM64 | |
242 | select PCI_HOST_COMMON | |
243 | help | |
244 | Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. | |
245 | ||
1c52a513 TP |
246 | config PCIE_ARMADA_8K |
247 | bool "Marvell Armada-8K PCIe controller" | |
248 | depends on ARCH_MVEBU | |
249 | select PCIE_DW | |
250 | select PCIEPORTBUS | |
251 | help | |
252 | Say Y here if you want to enable PCIe controller support on | |
253 | Armada-8K SoCs. The PCIe controller on Armada-8K is based on | |
254 | Designware hardware and therefore the driver re-uses the | |
255 | Designware core functions to implement the driver. | |
256 | ||
45361a4f | 257 | endmenu |