]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/pci/host/Kconfig
Merge branches 'pci/demodularize-hosts' and 'pci/host-request-windows' into next
[karo-tx-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         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