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