18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenu "EEPROM support"
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciconfig EEPROM_AT24
58c2ecf20Sopenharmony_ci	tristate "I2C EEPROMs / RAMs / ROMs from most vendors"
68c2ecf20Sopenharmony_ci	depends on I2C && SYSFS
78c2ecf20Sopenharmony_ci	select NVMEM
88c2ecf20Sopenharmony_ci	select NVMEM_SYSFS
98c2ecf20Sopenharmony_ci	select REGMAP
108c2ecf20Sopenharmony_ci	select REGMAP_I2C
118c2ecf20Sopenharmony_ci	help
128c2ecf20Sopenharmony_ci	  Enable this driver to get read/write support to most I2C EEPROMs
138c2ecf20Sopenharmony_ci	  and compatible devices like FRAMs, SRAMs, ROMs etc. After you
148c2ecf20Sopenharmony_ci	  configure the driver to know about each chip on your target
158c2ecf20Sopenharmony_ci	  board.  Use these generic chip names, instead of vendor-specific
168c2ecf20Sopenharmony_ci	  ones like at24c64, 24lc02 or fm24c04:
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	     24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
198c2ecf20Sopenharmony_ci	     24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	  Unless you like data loss puzzles, always be sure that any chip
228c2ecf20Sopenharmony_ci	  you configure as a 24c32 (32 kbit) or larger is NOT really a
238c2ecf20Sopenharmony_ci	  24c16 (16 kbit) or smaller, and vice versa. Marking the chip
248c2ecf20Sopenharmony_ci	  as read-only won't help recover from this. Also, if your chip
258c2ecf20Sopenharmony_ci	  has any software write-protect mechanism you may want to review the
268c2ecf20Sopenharmony_ci	  code to make sure this driver won't turn it on by accident.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	  If you use this with an SMBus adapter instead of an I2C adapter,
298c2ecf20Sopenharmony_ci	  full functionality is not available.  Only smaller devices are
308c2ecf20Sopenharmony_ci	  supported (24c16 and below, max 4 kByte).
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
338c2ecf20Sopenharmony_ci	  will be called at24.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciconfig EEPROM_AT25
368c2ecf20Sopenharmony_ci	tristate "SPI EEPROMs from most vendors"
378c2ecf20Sopenharmony_ci	depends on SPI && SYSFS
388c2ecf20Sopenharmony_ci	select NVMEM
398c2ecf20Sopenharmony_ci	select NVMEM_SYSFS
408c2ecf20Sopenharmony_ci	help
418c2ecf20Sopenharmony_ci	  Enable this driver to get read/write support to most SPI EEPROMs,
428c2ecf20Sopenharmony_ci	  after you configure the board init code to know about each eeprom
438c2ecf20Sopenharmony_ci	  on your target board.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
468c2ecf20Sopenharmony_ci	  will be called at25.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig EEPROM_LEGACY
498c2ecf20Sopenharmony_ci	tristate "Old I2C EEPROM reader (DEPRECATED)"
508c2ecf20Sopenharmony_ci	depends on I2C && SYSFS
518c2ecf20Sopenharmony_ci	help
528c2ecf20Sopenharmony_ci	  If you say yes here you get read-only access to the EEPROM data
538c2ecf20Sopenharmony_ci	  available on modern memory DIMMs and Sony Vaio laptops via I2C. Such
548c2ecf20Sopenharmony_ci	  EEPROMs could theoretically be available on other devices as well.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  This driver is deprecated and will be removed soon, please use the
578c2ecf20Sopenharmony_ci	  better at24 driver instead.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
608c2ecf20Sopenharmony_ci	  will be called eeprom.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ciconfig EEPROM_MAX6875
638c2ecf20Sopenharmony_ci	tristate "Maxim MAX6874/5 power supply supervisor"
648c2ecf20Sopenharmony_ci	depends on I2C
658c2ecf20Sopenharmony_ci	help
668c2ecf20Sopenharmony_ci	  If you say yes here you get read-only support for the user EEPROM of
678c2ecf20Sopenharmony_ci	  the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
688c2ecf20Sopenharmony_ci	  sequencer/supervisor.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	  All other features of this chip should be accessed via i2c-dev.
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
738c2ecf20Sopenharmony_ci	  will be called max6875.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciconfig EEPROM_93CX6
778c2ecf20Sopenharmony_ci	tristate "EEPROM 93CX6 support"
788c2ecf20Sopenharmony_ci	help
798c2ecf20Sopenharmony_ci	  This is a driver for the EEPROM chipsets 93c46 and 93c66.
808c2ecf20Sopenharmony_ci	  The driver supports both read as well as write commands.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci	  If unsure, say N.
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ciconfig EEPROM_93XX46
858c2ecf20Sopenharmony_ci	tristate "Microwire EEPROM 93XX46 support"
868c2ecf20Sopenharmony_ci	depends on SPI && SYSFS
878c2ecf20Sopenharmony_ci	select REGMAP
888c2ecf20Sopenharmony_ci	select NVMEM
898c2ecf20Sopenharmony_ci	select NVMEM_SYSFS
908c2ecf20Sopenharmony_ci	help
918c2ecf20Sopenharmony_ci	  Driver for the microwire EEPROM chipsets 93xx46x. The driver
928c2ecf20Sopenharmony_ci	  supports both read and write commands and also the command to
938c2ecf20Sopenharmony_ci	  erase the whole EEPROM.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
968c2ecf20Sopenharmony_ci	  will be called eeprom_93xx46.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci	  If unsure, say N.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciconfig EEPROM_DIGSY_MTC_CFG
1018c2ecf20Sopenharmony_ci	bool "DigsyMTC display configuration EEPROMs device"
1028c2ecf20Sopenharmony_ci	depends on GPIO_MPC5200 && SPI_GPIO
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  This option enables access to display configuration EEPROMs
1058c2ecf20Sopenharmony_ci	  on digsy_mtc board. You have to additionally select Microwire
1068c2ecf20Sopenharmony_ci	  EEPROM 93XX46 driver. sysfs entries will be created for that
1078c2ecf20Sopenharmony_ci	  EEPROM allowing to read/write the configuration data or to
1088c2ecf20Sopenharmony_ci	  erase the whole EEPROM.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	  If unsure, say N.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig EEPROM_IDT_89HPESX
1138c2ecf20Sopenharmony_ci	tristate "IDT 89HPESx PCIe-swtiches EEPROM / CSR support"
1148c2ecf20Sopenharmony_ci	depends on I2C && SYSFS
1158c2ecf20Sopenharmony_ci	help
1168c2ecf20Sopenharmony_ci	  Enable this driver to get read/write access to EEPROM / CSRs
1178c2ecf20Sopenharmony_ci	  over IDT PCIe-swtich i2c-slave interface.
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module
1208c2ecf20Sopenharmony_ci	  will be called idt_89hpesx.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ciconfig EEPROM_EE1004
1238c2ecf20Sopenharmony_ci	tristate "SPD EEPROMs on DDR4 memory modules"
1248c2ecf20Sopenharmony_ci	depends on I2C && SYSFS
1258c2ecf20Sopenharmony_ci	help
1268c2ecf20Sopenharmony_ci	  Enable this driver to get read support to SPD EEPROMs following
1278c2ecf20Sopenharmony_ci	  the JEDEC EE1004 standard. These are typically found on DDR4
1288c2ecf20Sopenharmony_ci	  SDRAM memory modules.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
1318c2ecf20Sopenharmony_ci	  will be called ee1004.
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ciendmenu
134