xref: /linux/drivers/misc/eeprom/Kconfig (revision d8da4f1912ed43190f6d3ac6e05f3a1af07d07c1)
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
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
494b364f23SWolfram Sangconfig EEPROM_MAX6875
504b364f23SWolfram Sang	tristate "Maxim MAX6874/5 power supply supervisor"
5165929215SGreg Kroah-Hartman	depends on I2C
524b364f23SWolfram Sang	help
534b364f23SWolfram Sang	  If you say yes here you get read-only support for the user EEPROM of
544b364f23SWolfram Sang	  the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
554b364f23SWolfram Sang	  sequencer/supervisor.
564b364f23SWolfram Sang
574b364f23SWolfram Sang	  All other features of this chip should be accessed via i2c-dev.
584b364f23SWolfram Sang
594b364f23SWolfram Sang	  This driver can also be built as a module.  If so, the module
604b364f23SWolfram Sang	  will be called max6875.
614b364f23SWolfram Sang
624b364f23SWolfram Sang
630eb6da20SWolfram Sangconfig EEPROM_93CX6
640eb6da20SWolfram Sang	tristate "EEPROM 93CX6 support"
650eb6da20SWolfram Sang	help
660eb6da20SWolfram Sang	  This is a driver for the EEPROM chipsets 93c46 and 93c66.
670eb6da20SWolfram Sang	  The driver supports both read as well as write commands.
680eb6da20SWolfram Sang
690eb6da20SWolfram Sang	  If unsure, say N.
700eb6da20SWolfram Sang
7106b4501eSAnatolij Gustschinconfig EEPROM_93XX46
7206b4501eSAnatolij Gustschin	tristate "Microwire EEPROM 93XX46 support"
7306b4501eSAnatolij Gustschin	depends on SPI && SYSFS
741c4b6e2cSAndrew Lunn	select REGMAP
751c4b6e2cSAndrew Lunn	select NVMEM
761b562183SArseny Solokha	select NVMEM_SYSFS
7706b4501eSAnatolij Gustschin	help
7806b4501eSAnatolij Gustschin	  Driver for the microwire EEPROM chipsets 93xx46x. The driver
7906b4501eSAnatolij Gustschin	  supports both read and write commands and also the command to
8006b4501eSAnatolij Gustschin	  erase the whole EEPROM.
8106b4501eSAnatolij Gustschin
8206b4501eSAnatolij Gustschin	  This driver can also be built as a module.  If so, the module
8306b4501eSAnatolij Gustschin	  will be called eeprom_93xx46.
8406b4501eSAnatolij Gustschin
8506b4501eSAnatolij Gustschin	  If unsure, say N.
8606b4501eSAnatolij Gustschin
87469dded1SAnatolij Gustschinconfig EEPROM_DIGSY_MTC_CFG
88469dded1SAnatolij Gustschin	bool "DigsyMTC display configuration EEPROMs device"
89001ef5e4SPaul Bolle	depends on GPIO_MPC5200 && SPI_GPIO
90469dded1SAnatolij Gustschin	help
91469dded1SAnatolij Gustschin	  This option enables access to display configuration EEPROMs
92469dded1SAnatolij Gustschin	  on digsy_mtc board. You have to additionally select Microwire
93469dded1SAnatolij Gustschin	  EEPROM 93XX46 driver. sysfs entries will be created for that
94469dded1SAnatolij Gustschin	  EEPROM allowing to read/write the configuration data or to
95469dded1SAnatolij Gustschin	  erase the whole EEPROM.
96469dded1SAnatolij Gustschin
97469dded1SAnatolij Gustschin	  If unsure, say N.
98469dded1SAnatolij Gustschin
99cfad6425SSerge Seminconfig EEPROM_IDT_89HPESX
100*d8da4f19SLuo Yifan	tristate "IDT 89HPESx PCIe-switches EEPROM / CSR support"
101cfad6425SSerge Semin	depends on I2C && SYSFS
102cfad6425SSerge Semin	help
103cfad6425SSerge Semin	  Enable this driver to get read/write access to EEPROM / CSRs
104*d8da4f19SLuo Yifan	  over IDT PCIe-switch i2c-slave interface.
105cfad6425SSerge Semin
106cfad6425SSerge Semin	  This driver can also be built as a module. If so, the module
107cfad6425SSerge Semin	  will be called idt_89hpesx.
108cfad6425SSerge Semin
1093b7584a2SJean Delvareconfig EEPROM_EE1004
1103b7584a2SJean Delvare	tristate "SPD EEPROMs on DDR4 memory modules"
1113b7584a2SJean Delvare	depends on I2C && SYSFS
11279d0df36SArmin Wolf	select NVMEM
11379d0df36SArmin Wolf	select NVMEM_SYSFS
1143b7584a2SJean Delvare	help
1153b7584a2SJean Delvare	  Enable this driver to get read support to SPD EEPROMs following
1163b7584a2SJean Delvare	  the JEDEC EE1004 standard. These are typically found on DDR4
1173b7584a2SJean Delvare	  SDRAM memory modules.
1183b7584a2SJean Delvare
1193b7584a2SJean Delvare	  This driver can also be built as a module.  If so, the module
1203b7584a2SJean Delvare	  will be called ee1004.
1213b7584a2SJean Delvare
1225195e509SWolfram Sangendmenu
123