xref: /openbmc/linux/drivers/misc/eeprom/Kconfig (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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
9*7f3c782bSRandy Dunlap	select REGMAP
105c015258SHeiner Kallweit	select REGMAP_I2C
115195e509SWolfram Sang	help
1281e34f91SLars Poeschel	  Enable this driver to get read/write support to most I2C EEPROMs
1381e34f91SLars Poeschel	  and compatible devices like FRAMs, SRAMs, ROMs etc. After you
1481e34f91SLars Poeschel	  configure the driver to know about each chip on your target
1581e34f91SLars Poeschel	  board.  Use these generic chip names, instead of vendor-specific
1681e34f91SLars Poeschel	  ones like at24c64, 24lc02 or fm24c04:
175195e509SWolfram Sang
185195e509SWolfram Sang	     24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
1937cf28d3SAdrian Bunk	     24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048
205195e509SWolfram Sang
215195e509SWolfram Sang	  Unless you like data loss puzzles, always be sure that any chip
225195e509SWolfram Sang	  you configure as a 24c32 (32 kbit) or larger is NOT really a
235195e509SWolfram Sang	  24c16 (16 kbit) or smaller, and vice versa. Marking the chip
245195e509SWolfram Sang	  as read-only won't help recover from this. Also, if your chip
255195e509SWolfram Sang	  has any software write-protect mechanism you may want to review the
265195e509SWolfram Sang	  code to make sure this driver won't turn it on by accident.
275195e509SWolfram Sang
285195e509SWolfram Sang	  If you use this with an SMBus adapter instead of an I2C adapter,
295195e509SWolfram Sang	  full functionality is not available.  Only smaller devices are
305195e509SWolfram Sang	  supported (24c16 and below, max 4 kByte).
315195e509SWolfram Sang
325195e509SWolfram Sang	  This driver can also be built as a module.  If so, the module
335195e509SWolfram Sang	  will be called at24.
345195e509SWolfram Sang
35dd7f8dbeSJean Delvareconfig EEPROM_AT25
36fd307a4aSJiri Prchal	tristate "SPI EEPROMs (FRAMs) from most vendors"
37e51d565fSWolfram Sang	depends on SPI && SYSFS
385a99f570SAndrew Lunn	select NVMEM
391b562183SArseny Solokha	select NVMEM_SYSFS
40e51d565fSWolfram Sang	help
41fd307a4aSJiri Prchal	  Enable this driver to get read/write support to most SPI EEPROMs
42fd307a4aSJiri Prchal	  and Cypress FRAMs,
43e51d565fSWolfram Sang	  after you configure the board init code to know about each eeprom
44e51d565fSWolfram Sang	  on your target board.
45e51d565fSWolfram Sang
46e51d565fSWolfram Sang	  This driver can also be built as a module.  If so, the module
47e51d565fSWolfram Sang	  will be called at25.
48e51d565fSWolfram Sang
49dd7f8dbeSJean Delvareconfig EEPROM_LEGACY
50c165d894SJean Delvare	tristate "Old I2C EEPROM reader (DEPRECATED)"
51dd7f8dbeSJean Delvare	depends on I2C && SYSFS
522e157888SWolfram Sang	help
532e157888SWolfram Sang	  If you say yes here you get read-only access to the EEPROM data
542e157888SWolfram Sang	  available on modern memory DIMMs and Sony Vaio laptops via I2C. Such
552e157888SWolfram Sang	  EEPROMs could theoretically be available on other devices as well.
562e157888SWolfram Sang
57c165d894SJean Delvare	  This driver is deprecated and will be removed soon, please use the
58c165d894SJean Delvare	  better at24 driver instead.
59c165d894SJean Delvare
602e157888SWolfram Sang	  This driver can also be built as a module.  If so, the module
612e157888SWolfram Sang	  will be called eeprom.
622e157888SWolfram Sang
634b364f23SWolfram Sangconfig EEPROM_MAX6875
644b364f23SWolfram Sang	tristate "Maxim MAX6874/5 power supply supervisor"
6565929215SGreg Kroah-Hartman	depends on I2C
664b364f23SWolfram Sang	help
674b364f23SWolfram Sang	  If you say yes here you get read-only support for the user EEPROM of
684b364f23SWolfram Sang	  the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
694b364f23SWolfram Sang	  sequencer/supervisor.
704b364f23SWolfram Sang
714b364f23SWolfram Sang	  All other features of this chip should be accessed via i2c-dev.
724b364f23SWolfram Sang
734b364f23SWolfram Sang	  This driver can also be built as a module.  If so, the module
744b364f23SWolfram Sang	  will be called max6875.
754b364f23SWolfram Sang
764b364f23SWolfram Sang
770eb6da20SWolfram Sangconfig EEPROM_93CX6
780eb6da20SWolfram Sang	tristate "EEPROM 93CX6 support"
790eb6da20SWolfram Sang	help
800eb6da20SWolfram Sang	  This is a driver for the EEPROM chipsets 93c46 and 93c66.
810eb6da20SWolfram Sang	  The driver supports both read as well as write commands.
820eb6da20SWolfram Sang
830eb6da20SWolfram Sang	  If unsure, say N.
840eb6da20SWolfram Sang
8506b4501eSAnatolij Gustschinconfig EEPROM_93XX46
8606b4501eSAnatolij Gustschin	tristate "Microwire EEPROM 93XX46 support"
8706b4501eSAnatolij Gustschin	depends on SPI && SYSFS
881c4b6e2cSAndrew Lunn	select REGMAP
891c4b6e2cSAndrew Lunn	select NVMEM
901b562183SArseny Solokha	select NVMEM_SYSFS
9106b4501eSAnatolij Gustschin	help
9206b4501eSAnatolij Gustschin	  Driver for the microwire EEPROM chipsets 93xx46x. The driver
9306b4501eSAnatolij Gustschin	  supports both read and write commands and also the command to
9406b4501eSAnatolij Gustschin	  erase the whole EEPROM.
9506b4501eSAnatolij Gustschin
9606b4501eSAnatolij Gustschin	  This driver can also be built as a module.  If so, the module
9706b4501eSAnatolij Gustschin	  will be called eeprom_93xx46.
9806b4501eSAnatolij Gustschin
9906b4501eSAnatolij Gustschin	  If unsure, say N.
10006b4501eSAnatolij Gustschin
101469dded1SAnatolij Gustschinconfig EEPROM_DIGSY_MTC_CFG
102469dded1SAnatolij Gustschin	bool "DigsyMTC display configuration EEPROMs device"
103001ef5e4SPaul Bolle	depends on GPIO_MPC5200 && SPI_GPIO
104469dded1SAnatolij Gustschin	help
105469dded1SAnatolij Gustschin	  This option enables access to display configuration EEPROMs
106469dded1SAnatolij Gustschin	  on digsy_mtc board. You have to additionally select Microwire
107469dded1SAnatolij Gustschin	  EEPROM 93XX46 driver. sysfs entries will be created for that
108469dded1SAnatolij Gustschin	  EEPROM allowing to read/write the configuration data or to
109469dded1SAnatolij Gustschin	  erase the whole EEPROM.
110469dded1SAnatolij Gustschin
111469dded1SAnatolij Gustschin	  If unsure, say N.
112469dded1SAnatolij Gustschin
113cfad6425SSerge Seminconfig EEPROM_IDT_89HPESX
114cfad6425SSerge Semin	tristate "IDT 89HPESx PCIe-swtiches EEPROM / CSR support"
115cfad6425SSerge Semin	depends on I2C && SYSFS
116cfad6425SSerge Semin	help
117cfad6425SSerge Semin	  Enable this driver to get read/write access to EEPROM / CSRs
118cfad6425SSerge Semin	  over IDT PCIe-swtich i2c-slave interface.
119cfad6425SSerge Semin
120cfad6425SSerge Semin	  This driver can also be built as a module. If so, the module
121cfad6425SSerge Semin	  will be called idt_89hpesx.
122cfad6425SSerge Semin
1233b7584a2SJean Delvareconfig EEPROM_EE1004
1243b7584a2SJean Delvare	tristate "SPD EEPROMs on DDR4 memory modules"
1253b7584a2SJean Delvare	depends on I2C && SYSFS
1263b7584a2SJean Delvare	help
1273b7584a2SJean Delvare	  Enable this driver to get read support to SPD EEPROMs following
1283b7584a2SJean Delvare	  the JEDEC EE1004 standard. These are typically found on DDR4
1293b7584a2SJean Delvare	  SDRAM memory modules.
1303b7584a2SJean Delvare
1313b7584a2SJean Delvare	  This driver can also be built as a module.  If so, the module
1323b7584a2SJean Delvare	  will be called ee1004.
1333b7584a2SJean Delvare
1345195e509SWolfram Sangendmenu
135