Merge branch 'pci/resource' into next
[cascardo/linux.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         select PCIE_DW
7         depends on OF && HAS_IOMEM && TI_PIPE3
8         depends on BROKEN
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 OF
18
19
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
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
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
50 config PCI_IMX6
51         bool "Freescale i.MX6 PCIe controller"
52         depends on SOC_IMX6Q
53         select PCIEPORTBUS
54         select PCIE_DW
55
56 config PCI_TEGRA
57         bool "NVIDIA Tegra PCIe controller"
58         depends on ARCH_TEGRA && !ARM64
59         help
60           Say Y here if you want support for the PCIe host controller found
61           on NVIDIA Tegra SoCs.
62
63 config PCI_RCAR_GEN2
64         bool "Renesas R-Car Gen2 Internal PCI controller"
65         depends on ARM
66         depends on ARCH_RENESAS || COMPILE_TEST
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
72 config PCI_RCAR_GEN2_PCIE
73         bool "Renesas R-Car PCIe controller"
74         depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
75         help
76           Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
77
78 config PCI_HOST_COMMON
79         bool
80
81 config PCI_HOST_GENERIC
82         bool "Generic PCI host controller"
83         depends on (ARM || ARM64) && OF
84         select PCI_HOST_COMMON
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
89 config PCIE_SPEAR13XX
90         bool "STMicroelectronics SPEAr PCIe controller"
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
97 config 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.
107
108 config PCIE_XILINX
109         bool "Xilinx AXI PCIe host bridge support"
110         depends on ARCH_ZYNQ || MICROBLAZE
111         help
112           Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
113           Host Bridge driver.
114
115 config PCI_XGENE
116         bool "X-Gene PCIe controller"
117         depends on ARCH_XGENE
118         depends on OF
119         select PCIEPORTBUS
120         select PCI_MSI_IRQ_DOMAIN if PCI_MSI
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
126 config 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
134 config PCI_LAYERSCAPE
135         bool "Freescale Layerscape PCIe controller"
136         depends on OF && (ARM || ARCH_LAYERSCAPE)
137         select PCIE_DW
138         select MFD_SYSCON
139         help
140           Say Y here if you want PCIe controller support on Layerscape SoCs.
141
142 config PCI_VERSATILE
143         bool "ARM Versatile PB PCI controller"
144         depends on ARCH_VERSATILE
145
146 config PCIE_IPROC
147         tristate
148         help
149           This enables the iProc PCIe core controller support for Broadcom's
150           iProc family of SoCs. An appropriate bus interface driver needs
151           to be enabled to select this.
152
153 config 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
163 config PCIE_IPROC_BCMA
164         tristate "Broadcom iProc PCIe BCMA bus driver"
165         depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
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
174 config 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
184 config 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
193 config 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
201 config PCI_HISI
202         depends on OF && ARM64
203         bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
204         select PCIEPORTBUS
205         select PCIE_DW
206         help
207           Say Y here if you want PCIe controller support on HiSilicon
208           Hip05 and Hip06 SoCs
209
210 config 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.
219
220 config 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
227 config 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
234 endmenu