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