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.
58 config NVMEM_LPC18XX_EEPROM
59 tristate "NXP LPC18XX EEPROM Memory Support"
60 depends on ARCH_LPC18XX || COMPILE_TEST
63 Say Y here to include support for NXP LPC18xx EEPROM memory found in
64 NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
65 To compile this driver as a module, choose M here: the module
66 will be called nvmem_lpc18xx_eeprom.
68 config NVMEM_LPC18XX_OTP
69 tristate "NXP LPC18XX OTP Memory Support"
70 depends on ARCH_LPC18XX || COMPILE_TEST
73 Say Y here to include support for NXP LPC18xx OTP memory found on
74 all LPC18xx and LPC43xx devices.
75 To compile this driver as a module, choose M here: the module
76 will be called nvmem_lpc18xx_otp.
78 config NVMEM_MXS_OCOTP
79 tristate "Freescale MXS On-Chip OTP Memory Support"
80 depends on ARCH_MXS || COMPILE_TEST
83 If you say Y here, you will get readonly access to the
84 One Time Programmable memory pages that are stored
85 on the Freescale i.MX23/i.MX28 processor.
87 This driver can also be built as a module. If so, the module
88 will be called nvmem-mxs-ocotp.
91 tristate "Mediatek SoCs EFUSE support"
92 depends on ARCH_MEDIATEK || COMPILE_TEST
95 This is a driver to access hardware related data like sensor
96 calibration, HDMI impedance etc.
98 This driver can also be built as a module. If so, the module
99 will be called efuse-mtk.
102 tristate "QCOM QFPROM Support"
103 depends on ARCH_QCOM || COMPILE_TEST
106 Say y here to enable QFPROM support. The QFPROM provides access
107 functions for QFPROM data to rest of the drivers via nvmem interface.
109 This driver can also be built as a module. If so, the module
110 will be called nvmem_qfprom.
112 config NVMEM_SPMI_SDAM
113 tristate "SPMI SDAM Support"
116 This driver supports the Shared Direct Access Memory Module on
117 Qualcomm Technologies, Inc. PMICs. It provides the clients
118 an interface to read/write to the SDAM module's shared memory.
120 config ROCKCHIP_EFUSE
121 tristate "Rockchip eFuse Support"
122 depends on ARCH_ROCKCHIP || COMPILE_TEST
125 This is a simple drive to dump specified values of Rockchip SoC
126 from eFuse, such as cpu-leakage.
128 This driver can also be built as a module. If so, the module
129 will be called nvmem_rockchip_efuse.
132 tristate "Rockchip OTP controller support"
133 depends on ARCH_ROCKCHIP || COMPILE_TEST
136 This is a simple drive to dump specified values of Rockchip SoC
137 from otp, such as cpu-leakage.
139 This driver can also be built as a module. If so, the module
140 will be called nvmem_rockchip_otp.
142 config NVMEM_BCM_OCOTP
143 tristate "Broadcom On-Chip OTP Controller support"
144 depends on ARCH_BCM_IPROC || COMPILE_TEST
146 default ARCH_BCM_IPROC
148 Say y here to enable read/write access to the Broadcom OTP
151 This driver can also be built as a module. If so, the module
152 will be called nvmem-bcm-ocotp.
154 config NVMEM_STM32_ROMEM
155 tristate "STMicroelectronics STM32 factory-programmed memory support"
156 depends on ARCH_STM32 || COMPILE_TEST
158 Say y here to enable read-only access for STMicroelectronics STM32
159 factory-programmed memory area.
161 This driver can also be built as a module. If so, the module
162 will be called nvmem-stm32-romem.
164 config NVMEM_SUNXI_SID
165 tristate "Allwinner SoCs SID support"
166 depends on ARCH_SUNXI
168 This is a driver for the 'security ID' available on various Allwinner
171 This driver can also be built as a module. If so, the module
172 will be called nvmem_sunxi_sid.
174 config UNIPHIER_EFUSE
175 tristate "UniPhier SoCs eFuse support"
176 depends on ARCH_UNIPHIER || COMPILE_TEST
179 This is a simple driver to dump specified values of UniPhier SoC
182 This driver can also be built as a module. If so, the module
183 will be called nvmem-uniphier-efuse.
185 config NVMEM_VF610_OCOTP
186 tristate "VF610 SoC OCOTP support"
187 depends on SOC_VF610 || COMPILE_TEST
190 This is a driver for the 'OCOTP' peripheral available on Vybrid
191 devices like VF5xx and VF6xx.
193 This driver can also be build as a module. If so, the module will
194 be called nvmem-vf610-ocotp.
197 tristate "Amlogic Meson GX eFuse Support"
198 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
200 This is a driver to retrieve specific values from the eFuse found on
201 the Amlogic Meson GX SoCs.
203 This driver can also be built as a module. If so, the module
204 will be called nvmem_meson_efuse.
206 config MESON_MX_EFUSE
207 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
208 depends on ARCH_MESON || COMPILE_TEST
210 This is a driver to retrieve specific values from the eFuse found on
211 the Amlogic Meson6, Meson8 and Meson8b SoCs.
213 This driver can also be built as a module. If so, the module
214 will be called nvmem_meson_mx_efuse.
216 config NVMEM_SNVS_LPGPR
217 tristate "Support for Low Power General Purpose Register"
218 depends on ARCH_MXC || COMPILE_TEST
220 This is a driver for Low Power General Purpose Register (LPGPR) available on
221 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
223 This driver can also be built as a module. If so, the module
224 will be called nvmem-snvs-lpgpr.
226 config RAVE_SP_EEPROM
227 tristate "Rave SP EEPROM Support"
228 depends on RAVE_SP_CORE
230 Say y here to enable Rave SP EEPROM support.
233 tristate "Spreadtrum SC27XX eFuse Support"
234 depends on MFD_SC27XX_PMIC || COMPILE_TEST
237 This is a simple driver to dump specified values of Spreadtrum
238 SC27XX PMICs from eFuse.
240 This driver can also be built as a module. If so, the module
241 will be called nvmem-sc27xx-efuse.
244 bool "Xilinx ZYNQMP SoC nvmem firmware support"
245 depends on ARCH_ZYNQMP
247 This is a driver to access hardware related data like
248 soc revision, IDCODE... etc by using the firmware
251 If sure, say yes. If unsure, say no.
254 tristate "Spreadtrum SoC eFuse Support"
255 depends on ARCH_SPRD || COMPILE_TEST
258 This is a simple driver to dump specified values of Spreadtrum
261 This driver can also be built as a module. If so, the module
262 will be called nvmem-sprd-efuse.