1#
2# FMC (ANSI-VITA 57.1) bus support
3#
4
5menuconfig FMC
6	tristate "FMC support"
7	help
8
9	  FMC (FPGA Mezzanine Carrier) is a mechanical and electrical
10	  standard for mezzanine cards that plug into a carrier board.
11	  This kernel subsystem supports the matching between carrier
12	  and mezzanine based on identifiers stored in the internal I2C
13	  EEPROM, as well as having carrier-independent drivers.
14
15	  The framework was born outside of the kernel and at this time
16	  the off-tree code base is more complete.  Code and documentation
17	  is at git://ohwr.org/fmc-projects/fmc-bus.git .
18
19if FMC
20
21config FMC_FAKEDEV
22	tristate "FMC fake device (software testing)"
23	help
24	  This is a fake carrier, bringing a default EEPROM content
25	  that can be rewritten at run time and usef for matching
26	  mezzanines.
27
28config FMC_TRIVIAL
29	tristate "FMC trivial mezzanine driver (software testing)"
30	help
31	  This is a fake mezzanine driver, to show how FMC works and test it.
32	  The driver also handles interrupts (we used it with a real carrier
33	  before the mezzanines were produced)
34
35config FMC_WRITE_EEPROM
36	tristate "FMC mezzanine driver to write I2C EEPROM"
37	help
38	  This driver matches every mezzanine device and can write the
39	  internal EEPROM of the PCB, using the firmware loader to get
40	  its binary and the function carrier->reprogram to actually do it.
41	  It is useful when the mezzanines are produced.
42
43config FMC_CHARDEV
44	tristate "FMC mezzanine driver that registers a char device"
45	help
46	  This driver matches every mezzanine device and allows user
47	  space to read and write registers using a char device. It
48	  can be used to write user-space drivers, or just get
49	  acquainted with a mezzanine before writing its specific driver.
50
51endif # FMC
52