1 # SPDX-License-Identifier: GPL-2.0-only
5 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
7 This framework is designed to provide a generic interface to NVMEM
8 from both the Linux Kernel and the userspace.
10 This driver can also be built as a module. If so, the module
11 will be called nvmem_core.
18 bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
22 Say Y here to add a sysfs interface for NVMEM.
24 This interface is mostly used by userspace applications to
25 read/write directly into nvmem.
28 tristate "i.MX IC Identification Module support"
29 depends on ARCH_MXC || COMPILE_TEST
31 This is a driver for the IC Identification Module (IIM) available on
32 i.MX SoCs, providing access to 4 Kbits of programmable
35 This driver can also be built as a module. If so, the module
36 will be called nvmem-imx-iim.
38 config NVMEM_IMX_OCOTP
39 tristate "i.MX 6/7/8 On-Chip OTP Controller support"
40 depends on ARCH_MXC || COMPILE_TEST
43 This is a driver for the On-Chip OTP Controller (OCOTP) available on
44 i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
47 This driver can also be built as a module. If so, the module
48 will be called nvmem-imx-ocotp.
50 config NVMEM_IMX_OCOTP_SCU
51 tristate "i.MX8 SCU On-Chip OTP Controller support"
53 depends on HAVE_ARM_SMCCC
55 This is a driver for the SCU On-Chip OTP Controller (OCOTP)
56 available on i.MX8 SoCs.
59 tristate "JZ4780 EFUSE Memory Support"
60 depends on MACH_INGENIC || COMPILE_TEST
65 Say Y here to include support for JZ4780 efuse memory found on
66 all JZ4780 SoC based devices.
67 To compile this driver as a module, choose M here: the module
68 will be called nvmem_jz4780_efuse.
70 config NVMEM_LPC18XX_EEPROM
71 tristate "NXP LPC18XX EEPROM Memory Support"
72 depends on ARCH_LPC18XX || COMPILE_TEST
75 Say Y here to include support for NXP LPC18xx EEPROM memory found in
76 NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
77 To compile this driver as a module, choose M here: the module
78 will be called nvmem_lpc18xx_eeprom.
80 config NVMEM_LPC18XX_OTP
81 tristate "NXP LPC18XX OTP Memory Support"
82 depends on ARCH_LPC18XX || COMPILE_TEST
85 Say Y here to include support for NXP LPC18xx OTP memory found on
86 all LPC18xx and LPC43xx devices.
87 To compile this driver as a module, choose M here: the module
88 will be called nvmem_lpc18xx_otp.
90 config NVMEM_MXS_OCOTP
91 tristate "Freescale MXS On-Chip OTP Memory Support"
92 depends on ARCH_MXS || COMPILE_TEST
95 If you say Y here, you will get readonly access to the
96 One Time Programmable memory pages that are stored
97 on the Freescale i.MX23/i.MX28 processor.
99 This driver can also be built as a module. If so, the module
100 will be called nvmem-mxs-ocotp.
103 tristate "Mediatek SoCs EFUSE support"
104 depends on ARCH_MEDIATEK || COMPILE_TEST
107 This is a driver to access hardware related data like sensor
108 calibration, HDMI impedance etc.
110 This driver can also be built as a module. If so, the module
111 will be called efuse-mtk.
114 tristate "QCOM QFPROM Support"
115 depends on ARCH_QCOM || COMPILE_TEST
118 Say y here to enable QFPROM support. The QFPROM provides access
119 functions for QFPROM data to rest of the drivers via nvmem interface.
121 This driver can also be built as a module. If so, the module
122 will be called nvmem_qfprom.
124 config NVMEM_SPMI_SDAM
125 tristate "SPMI SDAM Support"
128 This driver supports the Shared Direct Access Memory Module on
129 Qualcomm Technologies, Inc. PMICs. It provides the clients
130 an interface to read/write to the SDAM module's shared memory.
132 config ROCKCHIP_EFUSE
133 tristate "Rockchip eFuse Support"
134 depends on ARCH_ROCKCHIP || COMPILE_TEST
137 This is a simple drive to dump specified values of Rockchip SoC
138 from eFuse, such as cpu-leakage.
140 This driver can also be built as a module. If so, the module
141 will be called nvmem_rockchip_efuse.
144 tristate "Rockchip OTP controller support"
145 depends on ARCH_ROCKCHIP || COMPILE_TEST
148 This is a simple drive to dump specified values of Rockchip SoC
149 from otp, such as cpu-leakage.
151 This driver can also be built as a module. If so, the module
152 will be called nvmem_rockchip_otp.
154 config NVMEM_BCM_OCOTP
155 tristate "Broadcom On-Chip OTP Controller support"
156 depends on ARCH_BCM_IPROC || COMPILE_TEST
158 default ARCH_BCM_IPROC
160 Say y here to enable read/write access to the Broadcom OTP
163 This driver can also be built as a module. If so, the module
164 will be called nvmem-bcm-ocotp.
166 config NVMEM_STM32_ROMEM
167 tristate "STMicroelectronics STM32 factory-programmed memory support"
168 depends on ARCH_STM32 || COMPILE_TEST
170 Say y here to enable read-only access for STMicroelectronics STM32
171 factory-programmed memory area.
173 This driver can also be built as a module. If so, the module
174 will be called nvmem-stm32-romem.
176 config NVMEM_SUNXI_SID
177 tristate "Allwinner SoCs SID support"
178 depends on ARCH_SUNXI
180 This is a driver for the 'security ID' available on various Allwinner
183 This driver can also be built as a module. If so, the module
184 will be called nvmem_sunxi_sid.
186 config UNIPHIER_EFUSE
187 tristate "UniPhier SoCs eFuse support"
188 depends on ARCH_UNIPHIER || COMPILE_TEST
191 This is a simple driver to dump specified values of UniPhier SoC
194 This driver can also be built as a module. If so, the module
195 will be called nvmem-uniphier-efuse.
197 config NVMEM_VF610_OCOTP
198 tristate "VF610 SoC OCOTP support"
199 depends on SOC_VF610 || COMPILE_TEST
202 This is a driver for the 'OCOTP' peripheral available on Vybrid
203 devices like VF5xx and VF6xx.
205 This driver can also be build as a module. If so, the module will
206 be called nvmem-vf610-ocotp.
209 tristate "Amlogic Meson GX eFuse Support"
210 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
212 This is a driver to retrieve specific values from the eFuse found on
213 the Amlogic Meson GX SoCs.
215 This driver can also be built as a module. If so, the module
216 will be called nvmem_meson_efuse.
218 config MESON_MX_EFUSE
219 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
220 depends on ARCH_MESON || COMPILE_TEST
222 This is a driver to retrieve specific values from the eFuse found on
223 the Amlogic Meson6, Meson8 and Meson8b SoCs.
225 This driver can also be built as a module. If so, the module
226 will be called nvmem_meson_mx_efuse.
228 config NVMEM_SNVS_LPGPR
229 tristate "Support for Low Power General Purpose Register"
230 depends on ARCH_MXC || COMPILE_TEST
232 This is a driver for Low Power General Purpose Register (LPGPR) available on
233 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
235 This driver can also be built as a module. If so, the module
236 will be called nvmem-snvs-lpgpr.
238 config RAVE_SP_EEPROM
239 tristate "Rave SP EEPROM Support"
240 depends on RAVE_SP_CORE
242 Say y here to enable Rave SP EEPROM support.
245 tristate "Spreadtrum SC27XX eFuse Support"
246 depends on MFD_SC27XX_PMIC || COMPILE_TEST
249 This is a simple driver to dump specified values of Spreadtrum
250 SC27XX PMICs from eFuse.
252 This driver can also be built as a module. If so, the module
253 will be called nvmem-sc27xx-efuse.
256 bool "Xilinx ZYNQMP SoC nvmem firmware support"
257 depends on ARCH_ZYNQMP
259 This is a driver to access hardware related data like
260 soc revision, IDCODE... etc by using the firmware
263 If sure, say yes. If unsure, say no.
266 tristate "Spreadtrum SoC eFuse Support"
267 depends on ARCH_SPRD || COMPILE_TEST
270 This is a simple driver to dump specified values of Spreadtrum
273 This driver can also be built as a module. If so, the module
274 will be called nvmem-sprd-efuse.