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