xref: /linux/drivers/misc/eeprom/Kconfig (revision 0d5ec7919f3747193f051036b2301734a4b5e1d6)
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
97f3c782bSRandy 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
40*8ad6249cSAlexander Sverdlin	select SPI_MEM
41e51d565fSWolfram Sang	help
42fd307a4aSJiri Prchal	  Enable this driver to get read/write support to most SPI EEPROMs
43fd307a4aSJiri Prchal	  and Cypress FRAMs,
44e51d565fSWolfram Sang	  after you configure the board init code to know about each eeprom
45e51d565fSWolfram Sang	  on your target board.
46e51d565fSWolfram Sang
47e51d565fSWolfram Sang	  This driver can also be built as a module.  If so, the module
48e51d565fSWolfram Sang	  will be called at25.
49e51d565fSWolfram Sang
504b364f23SWolfram Sangconfig EEPROM_MAX6875
514b364f23SWolfram Sang	tristate "Maxim MAX6874/5 power supply supervisor"
5265929215SGreg Kroah-Hartman	depends on I2C
534b364f23SWolfram Sang	help
544b364f23SWolfram Sang	  If you say yes here you get read-only support for the user EEPROM of
554b364f23SWolfram Sang	  the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
564b364f23SWolfram Sang	  sequencer/supervisor.
574b364f23SWolfram Sang
584b364f23SWolfram Sang	  All other features of this chip should be accessed via i2c-dev.
594b364f23SWolfram Sang
604b364f23SWolfram Sang	  This driver can also be built as a module.  If so, the module
614b364f23SWolfram Sang	  will be called max6875.
624b364f23SWolfram Sang
634b364f23SWolfram Sang
640eb6da20SWolfram Sangconfig EEPROM_93CX6
650eb6da20SWolfram Sang	tristate "EEPROM 93CX6 support"
660eb6da20SWolfram Sang	help
670eb6da20SWolfram Sang	  This is a driver for the EEPROM chipsets 93c46 and 93c66.
680eb6da20SWolfram Sang	  The driver supports both read as well as write commands.
690eb6da20SWolfram Sang
700eb6da20SWolfram Sang	  If unsure, say N.
710eb6da20SWolfram Sang
7206b4501eSAnatolij Gustschinconfig EEPROM_93XX46
7306b4501eSAnatolij Gustschin	tristate "Microwire EEPROM 93XX46 support"
7406b4501eSAnatolij Gustschin	depends on SPI && SYSFS
751c4b6e2cSAndrew Lunn	select REGMAP
761c4b6e2cSAndrew Lunn	select NVMEM
771b562183SArseny Solokha	select NVMEM_SYSFS
7806b4501eSAnatolij Gustschin	help
7906b4501eSAnatolij Gustschin	  Driver for the microwire EEPROM chipsets 93xx46x. The driver
8006b4501eSAnatolij Gustschin	  supports both read and write commands and also the command to
8106b4501eSAnatolij Gustschin	  erase the whole EEPROM.
8206b4501eSAnatolij Gustschin
8306b4501eSAnatolij Gustschin	  This driver can also be built as a module.  If so, the module
8406b4501eSAnatolij Gustschin	  will be called eeprom_93xx46.
8506b4501eSAnatolij Gustschin
8606b4501eSAnatolij Gustschin	  If unsure, say N.
8706b4501eSAnatolij Gustschin
88469dded1SAnatolij Gustschinconfig EEPROM_DIGSY_MTC_CFG
89469dded1SAnatolij Gustschin	bool "DigsyMTC display configuration EEPROMs device"
90001ef5e4SPaul Bolle	depends on GPIO_MPC5200 && SPI_GPIO
91469dded1SAnatolij Gustschin	help
92469dded1SAnatolij Gustschin	  This option enables access to display configuration EEPROMs
93469dded1SAnatolij Gustschin	  on digsy_mtc board. You have to additionally select Microwire
94469dded1SAnatolij Gustschin	  EEPROM 93XX46 driver. sysfs entries will be created for that
95469dded1SAnatolij Gustschin	  EEPROM allowing to read/write the configuration data or to
96469dded1SAnatolij Gustschin	  erase the whole EEPROM.
97469dded1SAnatolij Gustschin
98469dded1SAnatolij Gustschin	  If unsure, say N.
99469dded1SAnatolij Gustschin
100cfad6425SSerge Seminconfig EEPROM_IDT_89HPESX
101d8da4f19SLuo Yifan	tristate "IDT 89HPESx PCIe-switches EEPROM / CSR support"
102cfad6425SSerge Semin	depends on I2C && SYSFS
103cfad6425SSerge Semin	help
104cfad6425SSerge Semin	  Enable this driver to get read/write access to EEPROM / CSRs
105d8da4f19SLuo Yifan	  over IDT PCIe-switch i2c-slave interface.
106cfad6425SSerge Semin
107cfad6425SSerge Semin	  This driver can also be built as a module. If so, the module
108cfad6425SSerge Semin	  will be called idt_89hpesx.
109cfad6425SSerge Semin
1103b7584a2SJean Delvareconfig EEPROM_EE1004
1113b7584a2SJean Delvare	tristate "SPD EEPROMs on DDR4 memory modules"
1123b7584a2SJean Delvare	depends on I2C && SYSFS
11379d0df36SArmin Wolf	select NVMEM
11479d0df36SArmin Wolf	select NVMEM_SYSFS
1153b7584a2SJean Delvare	help
1163b7584a2SJean Delvare	  Enable this driver to get read support to SPD EEPROMs following
1173b7584a2SJean Delvare	  the JEDEC EE1004 standard. These are typically found on DDR4
1183b7584a2SJean Delvare	  SDRAM memory modules.
1193b7584a2SJean Delvare
1203b7584a2SJean Delvare	  This driver can also be built as a module.  If so, the module
1213b7584a2SJean Delvare	  will be called ee1004.
1223b7584a2SJean Delvare
1235195e509SWolfram Sangendmenu
124