123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- # SPDX-License-Identifier: GPL-2.0-only
- #
- # FPGA framework configuration
- #
- menuconfig FPGA
- tristate "FPGA Configuration Framework"
- help
- Say Y here if you want support for configuring FPGAs from the
- kernel. The FPGA framework adds an FPGA manager class and FPGA
- manager drivers.
- if FPGA
- config FPGA_MGR_SOCFPGA
- tristate "Altera SOCFPGA FPGA Manager"
- depends on ARCH_INTEL_SOCFPGA || COMPILE_TEST
- help
- FPGA manager driver support for Altera SOCFPGA.
- config FPGA_MGR_SOCFPGA_A10
- tristate "Altera SoCFPGA Arria10"
- depends on ARCH_INTEL_SOCFPGA || COMPILE_TEST
- select REGMAP_MMIO
- help
- FPGA manager driver support for Altera Arria10 SoCFPGA.
- config ALTERA_PR_IP_CORE
- tristate "Altera Partial Reconfiguration IP Core"
- help
- Core driver support for Altera Partial Reconfiguration IP component
- config ALTERA_PR_IP_CORE_PLAT
- tristate "Platform support of Altera Partial Reconfiguration IP Core"
- depends on ALTERA_PR_IP_CORE && OF && HAS_IOMEM
- help
- Platform driver support for Altera Partial Reconfiguration IP
- component
- config FPGA_MGR_ALTERA_PS_SPI
- tristate "Altera FPGA Passive Serial over SPI"
- depends on SPI
- select BITREVERSE
- help
- FPGA manager driver support for Altera Arria/Cyclone/Stratix
- using the passive serial interface over SPI.
- config FPGA_MGR_ALTERA_CVP
- tristate "Altera CvP FPGA Manager"
- depends on PCI
- help
- FPGA manager driver support for Arria-V, Cyclone-V, Stratix-V,
- Arria 10 and Stratix10 Altera FPGAs using the CvP interface over PCIe.
- config FPGA_MGR_ZYNQ_FPGA
- tristate "Xilinx Zynq FPGA"
- depends on ARCH_ZYNQ || COMPILE_TEST
- help
- FPGA manager driver support for Xilinx Zynq FPGAs.
- config FPGA_MGR_STRATIX10_SOC
- tristate "Intel Stratix10 SoC FPGA Manager"
- depends on (ARCH_INTEL_SOCFPGA && INTEL_STRATIX10_SERVICE)
- help
- FPGA manager driver support for the Intel Stratix10 SoC.
- config FPGA_MGR_XILINX_SPI
- tristate "Xilinx Configuration over Slave Serial (SPI)"
- depends on SPI
- help
- FPGA manager driver support for Xilinx FPGA configuration
- over slave serial interface.
- config FPGA_MGR_ICE40_SPI
- tristate "Lattice iCE40 SPI"
- depends on OF && SPI
- help
- FPGA manager driver support for Lattice iCE40 FPGAs over SPI.
- config FPGA_MGR_MACHXO2_SPI
- tristate "Lattice MachXO2 SPI"
- depends on SPI
- help
- FPGA manager driver support for Lattice MachXO2 configuration
- over slave SPI interface.
- config FPGA_MGR_TS73XX
- tristate "Technologic Systems TS-73xx SBC FPGA Manager"
- depends on ARCH_EP93XX && MACH_TS72XX
- help
- FPGA manager driver support for the Altera Cyclone II FPGA
- present on the TS-73xx SBC boards.
- config FPGA_BRIDGE
- tristate "FPGA Bridge Framework"
- help
- Say Y here if you want to support bridges connected between host
- processors and FPGAs or between FPGAs.
- config SOCFPGA_FPGA_BRIDGE
- tristate "Altera SoCFPGA FPGA Bridges"
- depends on ARCH_INTEL_SOCFPGA && FPGA_BRIDGE
- help
- Say Y to enable drivers for FPGA bridges for Altera SOCFPGA
- devices.
- config ALTERA_FREEZE_BRIDGE
- tristate "Altera FPGA Freeze Bridge"
- depends on FPGA_BRIDGE && HAS_IOMEM
- help
- Say Y to enable drivers for Altera FPGA Freeze bridges. A
- freeze bridge is a bridge that exists in the FPGA fabric to
- isolate one region of the FPGA from the busses while that
- region is being reprogrammed.
- config XILINX_PR_DECOUPLER
- tristate "Xilinx LogiCORE PR Decoupler"
- depends on FPGA_BRIDGE
- depends on HAS_IOMEM
- help
- Say Y to enable drivers for Xilinx LogiCORE PR Decoupler
- or Xilinx Dynamic Function eXchange AIX Shutdown Manager.
- The PR Decoupler exists in the FPGA fabric to isolate one
- region of the FPGA from the busses while that region is
- being reprogrammed during partial reconfig.
- The Dynamic Function eXchange AXI shutdown manager prevents
- AXI traffic from passing through the bridge. The controller
- safely handles AXI4MM and AXI4-Lite interfaces on a
- Reconfigurable Partition when it is undergoing dynamic
- reconfiguration, preventing the system deadlock that can
- occur if AXI transactions are interrupted by DFX.
- config FPGA_REGION
- tristate "FPGA Region"
- depends on FPGA_BRIDGE
- help
- FPGA Region common code. An FPGA Region controls an FPGA Manager
- and the FPGA Bridges associated with either a reconfigurable
- region of an FPGA or a whole FPGA.
- config OF_FPGA_REGION
- tristate "FPGA Region Device Tree Overlay Support"
- depends on OF && FPGA_REGION
- help
- Support for loading FPGA images by applying a Device Tree
- overlay.
- config FPGA_DFL
- tristate "FPGA Device Feature List (DFL) support"
- select FPGA_BRIDGE
- select FPGA_REGION
- depends on HAS_IOMEM
- help
- Device Feature List (DFL) defines a feature list structure that
- creates a linked list of feature headers within the MMIO space
- to provide an extensible way of adding features for FPGA.
- Driver can walk through the feature headers to enumerate feature
- devices (e.g. FPGA Management Engine, Port and Accelerator
- Function Unit) and their private features for target FPGA devices.
- Select this option to enable common support for Field-Programmable
- Gate Array (FPGA) solutions which implement Device Feature List.
- It provides enumeration APIs and feature device infrastructure.
- config FPGA_DFL_FME
- tristate "FPGA DFL FME Driver"
- depends on FPGA_DFL && HWMON && PERF_EVENTS
- help
- The FPGA Management Engine (FME) is a feature device implemented
- under Device Feature List (DFL) framework. Select this option to
- enable the platform device driver for FME which implements all
- FPGA platform level management features. There shall be one FME
- per DFL based FPGA device.
- config FPGA_DFL_FME_MGR
- tristate "FPGA DFL FME Manager Driver"
- depends on FPGA_DFL_FME && HAS_IOMEM
- help
- Say Y to enable FPGA Manager driver for FPGA Management Engine.
- config FPGA_DFL_FME_BRIDGE
- tristate "FPGA DFL FME Bridge Driver"
- depends on FPGA_DFL_FME && HAS_IOMEM
- help
- Say Y to enable FPGA Bridge driver for FPGA Management Engine.
- config FPGA_DFL_FME_REGION
- tristate "FPGA DFL FME Region Driver"
- depends on FPGA_DFL_FME && HAS_IOMEM
- help
- Say Y to enable FPGA Region driver for FPGA Management Engine.
- config FPGA_DFL_AFU
- tristate "FPGA DFL AFU Driver"
- depends on FPGA_DFL
- help
- This is the driver for FPGA Accelerated Function Unit (AFU) which
- implements AFU and Port management features. A User AFU connects
- to the FPGA infrastructure via a Port. There may be more than one
- Port/AFU per DFL based FPGA device.
- config FPGA_DFL_NIOS_INTEL_PAC_N3000
- tristate "FPGA DFL NIOS Driver for Intel PAC N3000"
- depends on FPGA_DFL
- select REGMAP
- help
- This is the driver for the N3000 Nios private feature on Intel
- PAC (Programmable Acceleration Card) N3000. It communicates
- with the embedded Nios processor to configure the retimers on
- the card. It also instantiates the SPI master (spi-altera) for
- the card's BMC (Board Management Controller).
- config FPGA_DFL_PCI
- tristate "FPGA DFL PCIe Device Driver"
- depends on PCI && FPGA_DFL
- help
- Select this option to enable PCIe driver for PCIe-based
- Field-Programmable Gate Array (FPGA) solutions which implement
- the Device Feature List (DFL). This driver provides interfaces
- for userspace applications to configure, enumerate, open and access
- FPGA accelerators on the FPGA DFL devices, enables system level
- management functions such as FPGA partial reconfiguration, power
- management and virtualization with DFL framework and DFL feature
- device drivers.
- To compile this as a module, choose M here.
- config FPGA_MGR_ZYNQMP_FPGA
- tristate "Xilinx ZynqMP FPGA"
- depends on ZYNQMP_FIRMWARE || (!ZYNQMP_FIRMWARE && COMPILE_TEST)
- help
- FPGA manager driver support for Xilinx ZynqMP FPGAs.
- This driver uses the processor configuration port(PCAP)
- to configure the programmable logic(PL) through PS
- on ZynqMP SoC.
- config FPGA_MGR_VERSAL_FPGA
- tristate "Xilinx Versal FPGA"
- depends on ARCH_ZYNQMP || COMPILE_TEST
- help
- Select this option to enable FPGA manager driver support for
- Xilinx Versal SoC. This driver uses the firmware interface to
- configure the programmable logic(PL).
- To compile this as a module, choose M here.
- config FPGA_M10_BMC_SEC_UPDATE
- tristate "Intel MAX10 BMC Secure Update driver"
- depends on MFD_INTEL_M10_BMC
- select FW_LOADER
- select FW_UPLOAD
- help
- Secure update support for the Intel MAX10 board management
- controller.
- This is a subdriver of the Intel MAX10 board management controller
- (BMC) and provides support for secure updates for the BMC image,
- the FPGA image, the Root Entry Hashes, etc.
- config FPGA_MGR_MICROCHIP_SPI
- tristate "Microchip Polarfire SPI FPGA manager"
- depends on SPI
- help
- FPGA manager driver support for Microchip Polarfire FPGAs
- programming over slave SPI interface with .dat formatted
- bitstream image.
- endif # FPGA
|