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