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.
15 bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
19 Say Y here to add a sysfs interface for NVMEM.
21 This interface is mostly used by userspace applications to
22 read/write directly into nvmem.
25 tristate "i.MX IC Identification Module support"
26 depends on ARCH_MXC || COMPILE_TEST
28 This is a driver for the IC Identification Module (IIM) available on
29 i.MX SoCs, providing access to 4 Kbits of programmable
32 This driver can also be built as a module. If so, the module
33 will be called nvmem-imx-iim.
35 config NVMEM_IMX_OCOTP
36 tristate "i.MX 6/7/8 On-Chip OTP Controller support"
37 depends on ARCH_MXC || COMPILE_TEST
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
44 This driver can also be built as a module. If so, the module
45 will be called nvmem-imx-ocotp.
47 config NVMEM_IMX_OCOTP_SCU
48 tristate "i.MX8 SCU On-Chip OTP Controller support"
50 depends on HAVE_ARM_SMCCC
52 This is a driver for the SCU On-Chip OTP Controller (OCOTP)
53 available on i.MX8 SoCs.
56 tristate "JZ4780 EFUSE Memory Support"
57 depends on MACH_INGENIC || COMPILE_TEST
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.
67 config NVMEM_LPC18XX_EEPROM
68 tristate "NXP LPC18XX EEPROM Memory Support"
69 depends on ARCH_LPC18XX || COMPILE_TEST
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.
77 config NVMEM_LPC18XX_OTP
78 tristate "NXP LPC18XX OTP Memory Support"
79 depends on ARCH_LPC18XX || COMPILE_TEST
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.
87 config NVMEM_MXS_OCOTP
88 tristate "Freescale MXS On-Chip OTP Memory Support"
89 depends on ARCH_MXS || COMPILE_TEST
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.
96 This driver can also be built as a module. If so, the module
97 will be called nvmem-mxs-ocotp.
100 tristate "Mediatek SoCs EFUSE support"
101 depends on ARCH_MEDIATEK || COMPILE_TEST
104 This is a driver to access hardware related data like sensor
105 calibration, HDMI impedance etc.
107 This driver can also be built as a module. If so, the module
108 will be called efuse-mtk.
110 config NVMEM_NINTENDO_OTP
111 tristate "Nintendo Wii and Wii U OTP Support"
113 This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
115 This memory contains common and per-console keys, signatures and
116 related data required to access peripherals.
118 This driver can also be built as a module. If so, the module
119 will be called nvmem-nintendo-otp.
122 tristate "QCOM QFPROM Support"
123 depends on ARCH_QCOM || COMPILE_TEST
126 Say y here to enable QFPROM support. The QFPROM provides access
127 functions for QFPROM data to rest of the drivers via nvmem interface.
129 This driver can also be built as a module. If so, the module
130 will be called nvmem_qfprom.
132 config NVMEM_SPMI_SDAM
133 tristate "SPMI SDAM Support"
136 This driver supports the Shared Direct Access Memory Module on
137 Qualcomm Technologies, Inc. PMICs. It provides the clients
138 an interface to read/write to the SDAM module's shared memory.
140 config ROCKCHIP_EFUSE
141 tristate "Rockchip eFuse Support"
142 depends on ARCH_ROCKCHIP || COMPILE_TEST
145 This is a simple drive to dump specified values of Rockchip SoC
146 from eFuse, such as cpu-leakage.
148 This driver can also be built as a module. If so, the module
149 will be called nvmem_rockchip_efuse.
152 tristate "Rockchip OTP controller support"
153 depends on ARCH_ROCKCHIP || COMPILE_TEST
156 This is a simple drive to dump specified values of Rockchip SoC
157 from otp, such as cpu-leakage.
159 This driver can also be built as a module. If so, the module
160 will be called nvmem_rockchip_otp.
162 config NVMEM_BCM_OCOTP
163 tristate "Broadcom On-Chip OTP Controller support"
164 depends on ARCH_BCM_IPROC || COMPILE_TEST
166 default ARCH_BCM_IPROC
168 Say y here to enable read/write access to the Broadcom OTP
171 This driver can also be built as a module. If so, the module
172 will be called nvmem-bcm-ocotp.
174 config NVMEM_STM32_ROMEM
175 tristate "STMicroelectronics STM32 factory-programmed memory support"
176 depends on ARCH_STM32 || COMPILE_TEST
178 Say y here to enable read-only access for STMicroelectronics STM32
179 factory-programmed memory area.
181 This driver can also be built as a module. If so, the module
182 will be called nvmem-stm32-romem.
184 config NVMEM_SUNXI_SID
185 tristate "Allwinner SoCs SID support"
186 depends on ARCH_SUNXI
188 This is a driver for the 'security ID' available on various Allwinner
191 This driver can also be built as a module. If so, the module
192 will be called nvmem_sunxi_sid.
194 config UNIPHIER_EFUSE
195 tristate "UniPhier SoCs eFuse support"
196 depends on ARCH_UNIPHIER || COMPILE_TEST
199 This is a simple driver to dump specified values of UniPhier SoC
202 This driver can also be built as a module. If so, the module
203 will be called nvmem-uniphier-efuse.
205 config NVMEM_VF610_OCOTP
206 tristate "VF610 SoC OCOTP support"
207 depends on SOC_VF610 || COMPILE_TEST
210 This is a driver for the 'OCOTP' peripheral available on Vybrid
211 devices like VF5xx and VF6xx.
213 This driver can also be build as a module. If so, the module will
214 be called nvmem-vf610-ocotp.
217 tristate "Amlogic Meson GX eFuse Support"
218 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
220 This is a driver to retrieve specific values from the eFuse found on
221 the Amlogic Meson GX SoCs.
223 This driver can also be built as a module. If so, the module
224 will be called nvmem_meson_efuse.
226 config MESON_MX_EFUSE
227 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
228 depends on ARCH_MESON || COMPILE_TEST
230 This is a driver to retrieve specific values from the eFuse found on
231 the Amlogic Meson6, Meson8 and Meson8b SoCs.
233 This driver can also be built as a module. If so, the module
234 will be called nvmem_meson_mx_efuse.
236 config NVMEM_SNVS_LPGPR
237 tristate "Support for Low Power General Purpose Register"
238 depends on ARCH_MXC || COMPILE_TEST
240 This is a driver for Low Power General Purpose Register (LPGPR) available on
241 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
243 This driver can also be built as a module. If so, the module
244 will be called nvmem-snvs-lpgpr.
246 config RAVE_SP_EEPROM
247 tristate "Rave SP EEPROM Support"
248 depends on RAVE_SP_CORE
250 Say y here to enable Rave SP EEPROM support.
253 tristate "Spreadtrum SC27XX eFuse Support"
254 depends on MFD_SC27XX_PMIC || COMPILE_TEST
257 This is a simple driver to dump specified values of Spreadtrum
258 SC27XX PMICs from eFuse.
260 This driver can also be built as a module. If so, the module
261 will be called nvmem-sc27xx-efuse.
264 bool "Xilinx ZYNQMP SoC nvmem firmware support"
265 depends on ARCH_ZYNQMP
267 This is a driver to access hardware related data like
268 soc revision, IDCODE... etc by using the firmware
271 If sure, say yes. If unsure, say no.
274 tristate "Spreadtrum SoC eFuse Support"
275 depends on ARCH_SPRD || COMPILE_TEST
278 This is a simple driver to dump specified values of Spreadtrum
281 This driver can also be built as a module. If so, the module
282 will be called nvmem-sprd-efuse.
285 tristate "Reserved Memory Based Driver Support"
288 This driver maps reserved memory into an nvmem device. It might be
289 useful to expose information left by firmware in memory.
291 This driver can also be built as a module. If so, the module
292 will be called nvmem-rmem.
294 config NVMEM_BRCM_NVRAM
295 tristate "Broadcom's NVRAM support"
296 depends on ARCH_BCM_5301X || COMPILE_TEST
299 This driver provides support for Broadcom's NVRAM that can be accessed