]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - drivers/pci/host/Kconfig
PCI: Provide common functions for ECAM mapping
[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"
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
13config 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
20config 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
30config 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
41config PCIE_DW
42 bool
43
44config PCI_EXYNOS
45 bool "Samsung Exynos PCIe controller"
46 depends on SOC_EXYNOS5440
47 select PCIEPORTBUS
48 select PCIE_DW
49
bb38919e
SC
50config PCI_IMX6
51 bool "Freescale i.MX6 PCIe controller"
52 depends on SOC_IMX6Q
53 select PCIEPORTBUS
54 select PCIE_DW
55
d1523b52
TR
56config 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
63config 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
c25da477
PE
72config PCI_RCAR_GEN2_PCIE
73 bool "Renesas R-Car PCIe controller"
304e6d57 74 depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
c25da477
PE
75 help
76 Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
77
4e64dbe2
DD
78config PCI_HOST_COMMON
79 bool
80
ce292991
WD
81config PCI_HOST_GENERIC
82 bool "Generic PCI host controller"
aa4a5c0d 83 depends on (ARM || ARM64) && OF
4e64dbe2 84 select PCI_HOST_COMMON
ce292991
WD
85 help
86 Say Y here if you want to support a simple generic PCI host
87 controller, such as the one emulated by kvmtool.
88
51b66a6c 89config PCIE_SPEAR13XX
8d7004a6 90 bool "STMicroelectronics SPEAr PCIe controller"
51b66a6c
PA
91 depends on ARCH_SPEAR13XX
92 select PCIEPORTBUS
93 select PCIE_DW
94 help
95 Say Y here if you want PCIe support on SPEAr13XX SoCs.
96
0c4ffcfe
MK
97config PCI_KEYSTONE
98 bool "TI Keystone PCIe controller"
99 depends on ARCH_KEYSTONE
100 select PCIE_DW
101 select PCIEPORTBUS
102 help
103 Say Y here if you want to enable PCI controller support on Keystone
104 SoCs. The PCI controller on Keystone is based on Designware hardware
105 and therefore the driver re-uses the Designware core functions to
106 implement the driver.
a2351efe 107
8961def5
ST
108config PCIE_XILINX
109 bool "Xilinx AXI PCIe host bridge support"
01cf9d52 110 depends on ARCH_ZYNQ || MICROBLAZE
8961def5
ST
111 help
112 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
113 Host Bridge driver.
114
5f6b6ccd
TI
115config PCI_XGENE
116 bool "X-Gene PCIe controller"
117 depends on ARCH_XGENE
118 depends on OF
119 select PCIEPORTBUS
dcd19de3 120 select PCI_MSI_IRQ_DOMAIN if PCI_MSI
5f6b6ccd
TI
121 help
122 Say Y here if you want internal PCI support on APM X-Gene SoC.
123 There are 5 internal PCIe ports available. Each port is GEN3 capable
124 and have varied lanes from x1 to x8.
125
dcd19de3
DD
126config PCI_XGENE_MSI
127 bool "X-Gene v1 PCIe MSI feature"
128 depends on PCI_XGENE && PCI_MSI
129 default y
130 help
131 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
132 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
133
62d0ff83
ML
134config PCI_LAYERSCAPE
135 bool "Freescale Layerscape PCIe controller"
5192ec7b 136 depends on OF && (ARM || ARCH_LAYERSCAPE)
62d0ff83
ML
137 select PCIE_DW
138 select MFD_SYSCON
139 help
140 Say Y here if you want PCIe controller support on Layerscape SoCs.
141
b7e78170
RH
142config PCI_VERSATILE
143 bool "ARM Versatile PB PCI controller"
144 depends on ARCH_VERSATILE
145
1fb37a81 146config PCIE_IPROC
c1b98e41 147 tristate
1fb37a81
RJ
148 help
149 This enables the iProc PCIe core controller support for Broadcom's
c1b98e41
AB
150 iProc family of SoCs. An appropriate bus interface driver needs
151 to be enabled to select this.
1fb37a81
RJ
152
153config PCIE_IPROC_PLATFORM
154 tristate "Broadcom iProc PCIe platform bus driver"
155 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
156 depends on OF
157 select PCIE_IPROC
158 default ARCH_BCM_IPROC
159 help
160 Say Y here if you want to use the Broadcom iProc PCIe controller
161 through the generic platform bus interface
162
4785ffbd 163config PCIE_IPROC_BCMA
05aa7d6a 164 tristate "Broadcom iProc PCIe BCMA bus driver"
70d334ca 165 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
4785ffbd
HM
166 select PCIE_IPROC
167 select BCMA
168 select PCI_DOMAINS
169 default ARCH_BCM_5301X
170 help
171 Say Y here if you want to use the Broadcom iProc PCIe controller
172 through the BCMA bus interface
173
3bc2b234
RJ
174config PCIE_IPROC_MSI
175 bool "Broadcom iProc PCIe MSI support"
176 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
177 depends on PCI_MSI
178 select PCI_MSI_IRQ_DOMAIN
179 default ARCH_BCM_IPROC
180 help
181 Say Y here if you want to enable MSI support for Broadcom's iProc
182 PCIe controller
183
eaa6111b
LFT
184config PCIE_ALTERA
185 bool "Altera PCIe controller"
186 depends on ARM || NIOS2
187 depends on OF_PCI
188 select PCI_DOMAINS
189 help
190 Say Y here if you want to enable PCIe controller support on Altera
191 FPGA.
192
af1169b4
LFT
193config PCIE_ALTERA_MSI
194 bool "Altera PCIe MSI feature"
195 depends on PCIE_ALTERA && PCI_MSI
196 select PCI_MSI_IRQ_DOMAIN
197 help
198 Say Y here if you want PCIe MSI support for the Altera FPGA.
199 This MSI driver supports Altera MSI to GIC controller IP.
200
500a1d9a
ZW
201config PCI_HISI
202 depends on OF && ARM64
5930fe4e 203 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
500a1d9a
ZW
204 select PCIEPORTBUS
205 select PCIE_DW
206 help
5930fe4e
GP
207 Say Y here if you want PCIe controller support on HiSilicon
208 Hip05 and Hip06 SoCs
500a1d9a 209
82a82383
SV
210config PCIE_QCOM
211 bool "Qualcomm PCIe controller"
212 depends on ARCH_QCOM && OF
213 select PCIE_DW
214 select PCIEPORTBUS
215 help
216 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
217 PCIe controller uses the Designware core plus Qualcomm-specific
218 hardware wrappers.
500a1d9a 219
f12b76e5
DD
220config PCI_HOST_THUNDER_PEM
221 bool "Cavium Thunder PCIe controller to off-chip devices"
222 depends on OF && ARM64
223 select PCI_HOST_COMMON
224 help
225 Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
226
7b6e7ba8
DD
227config PCI_HOST_THUNDER_ECAM
228 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
229 depends on OF && ARM64
230 select PCI_HOST_COMMON
231 help
232 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
233
45361a4f 234endmenu