Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # FPGA framework configuration
0004 #
0005 
0006 menuconfig FPGA
0007         tristate "FPGA Configuration Framework"
0008         help
0009           Say Y here if you want support for configuring FPGAs from the
0010           kernel.  The FPGA framework adds an FPGA manager class and FPGA
0011           manager drivers.
0012 
0013 if FPGA
0014 
0015 config FPGA_MGR_SOCFPGA
0016         tristate "Altera SOCFPGA FPGA Manager"
0017         depends on ARCH_INTEL_SOCFPGA || COMPILE_TEST
0018         help
0019           FPGA manager driver support for Altera SOCFPGA.
0020 
0021 config FPGA_MGR_SOCFPGA_A10
0022         tristate "Altera SoCFPGA Arria10"
0023         depends on ARCH_INTEL_SOCFPGA || COMPILE_TEST
0024         select REGMAP_MMIO
0025         help
0026           FPGA manager driver support for Altera Arria10 SoCFPGA.
0027 
0028 config ALTERA_PR_IP_CORE
0029         tristate "Altera Partial Reconfiguration IP Core"
0030         help
0031           Core driver support for Altera Partial Reconfiguration IP component
0032 
0033 config ALTERA_PR_IP_CORE_PLAT
0034         tristate "Platform support of Altera Partial Reconfiguration IP Core"
0035         depends on ALTERA_PR_IP_CORE && OF && HAS_IOMEM
0036         help
0037           Platform driver support for Altera Partial Reconfiguration IP
0038           component
0039 
0040 config FPGA_MGR_ALTERA_PS_SPI
0041         tristate "Altera FPGA Passive Serial over SPI"
0042         depends on SPI
0043         select BITREVERSE
0044         help
0045           FPGA manager driver support for Altera Arria/Cyclone/Stratix
0046           using the passive serial interface over SPI.
0047 
0048 config FPGA_MGR_ALTERA_CVP
0049         tristate "Altera CvP FPGA Manager"
0050         depends on PCI
0051         help
0052           FPGA manager driver support for Arria-V, Cyclone-V, Stratix-V,
0053           Arria 10 and Stratix10 Altera FPGAs using the CvP interface over PCIe.
0054 
0055 config FPGA_MGR_ZYNQ_FPGA
0056         tristate "Xilinx Zynq FPGA"
0057         depends on ARCH_ZYNQ || COMPILE_TEST
0058         help
0059           FPGA manager driver support for Xilinx Zynq FPGAs.
0060 
0061 config FPGA_MGR_STRATIX10_SOC
0062         tristate "Intel Stratix10 SoC FPGA Manager"
0063         depends on (ARCH_INTEL_SOCFPGA && INTEL_STRATIX10_SERVICE)
0064         help
0065           FPGA manager driver support for the Intel Stratix10 SoC.
0066 
0067 config FPGA_MGR_XILINX_SPI
0068         tristate "Xilinx Configuration over Slave Serial (SPI)"
0069         depends on SPI
0070         help
0071           FPGA manager driver support for Xilinx FPGA configuration
0072           over slave serial interface.
0073 
0074 config FPGA_MGR_ICE40_SPI
0075         tristate "Lattice iCE40 SPI"
0076         depends on OF && SPI
0077         help
0078           FPGA manager driver support for Lattice iCE40 FPGAs over SPI.
0079 
0080 config FPGA_MGR_MACHXO2_SPI
0081         tristate "Lattice MachXO2 SPI"
0082         depends on SPI
0083         help
0084           FPGA manager driver support for Lattice MachXO2 configuration
0085           over slave SPI interface.
0086 
0087 config FPGA_MGR_TS73XX
0088         tristate "Technologic Systems TS-73xx SBC FPGA Manager"
0089         depends on ARCH_EP93XX && MACH_TS72XX
0090         help
0091           FPGA manager driver support for the Altera Cyclone II FPGA
0092           present on the TS-73xx SBC boards.
0093 
0094 config FPGA_BRIDGE
0095         tristate "FPGA Bridge Framework"
0096         help
0097           Say Y here if you want to support bridges connected between host
0098           processors and FPGAs or between FPGAs.
0099 
0100 config SOCFPGA_FPGA_BRIDGE
0101         tristate "Altera SoCFPGA FPGA Bridges"
0102         depends on ARCH_INTEL_SOCFPGA && FPGA_BRIDGE
0103         help
0104           Say Y to enable drivers for FPGA bridges for Altera SOCFPGA
0105           devices.
0106 
0107 config ALTERA_FREEZE_BRIDGE
0108         tristate "Altera FPGA Freeze Bridge"
0109         depends on FPGA_BRIDGE && HAS_IOMEM
0110         help
0111           Say Y to enable drivers for Altera FPGA Freeze bridges.  A
0112           freeze bridge is a bridge that exists in the FPGA fabric to
0113           isolate one region of the FPGA from the busses while that
0114           region is being reprogrammed.
0115 
0116 config XILINX_PR_DECOUPLER
0117         tristate "Xilinx LogiCORE PR Decoupler"
0118         depends on FPGA_BRIDGE
0119         depends on HAS_IOMEM
0120         help
0121           Say Y to enable drivers for Xilinx LogiCORE PR Decoupler
0122           or Xilinx Dynamic Function eXchange AIX Shutdown Manager.
0123           The PR Decoupler exists in the FPGA fabric to isolate one
0124           region of the FPGA from the busses while that region is
0125           being reprogrammed during partial reconfig.
0126           The Dynamic Function eXchange AXI shutdown manager prevents
0127           AXI traffic from passing through the bridge. The controller
0128           safely handles AXI4MM and AXI4-Lite interfaces on a
0129           Reconfigurable Partition when it is undergoing dynamic
0130           reconfiguration, preventing the system deadlock that can
0131           occur if AXI transactions are interrupted by DFX.
0132 
0133 config FPGA_REGION
0134         tristate "FPGA Region"
0135         depends on FPGA_BRIDGE
0136         help
0137           FPGA Region common code.  An FPGA Region controls an FPGA Manager
0138           and the FPGA Bridges associated with either a reconfigurable
0139           region of an FPGA or a whole FPGA.
0140 
0141 config OF_FPGA_REGION
0142         tristate "FPGA Region Device Tree Overlay Support"
0143         depends on OF && FPGA_REGION
0144         help
0145           Support for loading FPGA images by applying a Device Tree
0146           overlay.
0147 
0148 config FPGA_DFL
0149         tristate "FPGA Device Feature List (DFL) support"
0150         select FPGA_BRIDGE
0151         select FPGA_REGION
0152         depends on HAS_IOMEM
0153         help
0154           Device Feature List (DFL) defines a feature list structure that
0155           creates a linked list of feature headers within the MMIO space
0156           to provide an extensible way of adding features for FPGA.
0157           Driver can walk through the feature headers to enumerate feature
0158           devices (e.g. FPGA Management Engine, Port and Accelerator
0159           Function Unit) and their private features for target FPGA devices.
0160 
0161           Select this option to enable common support for Field-Programmable
0162           Gate Array (FPGA) solutions which implement Device Feature List.
0163           It provides enumeration APIs and feature device infrastructure.
0164 
0165 config FPGA_DFL_FME
0166         tristate "FPGA DFL FME Driver"
0167         depends on FPGA_DFL && HWMON && PERF_EVENTS
0168         help
0169           The FPGA Management Engine (FME) is a feature device implemented
0170           under Device Feature List (DFL) framework. Select this option to
0171           enable the platform device driver for FME which implements all
0172           FPGA platform level management features. There shall be one FME
0173           per DFL based FPGA device.
0174 
0175 config FPGA_DFL_FME_MGR
0176         tristate "FPGA DFL FME Manager Driver"
0177         depends on FPGA_DFL_FME && HAS_IOMEM
0178         help
0179           Say Y to enable FPGA Manager driver for FPGA Management Engine.
0180 
0181 config FPGA_DFL_FME_BRIDGE
0182         tristate "FPGA DFL FME Bridge Driver"
0183         depends on FPGA_DFL_FME && HAS_IOMEM
0184         help
0185           Say Y to enable FPGA Bridge driver for FPGA Management Engine.
0186 
0187 config FPGA_DFL_FME_REGION
0188         tristate "FPGA DFL FME Region Driver"
0189         depends on FPGA_DFL_FME && HAS_IOMEM
0190         help
0191           Say Y to enable FPGA Region driver for FPGA Management Engine.
0192 
0193 config FPGA_DFL_AFU
0194         tristate "FPGA DFL AFU Driver"
0195         depends on FPGA_DFL
0196         help
0197           This is the driver for FPGA Accelerated Function Unit (AFU) which
0198           implements AFU and Port management features. A User AFU connects
0199           to the FPGA infrastructure via a Port. There may be more than one
0200           Port/AFU per DFL based FPGA device.
0201 
0202 config FPGA_DFL_NIOS_INTEL_PAC_N3000
0203         tristate "FPGA DFL NIOS Driver for Intel PAC N3000"
0204         depends on FPGA_DFL
0205         select REGMAP
0206         help
0207           This is the driver for the N3000 Nios private feature on Intel
0208           PAC (Programmable Acceleration Card) N3000. It communicates
0209           with the embedded Nios processor to configure the retimers on
0210           the card. It also instantiates the SPI master (spi-altera) for
0211           the card's BMC (Board Management Controller).
0212 
0213 config FPGA_DFL_PCI
0214         tristate "FPGA DFL PCIe Device Driver"
0215         depends on PCI && FPGA_DFL
0216         help
0217           Select this option to enable PCIe driver for PCIe-based
0218           Field-Programmable Gate Array (FPGA) solutions which implement
0219           the Device Feature List (DFL). This driver provides interfaces
0220           for userspace applications to configure, enumerate, open and access
0221           FPGA accelerators on the FPGA DFL devices, enables system level
0222           management functions such as FPGA partial reconfiguration, power
0223           management and virtualization with DFL framework and DFL feature
0224           device drivers.
0225 
0226           To compile this as a module, choose M here.
0227 
0228 config FPGA_MGR_ZYNQMP_FPGA
0229         tristate "Xilinx ZynqMP FPGA"
0230         depends on ZYNQMP_FIRMWARE || (!ZYNQMP_FIRMWARE && COMPILE_TEST)
0231         help
0232           FPGA manager driver support for Xilinx ZynqMP FPGAs.
0233           This driver uses the processor configuration port(PCAP)
0234           to configure the programmable logic(PL) through PS
0235           on ZynqMP SoC.
0236 
0237 config FPGA_MGR_VERSAL_FPGA
0238         tristate "Xilinx Versal FPGA"
0239         depends on ARCH_ZYNQMP || COMPILE_TEST
0240         help
0241           Select this option to enable FPGA manager driver support for
0242           Xilinx Versal SoC. This driver uses the firmware interface to
0243           configure the programmable logic(PL).
0244 
0245           To compile this as a module, choose M here.
0246 
0247 config FPGA_M10_BMC_SEC_UPDATE
0248         tristate "Intel MAX10 BMC Secure Update driver"
0249         depends on MFD_INTEL_M10_BMC && FW_UPLOAD
0250         help
0251           Secure update support for the Intel MAX10 board management
0252           controller.
0253 
0254           This is a subdriver of the Intel MAX10 board management controller
0255           (BMC) and provides support for secure updates for the BMC image,
0256           the FPGA image, the Root Entry Hashes, etc.
0257 
0258 config FPGA_MGR_MICROCHIP_SPI
0259         tristate "Microchip Polarfire SPI FPGA manager"
0260         depends on SPI
0261         help
0262           FPGA manager driver support for Microchip Polarfire FPGAs
0263           programming over slave SPI interface with .dat formatted
0264           bitstream image.
0265 
0266 endif # FPGA