blob: dd20190068387c82b3e8fe9954e34c9f3ae3eb1c [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Srinivas Kandagatlaeace75c2015-07-27 12:13:19 +01002menuconfig NVMEM
Arnd Bergmann2a37ce22018-04-04 12:38:40 +02003 bool "NVMEM Support"
Srinivas Kandagatlaeace75c2015-07-27 12:13:19 +01004 help
5 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
6
7 This framework is designed to provide a generic interface to NVMEM
8 from both the Linux Kernel and the userspace.
9
Srinivas Kandagatlaeace75c2015-07-27 12:13:19 +010010 If unsure, say no.
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +010011
12if NVMEM
13
Srinivas Kandagatlaae0c2d72019-04-16 10:59:24 +010014config NVMEM_SYSFS
15 bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
16 depends on SYSFS
17 default y
18 help
19 Say Y here to add a sysfs interface for NVMEM.
20
21 This interface is mostly used by userspace applications to
22 read/write directly into nvmem.
23
Michael Grzeschikc066c1c2017-03-31 13:44:50 +010024config NVMEM_IMX_IIM
25 tristate "i.MX IC Identification Module support"
26 depends on ARCH_MXC || COMPILE_TEST
27 help
28 This is a driver for the IC Identification Module (IIM) available on
29 i.MX SoCs, providing access to 4 Kbits of programmable
30 eFuses.
31
32 This driver can also be built as a module. If so, the module
33 will be called nvmem-imx-iim.
34
Philipp Zabel3edba6b2015-09-30 13:55:47 +010035config NVMEM_IMX_OCOTP
Lucas Stachdd4c1042019-04-13 11:32:48 +010036 tristate "i.MX 6/7/8 On-Chip OTP Controller support"
37 depends on ARCH_MXC || COMPILE_TEST
Srinivas Kandagatla63c0c072016-06-02 12:19:43 +010038 depends on HAS_IOMEM
Philipp Zabel3edba6b2015-09-30 13:55:47 +010039 help
40 This is a driver for the On-Chip OTP Controller (OCOTP) available on
41 i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
42 eFuses.
43
44 This driver can also be built as a module. If so, the module
45 will be called nvmem-imx-ocotp.
46
Peng Fan67ff7082019-06-14 15:32:19 +010047config NVMEM_IMX_OCOTP_SCU
48 tristate "i.MX8 SCU On-Chip OTP Controller support"
49 depends on IMX_SCU
Srinivas Kandagatlab210fac2019-10-29 11:42:38 +000050 depends on HAVE_ARM_SMCCC
Peng Fan67ff7082019-06-14 15:32:19 +010051 help
52 This is a driver for the SCU On-Chip OTP Controller (OCOTP)
53 available on i.MX8 SoCs.
54
PrasannaKumar Muralidharan4a2addc2020-03-10 13:22:55 +000055config JZ4780_EFUSE
56 tristate "JZ4780 EFUSE Memory Support"
57 depends on MACH_INGENIC || COMPILE_TEST
58 depends on HAS_IOMEM
59 depends on OF
60 select REGMAP_MMIO
61 help
62 Say Y here to include support for JZ4780 efuse memory found on
63 all JZ4780 SoC based devices.
64 To compile this driver as a module, choose M here: the module
65 will be called nvmem_jz4780_efuse.
66
Ariel D'Alessandrof02f8ae2015-12-07 10:57:39 +000067config NVMEM_LPC18XX_EEPROM
68 tristate "NXP LPC18XX EEPROM Memory Support"
69 depends on ARCH_LPC18XX || COMPILE_TEST
Krzysztof Kozlowski2ce7aed2016-03-31 11:07:03 +010070 depends on HAS_IOMEM
Ariel D'Alessandrof02f8ae2015-12-07 10:57:39 +000071 help
72 Say Y here to include support for NXP LPC18xx EEPROM memory found in
73 NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
74 To compile this driver as a module, choose M here: the module
75 will be called nvmem_lpc18xx_eeprom.
76
Joachim Eastwood88806daf2016-10-31 14:45:16 +000077config NVMEM_LPC18XX_OTP
78 tristate "NXP LPC18XX OTP Memory Support"
79 depends on ARCH_LPC18XX || COMPILE_TEST
80 depends on HAS_IOMEM
81 help
82 Say Y here to include support for NXP LPC18xx OTP memory found on
83 all LPC18xx and LPC43xx devices.
84 To compile this driver as a module, choose M here: the module
85 will be called nvmem_lpc18xx_otp.
86
Stefan Wahrenc01e9a12015-09-30 13:56:27 +010087config NVMEM_MXS_OCOTP
88 tristate "Freescale MXS On-Chip OTP Memory Support"
89 depends on ARCH_MXS || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +000090 depends on HAS_IOMEM
Stefan Wahrenc01e9a12015-09-30 13:56:27 +010091 help
92 If you say Y here, you will get readonly access to the
93 One Time Programmable memory pages that are stored
94 on the Freescale i.MX23/i.MX28 processor.
95
96 This driver can also be built as a module. If so, the module
97 will be called nvmem-mxs-ocotp.
98
Andrew-CT Chen4c7e4fe2015-12-07 10:58:11 +000099config MTK_EFUSE
100 tristate "Mediatek SoCs EFUSE support"
101 depends on ARCH_MEDIATEK || COMPILE_TEST
Krzysztof Kozlowski2ce7aed2016-03-31 11:07:03 +0100102 depends on HAS_IOMEM
Andrew-CT Chen4c7e4fe2015-12-07 10:58:11 +0000103 help
104 This is a driver to access hardware related data like sensor
105 calibration, HDMI impedance etc.
106
107 This driver can also be built as a module. If so, the module
108 will be called efuse-mtk.
109
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +0100110config QCOM_QFPROM
111 tristate "QCOM QFPROM Support"
112 depends on ARCH_QCOM || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000113 depends on HAS_IOMEM
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +0100114 help
115 Say y here to enable QFPROM support. The QFPROM provides access
116 functions for QFPROM data to rest of the drivers via nvmem interface.
117
118 This driver can also be built as a module. If so, the module
119 will be called nvmem_qfprom.
120
Anirudh Ghayal40ce9792020-01-16 16:11:00 +0000121config NVMEM_SPMI_SDAM
122 tristate "SPMI SDAM Support"
123 depends on SPMI
124 help
125 This driver supports the Shared Direct Access Memory Module on
126 Qualcomm Technologies, Inc. PMICs. It provides the clients
127 an interface to read/write to the SDAM module's shared memory.
128
ZhengShunQian03a69562015-09-30 13:56:44 +0100129config ROCKCHIP_EFUSE
130 tristate "Rockchip eFuse Support"
131 depends on ARCH_ROCKCHIP || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000132 depends on HAS_IOMEM
ZhengShunQian03a69562015-09-30 13:56:44 +0100133 help
134 This is a simple drive to dump specified values of Rockchip SoC
135 from eFuse, such as cpu-leakage.
136
137 This driver can also be built as a module. If so, the module
138 will be called nvmem_rockchip_efuse.
139
Finley Xiao755864f2019-10-29 11:42:40 +0000140config ROCKCHIP_OTP
141 tristate "Rockchip OTP controller support"
142 depends on ARCH_ROCKCHIP || COMPILE_TEST
143 depends on HAS_IOMEM
144 help
145 This is a simple drive to dump specified values of Rockchip SoC
146 from otp, such as cpu-leakage.
147
148 This driver can also be built as a module. If so, the module
149 will be called nvmem_rockchip_otp.
150
Jonathan Richardson9d59c6e2016-10-31 14:45:19 +0000151config NVMEM_BCM_OCOTP
152 tristate "Broadcom On-Chip OTP Controller support"
153 depends on ARCH_BCM_IPROC || COMPILE_TEST
154 depends on HAS_IOMEM
155 default ARCH_BCM_IPROC
156 help
157 Say y here to enable read/write access to the Broadcom OTP
158 controller.
159
160 This driver can also be built as a module. If so, the module
161 will be called nvmem-bcm-ocotp.
162
Fabrice Gasnierded1b7f2019-04-13 11:32:55 +0100163config NVMEM_STM32_ROMEM
164 tristate "STMicroelectronics STM32 factory-programmed memory support"
165 depends on ARCH_STM32 || COMPILE_TEST
166 help
167 Say y here to enable read-only access for STMicroelectronics STM32
168 factory-programmed memory area.
169
170 This driver can also be built as a module. If so, the module
171 will be called nvmem-stm32-romem.
172
Maxime Ripard3d0b16a2015-07-27 12:17:09 +0100173config NVMEM_SUNXI_SID
174 tristate "Allwinner SoCs SID support"
175 depends on ARCH_SUNXI
Maxime Ripard3d0b16a2015-07-27 12:17:09 +0100176 help
177 This is a driver for the 'security ID' available on various Allwinner
178 devices.
179
180 This driver can also be built as a module. If so, the module
181 will be called nvmem_sunxi_sid.
182
Keiji Hayashibara71c5dd52017-10-24 10:54:26 +0100183config UNIPHIER_EFUSE
184 tristate "UniPhier SoCs eFuse support"
185 depends on ARCH_UNIPHIER || COMPILE_TEST
186 depends on HAS_IOMEM
187 help
188 This is a simple driver to dump specified values of UniPhier SoC
189 from eFuse.
190
191 This driver can also be built as a module. If so, the module
192 will be called nvmem-uniphier-efuse.
193
Sanchayan Maity22dbdb72015-09-30 13:54:59 +0100194config NVMEM_VF610_OCOTP
195 tristate "VF610 SoC OCOTP support"
196 depends on SOC_VF610 || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000197 depends on HAS_IOMEM
Sanchayan Maity22dbdb72015-09-30 13:54:59 +0100198 help
199 This is a driver for the 'OCOTP' peripheral available on Vybrid
200 devices like VF5xx and VF6xx.
201
202 This driver can also be build as a module. If so, the module will
203 be called nvmem-vf610-ocotp.
204
Carlo Caionead855ea2016-08-27 15:43:46 +0200205config MESON_EFUSE
Martin Blumenstingl9593ad32017-10-09 15:26:40 +0200206 tristate "Amlogic Meson GX eFuse Support"
Carlo Caionead855ea2016-08-27 15:43:46 +0200207 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
208 help
209 This is a driver to retrieve specific values from the eFuse found on
Martin Blumenstingl9593ad32017-10-09 15:26:40 +0200210 the Amlogic Meson GX SoCs.
Carlo Caionead855ea2016-08-27 15:43:46 +0200211
212 This driver can also be built as a module. If so, the module
213 will be called nvmem_meson_efuse.
214
Martin Blumenstingl8caef1f2017-10-09 15:26:41 +0200215config MESON_MX_EFUSE
216 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
217 depends on ARCH_MESON || COMPILE_TEST
218 help
219 This is a driver to retrieve specific values from the eFuse found on
220 the Amlogic Meson6, Meson8 and Meson8b SoCs.
221
222 This driver can also be built as a module. If so, the module
223 will be called nvmem_meson_mx_efuse.
224
Oleksij Rempel988437a2017-09-17 12:33:43 +0200225config NVMEM_SNVS_LPGPR
226 tristate "Support for Low Power General Purpose Register"
Fabio Estevam2d1c1932019-06-14 15:32:20 +0100227 depends on ARCH_MXC || COMPILE_TEST
Oleksij Rempel988437a2017-09-17 12:33:43 +0200228 help
229 This is a driver for Low Power General Purpose Register (LPGPR) available on
Andrey Yurovsky80b820c2018-03-09 14:47:16 +0000230 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
Oleksij Rempel988437a2017-09-17 12:33:43 +0200231
232 This driver can also be built as a module. If so, the module
233 will be called nvmem-snvs-lpgpr.
234
Andrey Smirnov3b51f472018-05-11 12:06:58 +0100235config RAVE_SP_EEPROM
236 tristate "Rave SP EEPROM Support"
237 depends on RAVE_SP_CORE
238 help
239 Say y here to enable Rave SP EEPROM support.
240
Freeman Liu19c54462018-07-11 11:20:41 +0100241config SC27XX_EFUSE
242 tristate "Spreadtrum SC27XX eFuse Support"
243 depends on MFD_SC27XX_PMIC || COMPILE_TEST
244 depends on HAS_IOMEM
245 help
246 This is a simple driver to dump specified values of Spreadtrum
247 SC27XX PMICs from eFuse.
248
249 This driver can also be built as a module. If so, the module
250 will be called nvmem-sc27xx-efuse.
251
Nava kishore Manne4640fa12019-02-06 16:37:21 +0530252config NVMEM_ZYNQMP
253 bool "Xilinx ZYNQMP SoC nvmem firmware support"
254 depends on ARCH_ZYNQMP
255 help
256 This is a driver to access hardware related data like
257 soc revision, IDCODE... etc by using the firmware
258 interface.
259
260 If sure, say yes. If unsure, say no.
261
Freeman Liu096030e2019-10-29 11:42:37 +0000262config SPRD_EFUSE
263 tristate "Spreadtrum SoC eFuse Support"
264 depends on ARCH_SPRD || COMPILE_TEST
265 depends on HAS_IOMEM
266 help
267 This is a simple driver to dump specified values of Spreadtrum
268 SoCs from eFuse.
269
270 This driver can also be built as a module. If so, the module
271 will be called nvmem-sprd-efuse.
272
Nicolas Saenz Julienne5a3fa752021-01-29 17:14:29 +0000273config NVMEM_RMEM
274 tristate "Reserved Memory Based Driver Support"
Srinivas Kandagatlacc1bc562021-03-30 12:12:39 +0100275 depends on HAS_IOMEM
Nicolas Saenz Julienne5a3fa752021-01-29 17:14:29 +0000276 help
Nicolas Saenz Julienneb31f1eb2021-02-05 10:08:52 +0000277 This driver maps reserved memory into an nvmem device. It might be
Nicolas Saenz Julienne5a3fa752021-01-29 17:14:29 +0000278 useful to expose information left by firmware in memory.
279
280 This driver can also be built as a module. If so, the module
281 will be called nvmem-rmem.
Rafał Miłecki3fef9ed2021-03-30 12:12:36 +0100282
283config NVMEM_BRCM_NVRAM
284 tristate "Broadcom's NVRAM support"
285 depends on ARCH_BCM_5301X || COMPILE_TEST
286 depends on HAS_IOMEM
287 help
288 This driver provides support for Broadcom's NVRAM that can be accessed
289 using I/O mapping.
290
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +0100291endif