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