xref: /linux/drivers/misc/eeprom/Kconfig (revision a4eb44a6435d6d8f9e642407a4a06f65eb90ca04)
1# SPDX-License-Identifier: GPL-2.0-only
2menu "EEPROM support"
3
4config 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
34config EEPROM_AT25
35	tristate "SPI EEPROMs (FRAMs) 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	  and Cypress FRAMs,
42	  after you configure the board init code to know about each eeprom
43	  on your target board.
44
45	  This driver can also be built as a module.  If so, the module
46	  will be called at25.
47
48config EEPROM_LEGACY
49	tristate "Old I2C EEPROM reader (DEPRECATED)"
50	depends on I2C && SYSFS
51	help
52	  If you say yes here you get read-only access to the EEPROM data
53	  available on modern memory DIMMs and Sony Vaio laptops via I2C. Such
54	  EEPROMs could theoretically be available on other devices as well.
55
56	  This driver is deprecated and will be removed soon, please use the
57	  better at24 driver instead.
58
59	  This driver can also be built as a module.  If so, the module
60	  will be called eeprom.
61
62config EEPROM_MAX6875
63	tristate "Maxim MAX6874/5 power supply supervisor"
64	depends on I2C
65	help
66	  If you say yes here you get read-only support for the user EEPROM of
67	  the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
68	  sequencer/supervisor.
69
70	  All other features of this chip should be accessed via i2c-dev.
71
72	  This driver can also be built as a module.  If so, the module
73	  will be called max6875.
74
75
76config EEPROM_93CX6
77	tristate "EEPROM 93CX6 support"
78	help
79	  This is a driver for the EEPROM chipsets 93c46 and 93c66.
80	  The driver supports both read as well as write commands.
81
82	  If unsure, say N.
83
84config EEPROM_93XX46
85	tristate "Microwire EEPROM 93XX46 support"
86	depends on SPI && SYSFS
87	select REGMAP
88	select NVMEM
89	select NVMEM_SYSFS
90	help
91	  Driver for the microwire EEPROM chipsets 93xx46x. The driver
92	  supports both read and write commands and also the command to
93	  erase the whole EEPROM.
94
95	  This driver can also be built as a module.  If so, the module
96	  will be called eeprom_93xx46.
97
98	  If unsure, say N.
99
100config EEPROM_DIGSY_MTC_CFG
101	bool "DigsyMTC display configuration EEPROMs device"
102	depends on GPIO_MPC5200 && SPI_GPIO
103	help
104	  This option enables access to display configuration EEPROMs
105	  on digsy_mtc board. You have to additionally select Microwire
106	  EEPROM 93XX46 driver. sysfs entries will be created for that
107	  EEPROM allowing to read/write the configuration data or to
108	  erase the whole EEPROM.
109
110	  If unsure, say N.
111
112config EEPROM_IDT_89HPESX
113	tristate "IDT 89HPESx PCIe-swtiches EEPROM / CSR support"
114	depends on I2C && SYSFS
115	help
116	  Enable this driver to get read/write access to EEPROM / CSRs
117	  over IDT PCIe-swtich i2c-slave interface.
118
119	  This driver can also be built as a module. If so, the module
120	  will be called idt_89hpesx.
121
122config EEPROM_EE1004
123	tristate "SPD EEPROMs on DDR4 memory modules"
124	depends on I2C && SYSFS
125	help
126	  Enable this driver to get read support to SPD EEPROMs following
127	  the JEDEC EE1004 standard. These are typically found on DDR4
128	  SDRAM memory modules.
129
130	  This driver can also be built as a module.  If so, the module
131	  will be called ee1004.
132
133endmenu
134