WIP FPC-III support
[linux/fpc-iii.git] / drivers / fpga / Kconfig
blobdccedd4f3f61255b9af325325b05777333f37c7f
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 a 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_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_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_STRATIX10 && INTEL_STRATIX10_SERVICE)
64         help
65           FPGA manager driver support for the Intel Stratix10 SoC.
67 config FPGA_MGR_XILINX_SPI
68         tristate "Xilinx Configuration over Slave Serial (SPI)"
69         depends on SPI
70         help
71           FPGA manager driver support for Xilinx FPGA configuration
72           over slave serial interface.
74 config FPGA_MGR_ICE40_SPI
75         tristate "Lattice iCE40 SPI"
76         depends on OF && SPI
77         help
78           FPGA manager driver support for Lattice iCE40 FPGAs over SPI.
80 config FPGA_MGR_MACHXO2_SPI
81         tristate "Lattice MachXO2 SPI"
82         depends on SPI
83         help
84           FPGA manager driver support for Lattice MachXO2 configuration
85           over slave SPI interface.
87 config FPGA_MGR_TS73XX
88         tristate "Technologic Systems TS-73xx SBC FPGA Manager"
89         depends on ARCH_EP93XX && MACH_TS72XX
90         help
91           FPGA manager driver support for the Altera Cyclone II FPGA
92           present on the TS-73xx SBC boards.
94 config FPGA_MGR_LITEX
95         tristate "LiteX ICAPBitstream FPGA Manager"
96         depends on OF && HAS_IOMEM && LITEX_SOC_CONTROLLER
97         help
98           FPGA Manager for LiteX SoC builder that uses ICAPBitstream.
100 config FPGA_BRIDGE
101         tristate "FPGA Bridge Framework"
102         help
103           Say Y here if you want to support bridges connected between host
104           processors and FPGAs or between FPGAs.
106 config SOCFPGA_FPGA_BRIDGE
107         tristate "Altera SoCFPGA FPGA Bridges"
108         depends on ARCH_SOCFPGA && FPGA_BRIDGE
109         help
110           Say Y to enable drivers for FPGA bridges for Altera SOCFPGA
111           devices.
113 config ALTERA_FREEZE_BRIDGE
114         tristate "Altera FPGA Freeze Bridge"
115         depends on FPGA_BRIDGE && HAS_IOMEM
116         help
117           Say Y to enable drivers for Altera FPGA Freeze bridges.  A
118           freeze bridge is a bridge that exists in the FPGA fabric to
119           isolate one region of the FPGA from the busses while that
120           region is being reprogrammed.
122 config XILINX_PR_DECOUPLER
123         tristate "Xilinx LogiCORE PR Decoupler"
124         depends on FPGA_BRIDGE
125         depends on HAS_IOMEM
126         help
127           Say Y to enable drivers for Xilinx LogiCORE PR Decoupler.
128           The PR Decoupler exists in the FPGA fabric to isolate one
129           region of the FPGA from the busses while that region is
130           being reprogrammed during partial reconfig.
132 config FPGA_REGION
133         tristate "FPGA Region"
134         depends on FPGA_BRIDGE
135         help
136           FPGA Region common code.  A FPGA Region controls a FPGA Manager
137           and the FPGA Bridges associated with either a reconfigurable
138           region of an FPGA or a whole FPGA.
140 config OF_FPGA_REGION
141         tristate "FPGA Region Device Tree Overlay Support"
142         depends on OF && FPGA_REGION
143         help
144           Support for loading FPGA images by applying a Device Tree
145           overlay.
147 config FPGA_DFL
148         tristate "FPGA Device Feature List (DFL) support"
149         select FPGA_BRIDGE
150         select FPGA_REGION
151         depends on HAS_IOMEM
152         help
153           Device Feature List (DFL) defines a feature list structure that
154           creates a linked list of feature headers within the MMIO space
155           to provide an extensible way of adding features for FPGA.
156           Driver can walk through the feature headers to enumerate feature
157           devices (e.g. FPGA Management Engine, Port and Accelerator
158           Function Unit) and their private features for target FPGA devices.
160           Select this option to enable common support for Field-Programmable
161           Gate Array (FPGA) solutions which implement Device Feature List.
162           It provides enumeration APIs and feature device infrastructure.
164 config FPGA_DFL_FME
165         tristate "FPGA DFL FME Driver"
166         depends on FPGA_DFL && HWMON && PERF_EVENTS
167         help
168           The FPGA Management Engine (FME) is a feature device implemented
169           under Device Feature List (DFL) framework. Select this option to
170           enable the platform device driver for FME which implements all
171           FPGA platform level management features. There shall be one FME
172           per DFL based FPGA device.
174 config FPGA_DFL_FME_MGR
175         tristate "FPGA DFL FME Manager Driver"
176         depends on FPGA_DFL_FME && HAS_IOMEM
177         help
178           Say Y to enable FPGA Manager driver for FPGA Management Engine.
180 config FPGA_DFL_FME_BRIDGE
181         tristate "FPGA DFL FME Bridge Driver"
182         depends on FPGA_DFL_FME && HAS_IOMEM
183         help
184           Say Y to enable FPGA Bridge driver for FPGA Management Engine.
186 config FPGA_DFL_FME_REGION
187         tristate "FPGA DFL FME Region Driver"
188         depends on FPGA_DFL_FME && HAS_IOMEM
189         help
190           Say Y to enable FPGA Region driver for FPGA Management Engine.
192 config FPGA_DFL_AFU
193         tristate "FPGA DFL AFU Driver"
194         depends on FPGA_DFL
195         help
196           This is the driver for FPGA Accelerated Function Unit (AFU) which
197           implements AFU and Port management features. A User AFU connects
198           to the FPGA infrastructure via a Port. There may be more than one
199           Port/AFU per DFL based FPGA device.
201 config FPGA_DFL_PCI
202         tristate "FPGA DFL PCIe Device Driver"
203         depends on PCI && FPGA_DFL
204         help
205           Select this option to enable PCIe driver for PCIe-based
206           Field-Programmable Gate Array (FPGA) solutions which implement
207           the Device Feature List (DFL). This driver provides interfaces
208           for userspace applications to configure, enumerate, open and access
209           FPGA accelerators on the FPGA DFL devices, enables system level
210           management functions such as FPGA partial reconfiguration, power
211           management and virtualization with DFL framework and DFL feature
212           device drivers.
214           To compile this as a module, choose M here.
216 config FPGA_MGR_ZYNQMP_FPGA
217         tristate "Xilinx ZynqMP FPGA"
218         depends on ZYNQMP_FIRMWARE || (!ZYNQMP_FIRMWARE && COMPILE_TEST)
219         help
220           FPGA manager driver support for Xilinx ZynqMP FPGAs.
221           This driver uses the processor configuration port(PCAP)
222           to configure the programmable logic(PL) through PS
223           on ZynqMP SoC.
225 endif # FPGA