]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/pci/host/Kconfig
Merge branches 'pci/demodularize-hosts' and 'pci/host-request-windows' into next
[mirror_ubuntu-artful-kernel.git] / drivers / pci / host / Kconfig
1 menu "PCI host controller drivers"
2 depends on PCI
3
4 config PCI_DRA7XX
5 bool "TI DRA7xx PCIe controller"
6 depends on OF && HAS_IOMEM && TI_PIPE3
7 depends on PCI_MSI_IRQ_DOMAIN
8 select PCIE_DW
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
14 config PCI_MVEBU
15 bool "Marvell EBU PCIe controller"
16 depends on ARCH_MVEBU || ARCH_DOVE
17 depends on ARM
18 depends on OF
19
20
21 config PCIE_XILINX_NWL
22 bool "NWL PCIe Core"
23 depends on ARCH_ZYNQMP
24 depends on PCI_MSI_IRQ_DOMAIN
25 help
26 Say 'Y' here if you want kernel support for Xilinx
27 NWL PCIe controller. The controller can act as Root Port
28 or End Point. The current option selection will only
29 support root port enabling.
30
31 config PCIE_DW_PLAT
32 bool "Platform bus based DesignWare PCIe Controller"
33 depends on PCI_MSI_IRQ_DOMAIN
34 select PCIE_DW
35 ---help---
36 This selects the DesignWare PCIe controller support. Select this if
37 you have a PCIe controller on Platform bus.
38
39 If you have a controller with this interface, say Y or M here.
40
41 If unsure, say N.
42
43 config PCIE_DW
44 bool
45 depends on PCI_MSI_IRQ_DOMAIN
46
47 config PCI_EXYNOS
48 bool "Samsung Exynos PCIe controller"
49 depends on SOC_EXYNOS5440
50 depends on PCI_MSI_IRQ_DOMAIN
51 select PCIEPORTBUS
52 select PCIE_DW
53
54 config PCI_IMX6
55 bool "Freescale i.MX6 PCIe controller"
56 depends on SOC_IMX6Q
57 depends on PCI_MSI_IRQ_DOMAIN
58 select PCIEPORTBUS
59 select PCIE_DW
60
61 config PCI_TEGRA
62 bool "NVIDIA Tegra PCIe controller"
63 depends on ARCH_TEGRA && !ARM64
64 help
65 Say Y here if you want support for the PCIe host controller found
66 on NVIDIA Tegra SoCs.
67
68 config PCI_RCAR_GEN2
69 bool "Renesas R-Car Gen2 Internal PCI controller"
70 depends on ARM
71 depends on ARCH_RENESAS || COMPILE_TEST
72 help
73 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
74 There are 3 internal PCI controllers available with a single
75 built-in EHCI/OHCI host controller present on each one.
76
77 config PCIE_RCAR
78 bool "Renesas R-Car PCIe controller"
79 depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
80 depends on PCI_MSI_IRQ_DOMAIN
81 help
82 Say Y here if you want PCIe controller support on R-Car SoCs.
83
84 config PCI_HOST_COMMON
85 bool
86 select PCI_ECAM
87
88 config PCI_HOST_GENERIC
89 bool "Generic PCI host controller"
90 depends on (ARM || ARM64) && OF
91 select PCI_HOST_COMMON
92 select IRQ_DOMAIN
93 help
94 Say Y here if you want to support a simple generic PCI host
95 controller, such as the one emulated by kvmtool.
96
97 config PCIE_SPEAR13XX
98 bool "STMicroelectronics SPEAr PCIe controller"
99 depends on ARCH_SPEAR13XX
100 depends on PCI_MSI_IRQ_DOMAIN
101 select PCIEPORTBUS
102 select PCIE_DW
103 help
104 Say Y here if you want PCIe support on SPEAr13XX SoCs.
105
106 config PCI_KEYSTONE
107 bool "TI Keystone PCIe controller"
108 depends on ARCH_KEYSTONE
109 depends on PCI_MSI_IRQ_DOMAIN
110 select PCIE_DW
111 select PCIEPORTBUS
112 help
113 Say Y here if you want to enable PCI controller support on Keystone
114 SoCs. The PCI controller on Keystone is based on Designware hardware
115 and therefore the driver re-uses the Designware core functions to
116 implement the driver.
117
118 config PCIE_XILINX
119 bool "Xilinx AXI PCIe host bridge support"
120 depends on ARCH_ZYNQ || MICROBLAZE
121 help
122 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
123 Host Bridge driver.
124
125 config PCI_XGENE
126 bool "X-Gene PCIe controller"
127 depends on ARCH_XGENE
128 depends on OF
129 select PCIEPORTBUS
130 help
131 Say Y here if you want internal PCI support on APM X-Gene SoC.
132 There are 5 internal PCIe ports available. Each port is GEN3 capable
133 and have varied lanes from x1 to x8.
134
135 config PCI_XGENE_MSI
136 bool "X-Gene v1 PCIe MSI feature"
137 depends on PCI_XGENE
138 depends on PCI_MSI_IRQ_DOMAIN
139 default y
140 help
141 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
142 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
143
144 config PCI_LAYERSCAPE
145 bool "Freescale Layerscape PCIe controller"
146 depends on OF && (ARM || ARCH_LAYERSCAPE)
147 depends on PCI_MSI_IRQ_DOMAIN
148 select PCIE_DW
149 select MFD_SYSCON
150 help
151 Say Y here if you want PCIe controller support on Layerscape SoCs.
152
153 config PCI_VERSATILE
154 bool "ARM Versatile PB PCI controller"
155 depends on ARCH_VERSATILE
156
157 config PCIE_IPROC
158 tristate
159 help
160 This enables the iProc PCIe core controller support for Broadcom's
161 iProc family of SoCs. An appropriate bus interface driver needs
162 to be enabled to select this.
163
164 config PCIE_IPROC_PLATFORM
165 tristate "Broadcom iProc PCIe platform bus driver"
166 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
167 depends on OF
168 select PCIE_IPROC
169 default ARCH_BCM_IPROC
170 help
171 Say Y here if you want to use the Broadcom iProc PCIe controller
172 through the generic platform bus interface
173
174 config PCIE_IPROC_BCMA
175 tristate "Broadcom iProc PCIe BCMA bus driver"
176 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
177 select PCIE_IPROC
178 select BCMA
179 select PCI_DOMAINS
180 default ARCH_BCM_5301X
181 help
182 Say Y here if you want to use the Broadcom iProc PCIe controller
183 through the BCMA bus interface
184
185 config PCIE_IPROC_MSI
186 bool "Broadcom iProc PCIe MSI support"
187 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
188 depends on PCI_MSI_IRQ_DOMAIN
189 default ARCH_BCM_IPROC
190 help
191 Say Y here if you want to enable MSI support for Broadcom's iProc
192 PCIe controller
193
194 config PCIE_ALTERA
195 bool "Altera PCIe controller"
196 depends on ARM || NIOS2
197 depends on OF_PCI
198 select PCI_DOMAINS
199 help
200 Say Y here if you want to enable PCIe controller support on Altera
201 FPGA.
202
203 config PCIE_ALTERA_MSI
204 bool "Altera PCIe MSI feature"
205 depends on PCIE_ALTERA
206 depends on PCI_MSI_IRQ_DOMAIN
207 help
208 Say Y here if you want PCIe MSI support for the Altera FPGA.
209 This MSI driver supports Altera MSI to GIC controller IP.
210
211 config PCI_HISI
212 depends on OF && ARM64
213 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
214 depends on PCI_MSI_IRQ_DOMAIN
215 select PCIEPORTBUS
216 select PCIE_DW
217 help
218 Say Y here if you want PCIe controller support on HiSilicon
219 Hip05 and Hip06 SoCs
220
221 config PCIE_QCOM
222 bool "Qualcomm PCIe controller"
223 depends on ARCH_QCOM && OF
224 depends on PCI_MSI_IRQ_DOMAIN
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.
231
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
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
246 config PCIE_ARMADA_8K
247 bool "Marvell Armada-8K PCIe controller"
248 depends on ARCH_MVEBU
249 depends on PCI_MSI_IRQ_DOMAIN
250 select PCIE_DW
251 select PCIEPORTBUS
252 help
253 Say Y here if you want to enable PCIe controller support on
254 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
255 Designware hardware and therefore the driver re-uses the
256 Designware core functions to implement the driver.
257
258 config PCIE_ARTPEC6
259 bool "Axis ARTPEC-6 PCIe controller"
260 depends on MACH_ARTPEC6
261 depends on PCI_MSI_IRQ_DOMAIN
262 select PCIE_DW
263 select PCIEPORTBUS
264 help
265 Say Y here to enable PCIe controller support on Axis ARTPEC-6
266 SoCs. This PCIe controller uses the DesignWare core.
267
268 endmenu