Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / drivers / misc / eeprom / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "EEPROM support"
3
4 config EEPROM_AT24
5         tristate "I2C EEPROMs / RAMs / ROMs from most vendors"
6         depends on I2C && SYSFS
7         select NVMEM
8         select NVMEM_SYSFS
9         select REGMAP_I2C
10         help
11           Enable this driver to get read/write support to most I2C EEPROMs
12           and compatible devices like FRAMs, SRAMs, ROMs etc. After you
13           configure the driver to know about each chip on your target
14           board.  Use these generic chip names, instead of vendor-specific
15           ones like at24c64, 24lc02 or fm24c04:
16
17              24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
18              24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048
19
20           Unless you like data loss puzzles, always be sure that any chip
21           you configure as a 24c32 (32 kbit) or larger is NOT really a
22           24c16 (16 kbit) or smaller, and vice versa. Marking the chip
23           as read-only won't help recover from this. Also, if your chip
24           has any software write-protect mechanism you may want to review the
25           code to make sure this driver won't turn it on by accident.
26
27           If you use this with an SMBus adapter instead of an I2C adapter,
28           full functionality is not available.  Only smaller devices are
29           supported (24c16 and below, max 4 kByte).
30
31           This driver can also be built as a module.  If so, the module
32           will be called at24.
33
34 config EEPROM_AT25
35         tristate "SPI EEPROMs from most vendors"
36         depends on SPI && SYSFS
37         select NVMEM
38         select NVMEM_SYSFS
39         help
40           Enable this driver to get read/write support to most SPI EEPROMs,
41           after you configure the board init code to know about each eeprom
42           on your target board.
43
44           This driver can also be built as a module.  If so, the module
45           will be called at25.
46
47 config EEPROM_LEGACY
48         tristate "Old I2C EEPROM reader (DEPRECATED)"
49         depends on I2C && SYSFS
50         help
51           If you say yes here you get read-only access to the EEPROM data
52           available on modern memory DIMMs and Sony Vaio laptops via I2C. Such
53           EEPROMs could theoretically be available on other devices as well.
54
55           This driver is deprecated and will be removed soon, please use the
56           better at24 driver instead.
57
58           This driver can also be built as a module.  If so, the module
59           will be called eeprom.
60
61 config EEPROM_MAX6875
62         tristate "Maxim MAX6874/5 power supply supervisor"
63         depends on I2C
64         help
65           If you say yes here you get read-only support for the user EEPROM of
66           the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
67           sequencer/supervisor.
68
69           All other features of this chip should be accessed via i2c-dev.
70
71           This driver can also be built as a module.  If so, the module
72           will be called max6875.
73
74
75 config EEPROM_93CX6
76         tristate "EEPROM 93CX6 support"
77         help
78           This is a driver for the EEPROM chipsets 93c46 and 93c66.
79           The driver supports both read as well as write commands.
80
81           If unsure, say N.
82
83 config EEPROM_93XX46
84         tristate "Microwire EEPROM 93XX46 support"
85         depends on SPI && SYSFS
86         select REGMAP
87         select NVMEM
88         select NVMEM_SYSFS
89         help
90           Driver for the microwire EEPROM chipsets 93xx46x. The driver
91           supports both read and write commands and also the command to
92           erase the whole EEPROM.
93
94           This driver can also be built as a module.  If so, the module
95           will be called eeprom_93xx46.
96
97           If unsure, say N.
98
99 config EEPROM_DIGSY_MTC_CFG
100         bool "DigsyMTC display configuration EEPROMs device"
101         depends on GPIO_MPC5200 && SPI_GPIO
102         help
103           This option enables access to display configuration EEPROMs
104           on digsy_mtc board. You have to additionally select Microwire
105           EEPROM 93XX46 driver. sysfs entries will be created for that
106           EEPROM allowing to read/write the configuration data or to
107           erase the whole EEPROM.
108
109           If unsure, say N.
110
111 config EEPROM_IDT_89HPESX
112         tristate "IDT 89HPESx PCIe-swtiches EEPROM / CSR support"
113         depends on I2C && SYSFS
114         help
115           Enable this driver to get read/write access to EEPROM / CSRs
116           over IDT PCIe-swtich i2c-slave interface.
117
118           This driver can also be built as a module. If so, the module
119           will be called idt_89hpesx.
120
121 config EEPROM_EE1004
122         tristate "SPD EEPROMs on DDR4 memory modules"
123         depends on I2C && SYSFS
124         help
125           Enable this driver to get read support to SPD EEPROMs following
126           the JEDEC EE1004 standard. These are typically found on DDR4
127           SDRAM memory modules.
128
129           This driver can also be built as a module.  If so, the module
130           will be called ee1004.
131
132 endmenu