drm/nouveau: fix kernel-doc comments
[drm/drm-misc.git] / drivers / fpga / Kconfig
blob37b35f58f0dfb6209c2d1419bc9145237dfaea0b
1 # SPDX-License-Identifier: GPL-2.0-only
3 # FPGA framework configuration
6 menuconfig FPGA
7         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 an FPGA manager class and FPGA
11           manager drivers.
13 if FPGA
15 config FPGA_MGR_SOCFPGA
16         tristate "Altera SOCFPGA FPGA Manager"
17         depends on ARCH_INTEL_SOCFPGA || COMPILE_TEST
18         help
19           FPGA manager driver support for Altera SOCFPGA.
21 config FPGA_MGR_SOCFPGA_A10
22         tristate "Altera SoCFPGA Arria10"
23         depends on ARCH_INTEL_SOCFPGA || COMPILE_TEST
24         select REGMAP_MMIO
25         help
26           FPGA manager driver support for Altera Arria10 SoCFPGA.
28 config ALTERA_PR_IP_CORE
29         tristate "Altera Partial Reconfiguration IP Core"
30         help
31           Core driver support for Altera Partial Reconfiguration IP component
33 config 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
36         help
37           Platform driver support for Altera Partial Reconfiguration IP
38           component
40 config FPGA_MGR_ALTERA_PS_SPI
41         tristate "Altera FPGA Passive Serial over SPI"
42         depends on SPI
43         select BITREVERSE
44         help
45           FPGA manager driver support for Altera Arria/Cyclone/Stratix
46           using the passive serial interface over SPI.
48 config FPGA_MGR_ALTERA_CVP
49         tristate "Altera CvP FPGA Manager"
50         depends on PCI
51         help
52           FPGA manager driver support for Arria-V, Cyclone-V, Stratix-V,
53           Arria 10 and Stratix10 Altera FPGAs using the CvP interface over PCIe.
55 config FPGA_MGR_ZYNQ_FPGA
56         tristate "Xilinx Zynq FPGA"
57         depends on ARCH_ZYNQ || COMPILE_TEST
58         help
59           FPGA manager driver support for Xilinx Zynq FPGAs.
61 config FPGA_MGR_STRATIX10_SOC
62         tristate "Intel Stratix10 SoC FPGA Manager"
63         depends on (ARCH_INTEL_SOCFPGA && INTEL_STRATIX10_SERVICE)
64         help
65           FPGA manager driver support for the Intel Stratix10 SoC.
67 config FPGA_MGR_XILINX_CORE
68         tristate
70 config FPGA_MGR_XILINX_SELECTMAP
71         tristate "Xilinx Configuration over SelectMAP"
72         depends on HAS_IOMEM
73         select FPGA_MGR_XILINX_CORE
74         help
75           FPGA manager driver support for Xilinx FPGA configuration
76           over SelectMAP interface.
78 config FPGA_MGR_XILINX_SPI
79         tristate "Xilinx Configuration over Slave Serial (SPI)"
80         depends on SPI
81         select FPGA_MGR_XILINX_CORE
82         help
83           FPGA manager driver support for Xilinx FPGA configuration
84           over slave serial interface.
86 config FPGA_MGR_ICE40_SPI
87         tristate "Lattice iCE40 SPI"
88         depends on OF && SPI
89         help
90           FPGA manager driver support for Lattice iCE40 FPGAs over SPI.
92 config FPGA_MGR_MACHXO2_SPI
93         tristate "Lattice MachXO2 SPI"
94         depends on SPI
95         help
96           FPGA manager driver support for Lattice MachXO2 configuration
97           over slave SPI interface.
99 config FPGA_MGR_TS73XX
100         tristate "Technologic Systems TS-73xx SBC FPGA Manager"
101         depends on ARCH_EP93XX && MACH_TS72XX
102         help
103           FPGA manager driver support for the Altera Cyclone II FPGA
104           present on the TS-73xx SBC boards.
106 config FPGA_BRIDGE
107         tristate "FPGA Bridge Framework"
108         help
109           Say Y here if you want to support bridges connected between host
110           processors and FPGAs or between FPGAs.
112 config SOCFPGA_FPGA_BRIDGE
113         tristate "Altera SoCFPGA FPGA Bridges"
114         depends on ARCH_INTEL_SOCFPGA && FPGA_BRIDGE
115         help
116           Say Y to enable drivers for FPGA bridges for Altera SOCFPGA
117           devices.
119 config ALTERA_FREEZE_BRIDGE
120         tristate "Altera FPGA Freeze Bridge"
121         depends on FPGA_BRIDGE && HAS_IOMEM
122         help
123           Say Y to enable drivers for Altera FPGA Freeze bridges.  A
124           freeze bridge is a bridge that exists in the FPGA fabric to
125           isolate one region of the FPGA from the busses while that
126           region is being reprogrammed.
128 config XILINX_PR_DECOUPLER
129         tristate "Xilinx LogiCORE PR Decoupler"
130         depends on FPGA_BRIDGE
131         depends on HAS_IOMEM
132         help
133           Say Y to enable drivers for Xilinx LogiCORE PR Decoupler
134           or Xilinx Dynamic Function eXchange AIX Shutdown Manager.
135           The PR Decoupler exists in the FPGA fabric to isolate one
136           region of the FPGA from the busses while that region is
137           being reprogrammed during partial reconfig.
138           The Dynamic Function eXchange AXI shutdown manager prevents
139           AXI traffic from passing through the bridge. The controller
140           safely handles AXI4MM and AXI4-Lite interfaces on a
141           Reconfigurable Partition when it is undergoing dynamic
142           reconfiguration, preventing the system deadlock that can
143           occur if AXI transactions are interrupted by DFX.
145 config FPGA_REGION
146         tristate "FPGA Region"
147         depends on FPGA_BRIDGE
148         help
149           FPGA Region common code.  An FPGA Region controls an FPGA Manager
150           and the FPGA Bridges associated with either a reconfigurable
151           region of an FPGA or a whole FPGA.
153 config OF_FPGA_REGION
154         tristate "FPGA Region Device Tree Overlay Support"
155         depends on OF && FPGA_REGION
156         help
157           Support for loading FPGA images by applying a Device Tree
158           overlay.
160 config FPGA_DFL
161         tristate "FPGA Device Feature List (DFL) support"
162         select FPGA_BRIDGE
163         select FPGA_REGION
164         depends on HAS_IOMEM
165         help
166           Device Feature List (DFL) defines a feature list structure that
167           creates a linked list of feature headers within the MMIO space
168           to provide an extensible way of adding features for FPGA.
169           Driver can walk through the feature headers to enumerate feature
170           devices (e.g. FPGA Management Engine, Port and Accelerator
171           Function Unit) and their private features for target FPGA devices.
173           Select this option to enable common support for Field-Programmable
174           Gate Array (FPGA) solutions which implement Device Feature List.
175           It provides enumeration APIs and feature device infrastructure.
177 config FPGA_DFL_FME
178         tristate "FPGA DFL FME Driver"
179         depends on FPGA_DFL && HWMON && PERF_EVENTS
180         help
181           The FPGA Management Engine (FME) is a feature device implemented
182           under Device Feature List (DFL) framework. Select this option to
183           enable the platform device driver for FME which implements all
184           FPGA platform level management features. There shall be one FME
185           per DFL based FPGA device.
187 config FPGA_DFL_FME_MGR
188         tristate "FPGA DFL FME Manager Driver"
189         depends on FPGA_DFL_FME && HAS_IOMEM
190         help
191           Say Y to enable FPGA Manager driver for FPGA Management Engine.
193 config FPGA_DFL_FME_BRIDGE
194         tristate "FPGA DFL FME Bridge Driver"
195         depends on FPGA_DFL_FME && HAS_IOMEM
196         help
197           Say Y to enable FPGA Bridge driver for FPGA Management Engine.
199 config FPGA_DFL_FME_REGION
200         tristate "FPGA DFL FME Region Driver"
201         depends on FPGA_DFL_FME && HAS_IOMEM
202         help
203           Say Y to enable FPGA Region driver for FPGA Management Engine.
205 config FPGA_DFL_AFU
206         tristate "FPGA DFL AFU Driver"
207         depends on FPGA_DFL
208         help
209           This is the driver for FPGA Accelerated Function Unit (AFU) which
210           implements AFU and Port management features. A User AFU connects
211           to the FPGA infrastructure via a Port. There may be more than one
212           Port/AFU per DFL based FPGA device.
214 config FPGA_DFL_NIOS_INTEL_PAC_N3000
215         tristate "FPGA DFL NIOS Driver for Intel PAC N3000"
216         depends on FPGA_DFL
217         select REGMAP
218         help
219           This is the driver for the N3000 Nios private feature on Intel
220           PAC (Programmable Acceleration Card) N3000. It communicates
221           with the embedded Nios processor to configure the retimers on
222           the card. It also instantiates the SPI master (spi-altera) for
223           the card's BMC (Board Management Controller).
225 config FPGA_DFL_PCI
226         tristate "FPGA DFL PCIe Device Driver"
227         depends on PCI && FPGA_DFL
228         help
229           Select this option to enable PCIe driver for PCIe-based
230           Field-Programmable Gate Array (FPGA) solutions which implement
231           the Device Feature List (DFL). This driver provides interfaces
232           for userspace applications to configure, enumerate, open and access
233           FPGA accelerators on the FPGA DFL devices, enables system level
234           management functions such as FPGA partial reconfiguration, power
235           management and virtualization with DFL framework and DFL feature
236           device drivers.
238           To compile this as a module, choose M here.
240 config FPGA_MGR_ZYNQMP_FPGA
241         tristate "Xilinx ZynqMP FPGA"
242         depends on ZYNQMP_FIRMWARE || (!ZYNQMP_FIRMWARE && COMPILE_TEST)
243         help
244           FPGA manager driver support for Xilinx ZynqMP FPGAs.
245           This driver uses the processor configuration port(PCAP)
246           to configure the programmable logic(PL) through PS
247           on ZynqMP SoC.
249 config FPGA_MGR_VERSAL_FPGA
250         tristate "Xilinx Versal FPGA"
251         depends on ARCH_ZYNQMP || COMPILE_TEST
252         help
253           Select this option to enable FPGA manager driver support for
254           Xilinx Versal SoC. This driver uses the firmware interface to
255           configure the programmable logic(PL).
257           To compile this as a module, choose M here.
259 config FPGA_M10_BMC_SEC_UPDATE
260         tristate "Intel MAX10 BMC Secure Update driver"
261         depends on MFD_INTEL_M10_BMC_CORE
262         select FW_LOADER
263         select FW_UPLOAD
264         help
265           Secure update support for the Intel MAX10 board management
266           controller.
268           This is a subdriver of the Intel MAX10 board management controller
269           (BMC) and provides support for secure updates for the BMC image,
270           the FPGA image, the Root Entry Hashes, etc.
272 config FPGA_MGR_MICROCHIP_SPI
273         tristate "Microchip Polarfire SPI FPGA manager"
274         depends on SPI
275         help
276           FPGA manager driver support for Microchip Polarfire FPGAs
277           programming over slave SPI interface with .dat formatted
278           bitstream image.
280 config FPGA_MGR_LATTICE_SYSCONFIG
281         tristate
283 config FPGA_MGR_LATTICE_SYSCONFIG_SPI
284         tristate "Lattice sysCONFIG SPI FPGA manager"
285         depends on SPI
286         select FPGA_MGR_LATTICE_SYSCONFIG
287         help
288           FPGA manager driver support for Lattice FPGAs programming over slave
289           SPI sysCONFIG interface.
291 source "drivers/fpga/tests/Kconfig"
293 endif # FPGA