Merge tag 'pm+acpi-4.6-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[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 ARM
18         depends on OF
19
20 config PCIE_DW
21         bool
22
23 config PCI_EXYNOS
24         bool "Samsung Exynos PCIe controller"
25         depends on SOC_EXYNOS5440
26         select PCIEPORTBUS
27         select PCIE_DW
28
29 config PCI_IMX6
30         bool "Freescale i.MX6 PCIe controller"
31         depends on SOC_IMX6Q
32         select PCIEPORTBUS
33         select PCIE_DW
34
35 config PCI_TEGRA
36         bool "NVIDIA Tegra PCIe controller"
37         depends on ARCH_TEGRA && !ARM64
38         help
39           Say Y here if you want support for the PCIe host controller found
40           on NVIDIA Tegra SoCs.
41
42 config PCI_RCAR_GEN2
43         bool "Renesas R-Car Gen2 Internal PCI controller"
44         depends on ARM
45         depends on ARCH_SHMOBILE || COMPILE_TEST
46         help
47           Say Y here if you want internal PCI support on R-Car Gen2 SoC.
48           There are 3 internal PCI controllers available with a single
49           built-in EHCI/OHCI host controller present on each one.
50
51 config PCI_RCAR_GEN2_PCIE
52         bool "Renesas R-Car PCIe controller"
53         depends on ARCH_SHMOBILE || (ARM && COMPILE_TEST)
54         help
55           Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
56
57 config PCI_HOST_GENERIC
58         bool "Generic PCI host controller"
59         depends on (ARM || ARM64) && OF
60         help
61           Say Y here if you want to support a simple generic PCI host
62           controller, such as the one emulated by kvmtool.
63
64 config PCIE_SPEAR13XX
65         bool "STMicroelectronics SPEAr PCIe controller"
66         depends on ARCH_SPEAR13XX
67         select PCIEPORTBUS
68         select PCIE_DW
69         help
70           Say Y here if you want PCIe support on SPEAr13XX SoCs.
71
72 config PCI_KEYSTONE
73         bool "TI Keystone PCIe controller"
74         depends on ARCH_KEYSTONE
75         select PCIE_DW
76         select PCIEPORTBUS
77         help
78           Say Y here if you want to enable PCI controller support on Keystone
79           SoCs. The PCI controller on Keystone is based on Designware hardware
80           and therefore the driver re-uses the Designware core functions to
81           implement the driver.
82
83 config PCIE_XILINX
84         bool "Xilinx AXI PCIe host bridge support"
85         depends on ARCH_ZYNQ
86         help
87           Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
88           Host Bridge driver.
89
90 config PCI_XGENE
91         bool "X-Gene PCIe controller"
92         depends on ARCH_XGENE
93         depends on OF
94         select PCIEPORTBUS
95         select PCI_MSI_IRQ_DOMAIN if PCI_MSI
96         help
97           Say Y here if you want internal PCI support on APM X-Gene SoC.
98           There are 5 internal PCIe ports available. Each port is GEN3 capable
99           and have varied lanes from x1 to x8.
100
101 config PCI_XGENE_MSI
102         bool "X-Gene v1 PCIe MSI feature"
103         depends on PCI_XGENE && PCI_MSI
104         default y
105         help
106           Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
107           This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
108
109 config PCI_LAYERSCAPE
110         bool "Freescale Layerscape PCIe controller"
111         depends on OF && (ARM || ARCH_LAYERSCAPE)
112         select PCIE_DW
113         select MFD_SYSCON
114         help
115           Say Y here if you want PCIe controller support on Layerscape SoCs.
116
117 config PCI_VERSATILE
118         bool "ARM Versatile PB PCI controller"
119         depends on ARCH_VERSATILE
120
121 config PCIE_IPROC
122         tristate
123         help
124           This enables the iProc PCIe core controller support for Broadcom's
125           iProc family of SoCs. An appropriate bus interface driver needs
126           to be enabled to select this.
127
128 config PCIE_IPROC_PLATFORM
129         tristate "Broadcom iProc PCIe platform bus driver"
130         depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
131         depends on OF
132         select PCIE_IPROC
133         default ARCH_BCM_IPROC
134         help
135           Say Y here if you want to use the Broadcom iProc PCIe controller
136           through the generic platform bus interface
137
138 config PCIE_IPROC_BCMA
139         tristate "Broadcom iProc PCIe BCMA bus driver"
140         depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
141         select PCIE_IPROC
142         select BCMA
143         select PCI_DOMAINS
144         default ARCH_BCM_5301X
145         help
146           Say Y here if you want to use the Broadcom iProc PCIe controller
147           through the BCMA bus interface
148
149 config PCIE_IPROC_MSI
150         bool "Broadcom iProc PCIe MSI support"
151         depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
152         depends on PCI_MSI
153         select PCI_MSI_IRQ_DOMAIN
154         default ARCH_BCM_IPROC
155         help
156           Say Y here if you want to enable MSI support for Broadcom's iProc
157           PCIe controller
158
159 config PCIE_ALTERA
160         bool "Altera PCIe controller"
161         depends on ARM || NIOS2
162         depends on OF_PCI
163         select PCI_DOMAINS
164         help
165           Say Y here if you want to enable PCIe controller support on Altera
166           FPGA.
167
168 config PCIE_ALTERA_MSI
169         bool "Altera PCIe MSI feature"
170         depends on PCIE_ALTERA && PCI_MSI
171         select PCI_MSI_IRQ_DOMAIN
172         help
173           Say Y here if you want PCIe MSI support for the Altera FPGA.
174           This MSI driver supports Altera MSI to GIC controller IP.
175
176 config PCI_HISI
177         depends on OF && ARM64
178         bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
179         select PCIEPORTBUS
180         select PCIE_DW
181         help
182           Say Y here if you want PCIe controller support on HiSilicon
183           Hip05 and Hip06 SoCs
184
185 config PCIE_QCOM
186         bool "Qualcomm PCIe controller"
187         depends on ARCH_QCOM && OF
188         select PCIE_DW
189         select PCIEPORTBUS
190         help
191           Say Y here to enable PCIe controller support on Qualcomm SoCs. The
192           PCIe controller uses the Designware core plus Qualcomm-specific
193           hardware wrappers.
194
195 endmenu