dt-bindings: nvmem: add fsl,layerscape-sfp binding
[linux-block.git] / drivers / nvmem / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
eace75cf 2menuconfig NVMEM
2a37ce25 3 bool "NVMEM Support"
eace75cf
SK
4 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
eace75cf 10 If unsure, say no.
4ab11996
SK
11
12if NVMEM
13
ae0c2d72
SK
14config 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
c066c1c0
MG
24config 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
3edba6b4 35config NVMEM_IMX_OCOTP
dd4c1047
LS
36 tristate "i.MX 6/7/8 On-Chip OTP Controller support"
37 depends on ARCH_MXC || COMPILE_TEST
63c0c076 38 depends on HAS_IOMEM
3edba6b4
PZ
39 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
67ff708b
PF
47config NVMEM_IMX_OCOTP_SCU
48 tristate "i.MX8 SCU On-Chip OTP Controller support"
49 depends on IMX_SCU
b210fac7 50 depends on HAVE_ARM_SMCCC
67ff708b
PF
51 help
52 This is a driver for the SCU On-Chip OTP Controller (OCOTP)
53 available on i.MX8 SoCs.
54
4a2addc2
PM
55config 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
f02f8aee
AA
67config NVMEM_LPC18XX_EEPROM
68 tristate "NXP LPC18XX EEPROM Memory Support"
69 depends on ARCH_LPC18XX || COMPILE_TEST
2ce7aed6 70 depends on HAS_IOMEM
f02f8aee
AA
71 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
88806daf
JE
77config 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
c01e9a11
SW
87config NVMEM_MXS_OCOTP
88 tristate "Freescale MXS On-Chip OTP Memory Support"
89 depends on ARCH_MXS || COMPILE_TEST
5685e244 90 depends on HAS_IOMEM
c01e9a11
SW
91 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
4c7e4fe3
ACC
99config MTK_EFUSE
100 tristate "Mediatek SoCs EFUSE support"
101 depends on ARCH_MEDIATEK || COMPILE_TEST
2ce7aed6 102 depends on HAS_IOMEM
4c7e4fe3
ACC
103 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
3683b761
EGP
110config NVMEM_NINTENDO_OTP
111 tristate "Nintendo Wii and Wii U OTP Support"
7af526c7 112 depends on WII || COMPILE_TEST
3683b761
EGP
113 help
114 This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
115
116 This memory contains common and per-console keys, signatures and
117 related data required to access peripherals.
118
119 This driver can also be built as a module. If so, the module
120 will be called nvmem-nintendo-otp.
121
4ab11996
SK
122config QCOM_QFPROM
123 tristate "QCOM QFPROM Support"
124 depends on ARCH_QCOM || COMPILE_TEST
5685e244 125 depends on HAS_IOMEM
4ab11996
SK
126 help
127 Say y here to enable QFPROM support. The QFPROM provides access
128 functions for QFPROM data to rest of the drivers via nvmem interface.
129
130 This driver can also be built as a module. If so, the module
131 will be called nvmem_qfprom.
132
40ce9798
AG
133config NVMEM_SPMI_SDAM
134 tristate "SPMI SDAM Support"
135 depends on SPMI
136 help
137 This driver supports the Shared Direct Access Memory Module on
138 Qualcomm Technologies, Inc. PMICs. It provides the clients
139 an interface to read/write to the SDAM module's shared memory.
140
03a69568
Z
141config ROCKCHIP_EFUSE
142 tristate "Rockchip eFuse Support"
143 depends on ARCH_ROCKCHIP || COMPILE_TEST
5685e244 144 depends on HAS_IOMEM
03a69568
Z
145 help
146 This is a simple drive to dump specified values of Rockchip SoC
147 from eFuse, such as cpu-leakage.
148
149 This driver can also be built as a module. If so, the module
150 will be called nvmem_rockchip_efuse.
151
755864fe
FX
152config ROCKCHIP_OTP
153 tristate "Rockchip OTP controller support"
154 depends on ARCH_ROCKCHIP || COMPILE_TEST
155 depends on HAS_IOMEM
156 help
157 This is a simple drive to dump specified values of Rockchip SoC
158 from otp, such as cpu-leakage.
159
160 This driver can also be built as a module. If so, the module
161 will be called nvmem_rockchip_otp.
162
9d59c6e8
JR
163config NVMEM_BCM_OCOTP
164 tristate "Broadcom On-Chip OTP Controller support"
165 depends on ARCH_BCM_IPROC || COMPILE_TEST
166 depends on HAS_IOMEM
167 default ARCH_BCM_IPROC
168 help
169 Say y here to enable read/write access to the Broadcom OTP
170 controller.
171
172 This driver can also be built as a module. If so, the module
173 will be called nvmem-bcm-ocotp.
174
ded1b7fc
FG
175config NVMEM_STM32_ROMEM
176 tristate "STMicroelectronics STM32 factory-programmed memory support"
177 depends on ARCH_STM32 || COMPILE_TEST
178 help
179 Say y here to enable read-only access for STMicroelectronics STM32
180 factory-programmed memory area.
181
182 This driver can also be built as a module. If so, the module
183 will be called nvmem-stm32-romem.
184
3d0b16a6
MR
185config NVMEM_SUNXI_SID
186 tristate "Allwinner SoCs SID support"
187 depends on ARCH_SUNXI
3d0b16a6
MR
188 help
189 This is a driver for the 'security ID' available on various Allwinner
190 devices.
191
192 This driver can also be built as a module. If so, the module
193 will be called nvmem_sunxi_sid.
194
71c5dd50
KH
195config UNIPHIER_EFUSE
196 tristate "UniPhier SoCs eFuse support"
197 depends on ARCH_UNIPHIER || COMPILE_TEST
198 depends on HAS_IOMEM
199 help
200 This is a simple driver to dump specified values of UniPhier SoC
201 from eFuse.
202
203 This driver can also be built as a module. If so, the module
204 will be called nvmem-uniphier-efuse.
205
22dbdb7c
SM
206config NVMEM_VF610_OCOTP
207 tristate "VF610 SoC OCOTP support"
208 depends on SOC_VF610 || COMPILE_TEST
5685e244 209 depends on HAS_IOMEM
22dbdb7c
SM
210 help
211 This is a driver for the 'OCOTP' peripheral available on Vybrid
212 devices like VF5xx and VF6xx.
213
214 This driver can also be build as a module. If so, the module will
215 be called nvmem-vf610-ocotp.
216
ad855eae 217config MESON_EFUSE
9593ad32 218 tristate "Amlogic Meson GX eFuse Support"
ad855eae
CC
219 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
220 help
221 This is a driver to retrieve specific values from the eFuse found on
9593ad32 222 the Amlogic Meson GX SoCs.
ad855eae
CC
223
224 This driver can also be built as a module. If so, the module
225 will be called nvmem_meson_efuse.
226
8caef1fa
MB
227config MESON_MX_EFUSE
228 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
229 depends on ARCH_MESON || COMPILE_TEST
230 help
231 This is a driver to retrieve specific values from the eFuse found on
232 the Amlogic Meson6, Meson8 and Meson8b SoCs.
233
234 This driver can also be built as a module. If so, the module
235 will be called nvmem_meson_mx_efuse.
236
988437ae
OR
237config NVMEM_SNVS_LPGPR
238 tristate "Support for Low Power General Purpose Register"
2d1c1939 239 depends on ARCH_MXC || COMPILE_TEST
988437ae
OR
240 help
241 This is a driver for Low Power General Purpose Register (LPGPR) available on
80b820ca 242 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
988437ae
OR
243
244 This driver can also be built as a module. If so, the module
245 will be called nvmem-snvs-lpgpr.
246
3b51f47b
AS
247config RAVE_SP_EEPROM
248 tristate "Rave SP EEPROM Support"
249 depends on RAVE_SP_CORE
250 help
251 Say y here to enable Rave SP EEPROM support.
252
19c54468
FL
253config SC27XX_EFUSE
254 tristate "Spreadtrum SC27XX eFuse Support"
255 depends on MFD_SC27XX_PMIC || COMPILE_TEST
256 depends on HAS_IOMEM
257 help
258 This is a simple driver to dump specified values of Spreadtrum
259 SC27XX PMICs from eFuse.
260
261 This driver can also be built as a module. If so, the module
262 will be called nvmem-sc27xx-efuse.
263
4640fa18
NM
264config NVMEM_ZYNQMP
265 bool "Xilinx ZYNQMP SoC nvmem firmware support"
266 depends on ARCH_ZYNQMP
267 help
268 This is a driver to access hardware related data like
269 soc revision, IDCODE... etc by using the firmware
270 interface.
271
272 If sure, say yes. If unsure, say no.
273
096030e7
FL
274config SPRD_EFUSE
275 tristate "Spreadtrum SoC eFuse Support"
276 depends on ARCH_SPRD || COMPILE_TEST
277 depends on HAS_IOMEM
278 help
279 This is a simple driver to dump specified values of Spreadtrum
280 SoCs from eFuse.
281
282 This driver can also be built as a module. If so, the module
283 will be called nvmem-sprd-efuse.
284
5a3fa75a
NSJ
285config NVMEM_RMEM
286 tristate "Reserved Memory Based Driver Support"
cc1bc56f 287 depends on HAS_IOMEM
5a3fa75a 288 help
b31f1eb4 289 This driver maps reserved memory into an nvmem device. It might be
5a3fa75a
NSJ
290 useful to expose information left by firmware in memory.
291
292 This driver can also be built as a module. If so, the module
293 will be called nvmem-rmem.
3fef9ed0
RM
294
295config NVMEM_BRCM_NVRAM
296 tristate "Broadcom's NVRAM support"
297 depends on ARCH_BCM_5301X || COMPILE_TEST
298 depends on HAS_IOMEM
299 help
300 This driver provides support for Broadcom's NVRAM that can be accessed
301 using I/O mapping.
302
4ab11996 303endif