xref: /linux/drivers/misc/eeprom/Kconfig (revision c165d8947bc41ebd3b0de3f520490cffb627af90)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
25195e509SWolfram Sangmenu "EEPROM support"
35195e509SWolfram Sang
4dd7f8dbeSJean Delvareconfig EEPROM_AT24
581e34f91SLars Poeschel	tristate "I2C EEPROMs / RAMs / ROMs from most vendors"
6781b8a2aSWolfram Sang	depends on I2C && SYSFS
757d15550SAndrew Lunn	select NVMEM
81b562183SArseny Solokha	select NVMEM_SYSFS
95c015258SHeiner Kallweit	select REGMAP_I2C
105195e509SWolfram Sang	help
1181e34f91SLars Poeschel	  Enable this driver to get read/write support to most I2C EEPROMs
1281e34f91SLars Poeschel	  and compatible devices like FRAMs, SRAMs, ROMs etc. After you
1381e34f91SLars Poeschel	  configure the driver to know about each chip on your target
1481e34f91SLars Poeschel	  board.  Use these generic chip names, instead of vendor-specific
1581e34f91SLars Poeschel	  ones like at24c64, 24lc02 or fm24c04:
165195e509SWolfram Sang
175195e509SWolfram Sang	     24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
1837cf28d3SAdrian Bunk	     24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048
195195e509SWolfram Sang
205195e509SWolfram Sang	  Unless you like data loss puzzles, always be sure that any chip
215195e509SWolfram Sang	  you configure as a 24c32 (32 kbit) or larger is NOT really a
225195e509SWolfram Sang	  24c16 (16 kbit) or smaller, and vice versa. Marking the chip
235195e509SWolfram Sang	  as read-only won't help recover from this. Also, if your chip
245195e509SWolfram Sang	  has any software write-protect mechanism you may want to review the
255195e509SWolfram Sang	  code to make sure this driver won't turn it on by accident.
265195e509SWolfram Sang
275195e509SWolfram Sang	  If you use this with an SMBus adapter instead of an I2C adapter,
285195e509SWolfram Sang	  full functionality is not available.  Only smaller devices are
295195e509SWolfram Sang	  supported (24c16 and below, max 4 kByte).
305195e509SWolfram Sang
315195e509SWolfram Sang	  This driver can also be built as a module.  If so, the module
325195e509SWolfram Sang	  will be called at24.
335195e509SWolfram Sang
34dd7f8dbeSJean Delvareconfig EEPROM_AT25
35e51d565fSWolfram Sang	tristate "SPI EEPROMs from most vendors"
36e51d565fSWolfram Sang	depends on SPI && SYSFS
375a99f570SAndrew Lunn	select NVMEM
381b562183SArseny Solokha	select NVMEM_SYSFS
39e51d565fSWolfram Sang	help
40e51d565fSWolfram Sang	  Enable this driver to get read/write support to most SPI EEPROMs,
41e51d565fSWolfram Sang	  after you configure the board init code to know about each eeprom
42e51d565fSWolfram Sang	  on your target board.
43e51d565fSWolfram Sang
44e51d565fSWolfram Sang	  This driver can also be built as a module.  If so, the module
45e51d565fSWolfram Sang	  will be called at25.
46e51d565fSWolfram Sang
47dd7f8dbeSJean Delvareconfig EEPROM_LEGACY
48*c165d894SJean Delvare	tristate "Old I2C EEPROM reader (DEPRECATED)"
49dd7f8dbeSJean Delvare	depends on I2C && SYSFS
502e157888SWolfram Sang	help
512e157888SWolfram Sang	  If you say yes here you get read-only access to the EEPROM data
522e157888SWolfram Sang	  available on modern memory DIMMs and Sony Vaio laptops via I2C. Such
532e157888SWolfram Sang	  EEPROMs could theoretically be available on other devices as well.
542e157888SWolfram Sang
55*c165d894SJean Delvare	  This driver is deprecated and will be removed soon, please use the
56*c165d894SJean Delvare	  better at24 driver instead.
57*c165d894SJean Delvare
582e157888SWolfram Sang	  This driver can also be built as a module.  If so, the module
592e157888SWolfram Sang	  will be called eeprom.
602e157888SWolfram Sang
614b364f23SWolfram Sangconfig EEPROM_MAX6875
624b364f23SWolfram Sang	tristate "Maxim MAX6874/5 power supply supervisor"
6365929215SGreg Kroah-Hartman	depends on I2C
644b364f23SWolfram Sang	help
654b364f23SWolfram Sang	  If you say yes here you get read-only support for the user EEPROM of
664b364f23SWolfram Sang	  the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
674b364f23SWolfram Sang	  sequencer/supervisor.
684b364f23SWolfram Sang
694b364f23SWolfram Sang	  All other features of this chip should be accessed via i2c-dev.
704b364f23SWolfram Sang
714b364f23SWolfram Sang	  This driver can also be built as a module.  If so, the module
724b364f23SWolfram Sang	  will be called max6875.
734b364f23SWolfram Sang
744b364f23SWolfram Sang
750eb6da20SWolfram Sangconfig EEPROM_93CX6
760eb6da20SWolfram Sang	tristate "EEPROM 93CX6 support"
770eb6da20SWolfram Sang	help
780eb6da20SWolfram Sang	  This is a driver for the EEPROM chipsets 93c46 and 93c66.
790eb6da20SWolfram Sang	  The driver supports both read as well as write commands.
800eb6da20SWolfram Sang
810eb6da20SWolfram Sang	  If unsure, say N.
820eb6da20SWolfram Sang
8306b4501eSAnatolij Gustschinconfig EEPROM_93XX46
8406b4501eSAnatolij Gustschin	tristate "Microwire EEPROM 93XX46 support"
8506b4501eSAnatolij Gustschin	depends on SPI && SYSFS
861c4b6e2cSAndrew Lunn	select REGMAP
871c4b6e2cSAndrew Lunn	select NVMEM
881b562183SArseny Solokha	select NVMEM_SYSFS
8906b4501eSAnatolij Gustschin	help
9006b4501eSAnatolij Gustschin	  Driver for the microwire EEPROM chipsets 93xx46x. The driver
9106b4501eSAnatolij Gustschin	  supports both read and write commands and also the command to
9206b4501eSAnatolij Gustschin	  erase the whole EEPROM.
9306b4501eSAnatolij Gustschin
9406b4501eSAnatolij Gustschin	  This driver can also be built as a module.  If so, the module
9506b4501eSAnatolij Gustschin	  will be called eeprom_93xx46.
9606b4501eSAnatolij Gustschin
9706b4501eSAnatolij Gustschin	  If unsure, say N.
9806b4501eSAnatolij Gustschin
99469dded1SAnatolij Gustschinconfig EEPROM_DIGSY_MTC_CFG
100469dded1SAnatolij Gustschin	bool "DigsyMTC display configuration EEPROMs device"
101001ef5e4SPaul Bolle	depends on GPIO_MPC5200 && SPI_GPIO
102469dded1SAnatolij Gustschin	help
103469dded1SAnatolij Gustschin	  This option enables access to display configuration EEPROMs
104469dded1SAnatolij Gustschin	  on digsy_mtc board. You have to additionally select Microwire
105469dded1SAnatolij Gustschin	  EEPROM 93XX46 driver. sysfs entries will be created for that
106469dded1SAnatolij Gustschin	  EEPROM allowing to read/write the configuration data or to
107469dded1SAnatolij Gustschin	  erase the whole EEPROM.
108469dded1SAnatolij Gustschin
109469dded1SAnatolij Gustschin	  If unsure, say N.
110469dded1SAnatolij Gustschin
111cfad6425SSerge Seminconfig EEPROM_IDT_89HPESX
112cfad6425SSerge Semin	tristate "IDT 89HPESx PCIe-swtiches EEPROM / CSR support"
113cfad6425SSerge Semin	depends on I2C && SYSFS
114cfad6425SSerge Semin	help
115cfad6425SSerge Semin	  Enable this driver to get read/write access to EEPROM / CSRs
116cfad6425SSerge Semin	  over IDT PCIe-swtich i2c-slave interface.
117cfad6425SSerge Semin
118cfad6425SSerge Semin	  This driver can also be built as a module. If so, the module
119cfad6425SSerge Semin	  will be called idt_89hpesx.
120cfad6425SSerge Semin
1213b7584a2SJean Delvareconfig EEPROM_EE1004
1223b7584a2SJean Delvare	tristate "SPD EEPROMs on DDR4 memory modules"
1233b7584a2SJean Delvare	depends on I2C && SYSFS
1243b7584a2SJean Delvare	help
1253b7584a2SJean Delvare	  Enable this driver to get read support to SPD EEPROMs following
1263b7584a2SJean Delvare	  the JEDEC EE1004 standard. These are typically found on DDR4
1273b7584a2SJean Delvare	  SDRAM memory modules.
1283b7584a2SJean Delvare
1293b7584a2SJean Delvare	  This driver can also be built as a module.  If so, the module
1303b7584a2SJean Delvare	  will be called ee1004.
1313b7584a2SJean Delvare
1325195e509SWolfram Sangendmenu
133