blob: 474f304ec109361c59bbd76eb7cf31c8f53a5e40 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Alan Tull6a8c3be2015-10-07 16:36:28 +01002#
3# FPGA framework configuration
4#
5
Vincent Legoll50fa0282017-06-14 10:36:26 -05006menuconfig FPGA
Alan Tull6a8c3be2015-10-07 16:36:28 +01007 tristate "FPGA Configuration Framework"
8 help
9 Say Y here if you want support for configuring FPGAs from the
10 kernel. The FPGA framework adds a FPGA manager class and FPGA
11 manager drivers.
12
Alan Tullfab62662015-10-07 16:36:29 +010013if FPGA
14
15config FPGA_MGR_SOCFPGA
16 tristate "Altera SOCFPGA FPGA Manager"
Jason Gunthorpea0e1b612016-11-21 22:26:42 +000017 depends on ARCH_SOCFPGA || COMPILE_TEST
Alan Tullfab62662015-10-07 16:36:29 +010018 help
19 FPGA manager driver support for Altera SOCFPGA.
20
Alan Tullacbb910a2016-11-01 14:14:32 -050021config FPGA_MGR_SOCFPGA_A10
22 tristate "Altera SoCFPGA Arria10"
Jason Gunthorpea0e1b612016-11-21 22:26:42 +000023 depends on ARCH_SOCFPGA || COMPILE_TEST
24 select REGMAP_MMIO
Alan Tullacbb910a2016-11-01 14:14:32 -050025 help
26 FPGA manager driver support for Altera Arria10 SoCFPGA.
27
Alan Tull84e93f12017-11-15 14:20:27 -060028config ALTERA_PR_IP_CORE
Enrico Weigelt786285f2019-06-18 21:24:39 -070029 tristate "Altera Partial Reconfiguration IP Core"
30 help
31 Core driver support for Altera Partial Reconfiguration IP component
Alan Tull84e93f12017-11-15 14:20:27 -060032
33config ALTERA_PR_IP_CORE_PLAT
34 tristate "Platform support of Altera Partial Reconfiguration IP Core"
35 depends on ALTERA_PR_IP_CORE && OF && HAS_IOMEM
Florian Fainelli4348f7e2017-02-27 16:14:22 -060036 help
Alan Tull84e93f12017-11-15 14:20:27 -060037 Platform driver support for Altera Partial Reconfiguration IP
38 component
39
40config FPGA_MGR_ALTERA_PS_SPI
41 tristate "Altera FPGA Passive Serial over SPI"
42 depends on SPI
43 help
44 FPGA manager driver support for Altera Arria/Cyclone/Stratix
45 using the passive serial interface over SPI.
46
47config FPGA_MGR_ALTERA_CVP
48 tristate "Altera Arria-V/Cyclone-V/Stratix-V CvP FPGA Manager"
49 depends on PCI
50 help
51 FPGA manager driver support for Arria-V, Cyclone-V, Stratix-V
52 and Arria 10 Altera FPGAs using the CvP interface over PCIe.
53
54config FPGA_MGR_ZYNQ_FPGA
55 tristate "Xilinx Zynq FPGA"
56 depends on ARCH_ZYNQ || COMPILE_TEST
Alan Tull84e93f12017-11-15 14:20:27 -060057 help
58 FPGA manager driver support for Xilinx Zynq FPGAs.
Florian Fainelli4348f7e2017-02-27 16:14:22 -060059
Alan Tulle7eef1d2018-11-13 12:14:04 -060060config FPGA_MGR_STRATIX10_SOC
61 tristate "Intel Stratix10 SoC FPGA Manager"
62 depends on (ARCH_STRATIX10 && INTEL_STRATIX10_SERVICE)
63 help
64 FPGA manager driver support for the Intel Stratix10 SoC.
65
Anatolij Gustschin061c97d2017-03-23 19:34:26 -050066config FPGA_MGR_XILINX_SPI
67 tristate "Xilinx Configuration over Slave Serial (SPI)"
68 depends on SPI
69 help
70 FPGA manager driver support for Xilinx FPGA configuration
71 over slave serial interface.
72
Alan Tull84e93f12017-11-15 14:20:27 -060073config FPGA_MGR_ICE40_SPI
74 tristate "Lattice iCE40 SPI"
75 depends on OF && SPI
Moritz Fischer37784702015-10-16 15:42:30 -070076 help
Alan Tull84e93f12017-11-15 14:20:27 -060077 FPGA manager driver support for Lattice iCE40 FPGAs over SPI.
78
Paolo Pisati88fb3a02018-04-16 20:43:36 -070079config FPGA_MGR_MACHXO2_SPI
80 tristate "Lattice MachXO2 SPI"
81 depends on SPI
82 help
83 FPGA manager driver support for Lattice MachXO2 configuration
84 over slave SPI interface.
85
Alan Tull84e93f12017-11-15 14:20:27 -060086config FPGA_MGR_TS73XX
87 tristate "Technologic Systems TS-73xx SBC FPGA Manager"
88 depends on ARCH_EP93XX && MACH_TS72XX
89 help
90 FPGA manager driver support for the Altera Cyclone II FPGA
91 present on the TS-73xx SBC boards.
Moritz Fischer37784702015-10-16 15:42:30 -070092
Alan Tull21aeda92016-11-01 14:14:28 -050093config FPGA_BRIDGE
94 tristate "FPGA Bridge Framework"
Alan Tull21aeda92016-11-01 14:14:28 -050095 help
96 Say Y here if you want to support bridges connected between host
97 processors and FPGAs or between FPGAs.
98
Alan Tulle5f8efa2016-11-01 14:14:30 -050099config SOCFPGA_FPGA_BRIDGE
100 tristate "Altera SoCFPGA FPGA Bridges"
101 depends on ARCH_SOCFPGA && FPGA_BRIDGE
102 help
103 Say Y to enable drivers for FPGA bridges for Altera SOCFPGA
104 devices.
105
Alan Tullca24a642016-11-01 14:14:31 -0500106config ALTERA_FREEZE_BRIDGE
107 tristate "Altera FPGA Freeze Bridge"
Alan Tull38cd7ad2019-01-24 14:45:53 -0600108 depends on FPGA_BRIDGE && HAS_IOMEM
Alan Tullca24a642016-11-01 14:14:31 -0500109 help
110 Say Y to enable drivers for Altera FPGA Freeze bridges. A
111 freeze bridge is a bridge that exists in the FPGA fabric to
112 isolate one region of the FPGA from the busses while that
113 region is being reprogrammed.
114
Moritz Fischer7e961c12017-03-24 10:33:21 -0500115config XILINX_PR_DECOUPLER
116 tristate "Xilinx LogiCORE PR Decoupler"
117 depends on FPGA_BRIDGE
118 depends on HAS_IOMEM
119 help
120 Say Y to enable drivers for Xilinx LogiCORE PR Decoupler.
121 The PR Decoupler exists in the FPGA fabric to isolate one
122 region of the FPGA from the busses while that region is
123 being reprogrammed during partial reconfig.
124
Alan Tull84e93f12017-11-15 14:20:27 -0600125config FPGA_REGION
126 tristate "FPGA Region"
127 depends on FPGA_BRIDGE
128 help
129 FPGA Region common code. A FPGA Region controls a FPGA Manager
130 and the FPGA Bridges associated with either a reconfigurable
131 region of an FPGA or a whole FPGA.
132
133config OF_FPGA_REGION
134 tristate "FPGA Region Device Tree Overlay Support"
135 depends on OF && FPGA_REGION
136 help
137 Support for loading FPGA images by applying a Device Tree
138 overlay.
139
Wu Hao543be3d2018-06-30 08:53:13 +0800140config FPGA_DFL
141 tristate "FPGA Device Feature List (DFL) support"
142 select FPGA_BRIDGE
143 select FPGA_REGION
144 help
145 Device Feature List (DFL) defines a feature list structure that
146 creates a linked list of feature headers within the MMIO space
147 to provide an extensible way of adding features for FPGA.
148 Driver can walk through the feature headers to enumerate feature
149 devices (e.g. FPGA Management Engine, Port and Accelerator
150 Function Unit) and their private features for target FPGA devices.
151
152 Select this option to enable common support for Field-Programmable
153 Gate Array (FPGA) solutions which implement Device Feature List.
154 It provides enumeration APIs and feature device infrastructure.
155
Kang Luwei322ddeb2018-06-30 08:53:21 +0800156config FPGA_DFL_FME
157 tristate "FPGA DFL FME Driver"
158 depends on FPGA_DFL
159 help
160 The FPGA Management Engine (FME) is a feature device implemented
161 under Device Feature List (DFL) framework. Select this option to
162 enable the platform device driver for FME which implements all
163 FPGA platform level management features. There shall be one FME
164 per DFL based FPGA device.
165
Wu Haoaf275ec2018-06-30 08:53:25 +0800166config FPGA_DFL_FME_MGR
167 tristate "FPGA DFL FME Manager Driver"
168 depends on FPGA_DFL_FME && HAS_IOMEM
169 help
170 Say Y to enable FPGA Manager driver for FPGA Management Engine.
171
Wu Haode892df2018-06-30 08:53:27 +0800172config FPGA_DFL_FME_BRIDGE
173 tristate "FPGA DFL FME Bridge Driver"
174 depends on FPGA_DFL_FME && HAS_IOMEM
175 help
176 Say Y to enable FPGA Bridge driver for FPGA Management Engine.
177
Wu Haobb61b9b2018-06-30 08:53:28 +0800178config FPGA_DFL_FME_REGION
179 tristate "FPGA DFL FME Region Driver"
180 depends on FPGA_DFL_FME && HAS_IOMEM
181 help
182 Say Y to enable FPGA Region driver for FPGA Management Engine.
183
Wu Hao1a1527c2018-06-30 08:53:30 +0800184config FPGA_DFL_AFU
185 tristate "FPGA DFL AFU Driver"
186 depends on FPGA_DFL
187 help
188 This is the driver for FPGA Accelerated Function Unit (AFU) which
189 implements AFU and Port management features. A User AFU connects
190 to the FPGA infrastructure via a Port. There may be more than one
191 Port/AFU per DFL based FPGA device.
192
Zhang Yi72ddd9f2018-06-30 08:53:19 +0800193config FPGA_DFL_PCI
194 tristate "FPGA DFL PCIe Device Driver"
195 depends on PCI && FPGA_DFL
196 help
197 Select this option to enable PCIe driver for PCIe-based
198 Field-Programmable Gate Array (FPGA) solutions which implement
199 the Device Feature List (DFL). This driver provides interfaces
200 for userspace applications to configure, enumerate, open and access
201 FPGA accelerators on the FPGA DFL devices, enables system level
202 management functions such as FPGA partial reconfiguration, power
203 management and virtualization with DFL framework and DFL feature
204 device drivers.
205
206 To compile this as a module, choose M here.
207
Nava kishore Mannec09f7472019-04-15 12:47:48 +0530208config FPGA_MGR_ZYNQMP_FPGA
209 tristate "Xilinx ZynqMP FPGA"
210 depends on ARCH_ZYNQMP || COMPILE_TEST
211 help
212 FPGA manager driver support for Xilinx ZynqMP FPGAs.
213 This driver uses the processor configuration port(PCAP)
214 to configure the programmable logic(PL) through PS
215 on ZynqMP SoC.
216
Alan Tullfab62662015-10-07 16:36:29 +0100217endif # FPGA