• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1menu "PCI host controller drivers"
2	depends on PCI
3
4config PCI_MVEBU
5	bool "Marvell EBU PCIe controller"
6	depends on ARCH_MVEBU || ARCH_DOVE
7	depends on ARM
8	depends on OF
9
10config PCI_AARDVARK
11	bool "Aardvark PCIe controller"
12	depends on ARCH_MVEBU && ARM64
13	depends on OF
14	depends on PCI_MSI_IRQ_DOMAIN
15	help
16	 Add support for Aardvark 64bit PCIe Host Controller. This
17	 controller is part of the South Bridge of the Marvel Armada
18	 3700 SoC.
19
20config PCIE_XILINX_NWL
21	bool "NWL PCIe Core"
22	depends on ARCH_ZYNQMP
23	depends on PCI_MSI_IRQ_DOMAIN
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
30config PCI_FTPCI100
31	bool "Faraday Technology FTPCI100 PCI controller"
32	depends on OF
33	depends on ARM
34	default ARCH_GEMINI
35
36config PCI_TEGRA
37	bool "NVIDIA Tegra PCIe controller"
38	depends on ARCH_TEGRA
39	help
40	  Say Y here if you want support for the PCIe host controller found
41	  on NVIDIA Tegra SoCs.
42
43config PCI_RCAR_GEN2
44	bool "Renesas R-Car Gen2 Internal PCI controller"
45	depends on ARM
46	depends on ARCH_RENESAS || COMPILE_TEST
47	help
48	  Say Y here if you want internal PCI support on R-Car Gen2 SoC.
49	  There are 3 internal PCI controllers available with a single
50	  built-in EHCI/OHCI host controller present on each one.
51
52config PCIE_RCAR
53	bool "Renesas R-Car PCIe controller"
54	depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
55	depends on PCI_MSI_IRQ_DOMAIN
56	help
57	  Say Y here if you want PCIe controller support on R-Car SoCs.
58
59config PCI_HOST_COMMON
60	bool
61	select PCI_ECAM
62
63config PCI_HOST_GENERIC
64	bool "Generic PCI host controller"
65	depends on (ARM || ARM64) && OF
66	select PCI_HOST_COMMON
67	select IRQ_DOMAIN
68	help
69	  Say Y here if you want to support a simple generic PCI host
70	  controller, such as the one emulated by kvmtool.
71
72config PCIE_XILINX
73	bool "Xilinx AXI PCIe host bridge support"
74	depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC)
75	help
76	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
77	  Host Bridge driver.
78
79config PCI_XGENE
80	bool "X-Gene PCIe controller"
81	depends on ARM64
82	depends on OF || (ACPI && PCI_QUIRKS)
83	select PCIEPORTBUS
84	help
85	  Say Y here if you want internal PCI support on APM X-Gene SoC.
86	  There are 5 internal PCIe ports available. Each port is GEN3 capable
87	  and have varied lanes from x1 to x8.
88
89config PCI_XGENE_MSI
90	bool "X-Gene v1 PCIe MSI feature"
91	depends on PCI_XGENE
92	depends on PCI_MSI_IRQ_DOMAIN
93	default y
94	help
95	  Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
96	  This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
97
98config PCI_VERSATILE
99	bool "ARM Versatile PB PCI controller"
100	depends on ARCH_VERSATILE
101
102config PCIE_IPROC
103	tristate
104	select PCI_DOMAINS
105	help
106	  This enables the iProc PCIe core controller support for Broadcom's
107	  iProc family of SoCs. An appropriate bus interface driver needs
108	  to be enabled to select this.
109
110config PCIE_IPROC_PLATFORM
111	tristate "Broadcom iProc PCIe platform bus driver"
112	depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
113	depends on OF
114	select PCIE_IPROC
115	default ARCH_BCM_IPROC
116	help
117	  Say Y here if you want to use the Broadcom iProc PCIe controller
118	  through the generic platform bus interface
119
120config PCIE_IPROC_BCMA
121	tristate "Broadcom iProc PCIe BCMA bus driver"
122	depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
123	select PCIE_IPROC
124	select BCMA
125	default ARCH_BCM_5301X
126	help
127	  Say Y here if you want to use the Broadcom iProc PCIe controller
128	  through the BCMA bus interface
129
130config PCIE_IPROC_MSI
131	bool "Broadcom iProc PCIe MSI support"
132	depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
133	depends on PCI_MSI_IRQ_DOMAIN
134	default ARCH_BCM_IPROC
135	help
136	  Say Y here if you want to enable MSI support for Broadcom's iProc
137	  PCIe controller
138
139config PCIE_ALTERA
140	bool "Altera PCIe controller"
141	depends on ARM || NIOS2
142	depends on OF_PCI
143	select PCI_DOMAINS
144	help
145	  Say Y here if you want to enable PCIe controller support on Altera
146	  FPGA.
147
148config PCIE_ALTERA_MSI
149	bool "Altera PCIe MSI feature"
150	depends on PCIE_ALTERA
151	depends on PCI_MSI_IRQ_DOMAIN
152	help
153	  Say Y here if you want PCIe MSI support for the Altera FPGA.
154	  This MSI driver supports Altera MSI to GIC controller IP.
155
156config PCI_HOST_THUNDER_PEM
157	bool "Cavium Thunder PCIe controller to off-chip devices"
158	depends on ARM64
159	depends on OF || (ACPI && PCI_QUIRKS)
160	select PCI_HOST_COMMON
161	help
162	  Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
163
164config PCI_HOST_THUNDER_ECAM
165	bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
166	depends on ARM64
167	depends on OF || (ACPI && PCI_QUIRKS)
168	select PCI_HOST_COMMON
169	help
170	  Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
171
172config PCIE_ROCKCHIP
173	tristate "Rockchip PCIe controller"
174	depends on ARCH_ROCKCHIP || COMPILE_TEST
175	depends on OF
176	depends on PCI_MSI_IRQ_DOMAIN
177	select MFD_SYSCON
178	help
179	  Say Y here if you want internal PCI support on Rockchip SoC.
180	  There is 1 internal PCIe port available to support GEN2 with
181	  4 slots.
182
183config PCIE_MEDIATEK
184	bool "MediaTek PCIe controller"
185	depends on (ARM || ARM64) && (ARCH_MEDIATEK || COMPILE_TEST)
186	depends on OF
187	depends on PCI
188	select PCIEPORTBUS
189	help
190	  Say Y here if you want to enable PCIe controller support on
191	  MediaTek SoCs.
192
193config PCIE_TANGO_SMP8759
194	bool "Tango SMP8759 PCIe controller (DANGEROUS)"
195	depends on ARCH_TANGO && PCI_MSI && OF
196	depends on BROKEN
197	select PCI_HOST_COMMON
198	help
199	  Say Y here to enable PCIe controller support for Sigma Designs
200	  Tango SMP8759-based systems.
201
202	  Note: The SMP8759 controller multiplexes PCI config and MMIO
203	  accesses, and Linux doesn't provide a way to serialize them.
204	  This can lead to data corruption if drivers perform concurrent
205	  config and MMIO accesses.
206
207config VMD
208	depends on PCI_MSI && X86_64 && SRCU
209	tristate "Intel Volume Management Device Driver"
210	default N
211	---help---
212	  Adds support for the Intel Volume Management Device (VMD). VMD is a
213	  secondary PCI host bridge that allows PCI Express root ports,
214	  and devices attached to them, to be removed from the default
215	  PCI domain and placed within the VMD domain. This provides
216	  more bus resources than are otherwise possible with a
217	  single domain. If you know your system provides one of these and
218	  has devices attached to it, say Y; if you are not sure, say N.
219
220	  To compile this driver as a module, choose M here: the
221	  module will be called vmd.
222
223endmenu
224