^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) menu "EEPROM support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) config EEPROM_AT24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) tristate "I2C EEPROMs / RAMs / ROMs from most vendors"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) depends on I2C && SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select NVMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select NVMEM_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select REGMAP_I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Enable this driver to get read/write support to most I2C EEPROMs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) and compatible devices like FRAMs, SRAMs, ROMs etc. After you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) configure the driver to know about each chip on your target
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) board. Use these generic chip names, instead of vendor-specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) ones like at24c64, 24lc02 or fm24c04:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Unless you like data loss puzzles, always be sure that any chip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) you configure as a 24c32 (32 kbit) or larger is NOT really a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 24c16 (16 kbit) or smaller, and vice versa. Marking the chip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) as read-only won't help recover from this. Also, if your chip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) has any software write-protect mechanism you may want to review the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) code to make sure this driver won't turn it on by accident.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) If you use this with an SMBus adapter instead of an I2C adapter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) full functionality is not available. Only smaller devices are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) supported (24c16 and below, max 4 kByte).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) will be called at24.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) config EEPROM_AT25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) tristate "SPI EEPROMs from most vendors"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) depends on SPI && SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) select NVMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) select NVMEM_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Enable this driver to get read/write support to most SPI EEPROMs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) after you configure the board init code to know about each eeprom
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) on your target board.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) will be called at25.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) config EEPROM_LEGACY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) tristate "Old I2C EEPROM reader (DEPRECATED)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) depends on I2C && SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) If you say yes here you get read-only access to the EEPROM data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) available on modern memory DIMMs and Sony Vaio laptops via I2C. Such
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) EEPROMs could theoretically be available on other devices as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) This driver is deprecated and will be removed soon, please use the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) better at24 driver instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) will be called eeprom.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) config EEPROM_MAX6875
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) tristate "Maxim MAX6874/5 power supply supervisor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) depends on I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) If you say yes here you get read-only support for the user EEPROM of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) sequencer/supervisor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) All other features of this chip should be accessed via i2c-dev.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) will be called max6875.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) config EEPROM_93CX6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) tristate "EEPROM 93CX6 support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) This is a driver for the EEPROM chipsets 93c46 and 93c66.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) The driver supports both read as well as write commands.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) config EEPROM_93XX46
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) tristate "Microwire EEPROM 93XX46 support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) depends on SPI && SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) select REGMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) select NVMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) select NVMEM_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) Driver for the microwire EEPROM chipsets 93xx46x. The driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) supports both read and write commands and also the command to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) erase the whole EEPROM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) will be called eeprom_93xx46.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) config EEPROM_DIGSY_MTC_CFG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) bool "DigsyMTC display configuration EEPROMs device"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) depends on GPIO_MPC5200 && SPI_GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) This option enables access to display configuration EEPROMs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) on digsy_mtc board. You have to additionally select Microwire
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) EEPROM 93XX46 driver. sysfs entries will be created for that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) EEPROM allowing to read/write the configuration data or to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) erase the whole EEPROM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config EEPROM_IDT_89HPESX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) tristate "IDT 89HPESx PCIe-swtiches EEPROM / CSR support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) depends on I2C && SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) Enable this driver to get read/write access to EEPROM / CSRs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) over IDT PCIe-swtich i2c-slave interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) will be called idt_89hpesx.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) config EEPROM_EE1004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) tristate "SPD EEPROMs on DDR4 memory modules"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) depends on I2C && SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Enable this driver to get read support to SPD EEPROMs following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) the JEDEC EE1004 standard. These are typically found on DDR4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) SDRAM memory modules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) will be called ee1004.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) endmenu