1# SPDX-License-Identifier: GPL-2.0-only
2menu "EEPROM support"
3
4config 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
35config 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
49config 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
63config 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
71config 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
87config 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
99config 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
109config EEPROM_EE1004
110	tristate "SPD EEPROMs on DDR4 memory modules"
111	depends on I2C && SYSFS
112	help
113	  Enable this driver to get read support to SPD EEPROMs following
114	  the JEDEC EE1004 standard. These are typically found on DDR4
115	  SDRAM memory modules.
116
117	  This driver can also be built as a module.  If so, the module
118	  will be called ee1004.
119
120endmenu
121