# # FMC (ANSI-VITA 57.1) bus support # menuconfig FMC tristate "FMC support" help 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 . if FMC config FMC_FAKEDEV tristate "FMC fake device (software testing)" help This is a fake carrier, bringing a default EEPROM content that can be rewritten at run time and usef for matching mezzanines. config FMC_TRIVIAL tristate "FMC trivial mezzanine driver (software testing)" help 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) config FMC_WRITE_EEPROM tristate "FMC mezzanine driver to write I2C EEPROM" help 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. config FMC_CHARDEV tristate "FMC mezzanine driver that registers a char device" help 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