Linux v5.2.1 - fmc
# SPDX-License-Identifier: GPL-2.0-only
# FMC (ANSI-VITA 57.1) bus support
tristate "FMC support"
FMC (FPGA Mezzanine Carrier) is a mechanical and electrical
standard for mezzanine cards that plug into a carrier board.
This kernel subsystem supports the matching between carrier
and mezzanine based on identifiers stored in the internal I2C
EEPROM, as well as having carrier-independent drivers.
The framework was born outside of the kernel and at this time
the off-tree code base is more complete. Code and documentation
is at git://ohwr.org/fmc-projects/fmc-bus.git .
tristate "FMC fake device (software testing)"
This is a fake carrier, bringing a default EEPROM content
that can be rewritten at run time and usef for matching
tristate "FMC trivial mezzanine driver (software testing)"
This is a fake mezzanine driver, to show how FMC works and test it.
The driver also handles interrupts (we used it with a real carrier
before the mezzanines were produced)
tristate "FMC mezzanine driver to write I2C EEPROM"
This driver matches every mezzanine device and can write the
internal EEPROM of the PCB, using the firmware loader to get
its binary and the function carrier->reprogram to actually do it.
It is useful when the mezzanines are produced.
tristate "FMC mezzanine driver that registers a char device"
This driver matches every mezzanine device and allows user
space to read and write registers using a char device. It
can be used to write user-space drivers, or just get
acquainted with a mezzanine before writing its specific driver.
endif # FMC