Merge branch 'work.openat2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / drivers / nvmem / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig NVMEM
3         bool "NVMEM Support"
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
10           This driver can also be built as a module. If so, the module
11           will be called nvmem_core.
12
13           If unsure, say no.
14
15 if NVMEM
16
17 config NVMEM_SYSFS
18         bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
19         depends on SYSFS
20         default y
21         help
22          Say Y here to add a sysfs interface for NVMEM.
23
24          This interface is mostly used by userspace applications to
25          read/write directly into nvmem.
26
27 config NVMEM_IMX_IIM
28         tristate "i.MX IC Identification Module support"
29         depends on ARCH_MXC || COMPILE_TEST
30         help
31           This is a driver for the IC Identification Module (IIM) available on
32           i.MX SoCs, providing access to 4 Kbits of programmable
33           eFuses.
34
35           This driver can also be built as a module. If so, the module
36           will be called nvmem-imx-iim.
37
38 config NVMEM_IMX_OCOTP
39         tristate "i.MX 6/7/8 On-Chip OTP Controller support"
40         depends on ARCH_MXC || COMPILE_TEST
41         depends on HAS_IOMEM
42         help
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
45           eFuses.
46
47           This driver can also be built as a module. If so, the module
48           will be called nvmem-imx-ocotp.
49
50 config NVMEM_IMX_OCOTP_SCU
51         tristate "i.MX8 SCU On-Chip OTP Controller support"
52         depends on IMX_SCU
53         depends on HAVE_ARM_SMCCC
54         help
55           This is a driver for the SCU On-Chip OTP Controller (OCOTP)
56           available on i.MX8 SoCs.
57
58 config NVMEM_LPC18XX_EEPROM
59         tristate "NXP LPC18XX EEPROM Memory Support"
60         depends on ARCH_LPC18XX || COMPILE_TEST
61         depends on HAS_IOMEM
62         help
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.
67
68 config NVMEM_LPC18XX_OTP
69         tristate "NXP LPC18XX OTP Memory Support"
70         depends on ARCH_LPC18XX || COMPILE_TEST
71         depends on HAS_IOMEM
72         help
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.
77
78 config NVMEM_MXS_OCOTP
79         tristate "Freescale MXS On-Chip OTP Memory Support"
80         depends on ARCH_MXS || COMPILE_TEST
81         depends on HAS_IOMEM
82         help
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.
86
87           This driver can also be built as a module. If so, the module
88           will be called nvmem-mxs-ocotp.
89
90 config MTK_EFUSE
91         tristate "Mediatek SoCs EFUSE support"
92         depends on ARCH_MEDIATEK || COMPILE_TEST
93         depends on HAS_IOMEM
94         help
95           This is a driver to access hardware related data like sensor
96           calibration, HDMI impedance etc.
97
98           This driver can also be built as a module. If so, the module
99           will be called efuse-mtk.
100
101 config QCOM_QFPROM
102         tristate "QCOM QFPROM Support"
103         depends on ARCH_QCOM || COMPILE_TEST
104         depends on HAS_IOMEM
105         help
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.
108
109           This driver can also be built as a module. If so, the module
110           will be called nvmem_qfprom.
111
112 config NVMEM_SPMI_SDAM
113         tristate "SPMI SDAM Support"
114         depends on SPMI
115         help
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.
119
120 config ROCKCHIP_EFUSE
121         tristate "Rockchip eFuse Support"
122         depends on ARCH_ROCKCHIP || COMPILE_TEST
123         depends on HAS_IOMEM
124         help
125           This is a simple drive to dump specified values of Rockchip SoC
126           from eFuse, such as cpu-leakage.
127
128           This driver can also be built as a module. If so, the module
129           will be called nvmem_rockchip_efuse.
130
131 config ROCKCHIP_OTP
132         tristate "Rockchip OTP controller support"
133         depends on ARCH_ROCKCHIP || COMPILE_TEST
134         depends on HAS_IOMEM
135         help
136           This is a simple drive to dump specified values of Rockchip SoC
137           from otp, such as cpu-leakage.
138
139           This driver can also be built as a module. If so, the module
140           will be called nvmem_rockchip_otp.
141
142 config NVMEM_BCM_OCOTP
143         tristate "Broadcom On-Chip OTP Controller support"
144         depends on ARCH_BCM_IPROC || COMPILE_TEST
145         depends on HAS_IOMEM
146         default ARCH_BCM_IPROC
147         help
148           Say y here to enable read/write access to the Broadcom OTP
149           controller.
150
151           This driver can also be built as a module. If so, the module
152           will be called nvmem-bcm-ocotp.
153
154 config NVMEM_STM32_ROMEM
155         tristate "STMicroelectronics STM32 factory-programmed memory support"
156         depends on ARCH_STM32 || COMPILE_TEST
157         help
158           Say y here to enable read-only access for STMicroelectronics STM32
159           factory-programmed memory area.
160
161           This driver can also be built as a module. If so, the module
162           will be called nvmem-stm32-romem.
163
164 config NVMEM_SUNXI_SID
165         tristate "Allwinner SoCs SID support"
166         depends on ARCH_SUNXI
167         help
168           This is a driver for the 'security ID' available on various Allwinner
169           devices.
170
171           This driver can also be built as a module. If so, the module
172           will be called nvmem_sunxi_sid.
173
174 config UNIPHIER_EFUSE
175         tristate "UniPhier SoCs eFuse support"
176         depends on ARCH_UNIPHIER || COMPILE_TEST
177         depends on HAS_IOMEM
178         help
179           This is a simple driver to dump specified values of UniPhier SoC
180           from eFuse.
181
182           This driver can also be built as a module. If so, the module
183           will be called nvmem-uniphier-efuse.
184
185 config NVMEM_VF610_OCOTP
186         tristate "VF610 SoC OCOTP support"
187         depends on SOC_VF610 || COMPILE_TEST
188         depends on HAS_IOMEM
189         help
190           This is a driver for the 'OCOTP' peripheral available on Vybrid
191           devices like VF5xx and VF6xx.
192
193           This driver can also be build as a module. If so, the module will
194           be called nvmem-vf610-ocotp.
195
196 config MESON_EFUSE
197         tristate "Amlogic Meson GX eFuse Support"
198         depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
199         help
200           This is a driver to retrieve specific values from the eFuse found on
201           the Amlogic Meson GX SoCs.
202
203           This driver can also be built as a module. If so, the module
204           will be called nvmem_meson_efuse.
205
206 config MESON_MX_EFUSE
207         tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
208         depends on ARCH_MESON || COMPILE_TEST
209         help
210           This is a driver to retrieve specific values from the eFuse found on
211           the Amlogic Meson6, Meson8 and Meson8b SoCs.
212
213           This driver can also be built as a module. If so, the module
214           will be called nvmem_meson_mx_efuse.
215
216 config NVMEM_SNVS_LPGPR
217         tristate "Support for Low Power General Purpose Register"
218         depends on ARCH_MXC || COMPILE_TEST
219         help
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.
222
223           This driver can also be built as a module. If so, the module
224           will be called nvmem-snvs-lpgpr.
225
226 config RAVE_SP_EEPROM
227         tristate "Rave SP EEPROM Support"
228         depends on RAVE_SP_CORE
229         help
230           Say y here to enable Rave SP EEPROM support.
231
232 config SC27XX_EFUSE
233         tristate "Spreadtrum SC27XX eFuse Support"
234         depends on MFD_SC27XX_PMIC || COMPILE_TEST
235         depends on HAS_IOMEM
236         help
237           This is a simple driver to dump specified values of Spreadtrum
238           SC27XX PMICs from eFuse.
239
240           This driver can also be built as a module. If so, the module
241           will be called nvmem-sc27xx-efuse.
242
243 config NVMEM_ZYNQMP
244         bool "Xilinx ZYNQMP SoC nvmem firmware support"
245         depends on ARCH_ZYNQMP
246         help
247           This is a driver to access hardware related data like
248           soc revision, IDCODE... etc by using the firmware
249           interface.
250
251           If sure, say yes. If unsure, say no.
252
253 config SPRD_EFUSE
254         tristate "Spreadtrum SoC eFuse Support"
255         depends on ARCH_SPRD || COMPILE_TEST
256         depends on HAS_IOMEM
257         help
258           This is a simple driver to dump specified values of Spreadtrum
259           SoCs from eFuse.
260
261           This driver can also be built as a module. If so, the module
262           will be called nvmem-sprd-efuse.
263
264 endif