Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[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 ROCKCHIP_EFUSE
113         tristate "Rockchip eFuse Support"
114         depends on ARCH_ROCKCHIP || COMPILE_TEST
115         depends on HAS_IOMEM
116         help
117           This is a simple drive to dump specified values of Rockchip SoC
118           from eFuse, such as cpu-leakage.
119
120           This driver can also be built as a module. If so, the module
121           will be called nvmem_rockchip_efuse.
122
123 config ROCKCHIP_OTP
124         tristate "Rockchip OTP controller support"
125         depends on ARCH_ROCKCHIP || COMPILE_TEST
126         depends on HAS_IOMEM
127         help
128           This is a simple drive to dump specified values of Rockchip SoC
129           from otp, such as cpu-leakage.
130
131           This driver can also be built as a module. If so, the module
132           will be called nvmem_rockchip_otp.
133
134 config NVMEM_BCM_OCOTP
135         tristate "Broadcom On-Chip OTP Controller support"
136         depends on ARCH_BCM_IPROC || COMPILE_TEST
137         depends on HAS_IOMEM
138         default ARCH_BCM_IPROC
139         help
140           Say y here to enable read/write access to the Broadcom OTP
141           controller.
142
143           This driver can also be built as a module. If so, the module
144           will be called nvmem-bcm-ocotp.
145
146 config NVMEM_STM32_ROMEM
147         tristate "STMicroelectronics STM32 factory-programmed memory support"
148         depends on ARCH_STM32 || COMPILE_TEST
149         help
150           Say y here to enable read-only access for STMicroelectronics STM32
151           factory-programmed memory area.
152
153           This driver can also be built as a module. If so, the module
154           will be called nvmem-stm32-romem.
155
156 config NVMEM_SUNXI_SID
157         tristate "Allwinner SoCs SID support"
158         depends on ARCH_SUNXI
159         help
160           This is a driver for the 'security ID' available on various Allwinner
161           devices.
162
163           This driver can also be built as a module. If so, the module
164           will be called nvmem_sunxi_sid.
165
166 config UNIPHIER_EFUSE
167         tristate "UniPhier SoCs eFuse support"
168         depends on ARCH_UNIPHIER || COMPILE_TEST
169         depends on HAS_IOMEM
170         help
171           This is a simple driver to dump specified values of UniPhier SoC
172           from eFuse.
173
174           This driver can also be built as a module. If so, the module
175           will be called nvmem-uniphier-efuse.
176
177 config NVMEM_VF610_OCOTP
178         tristate "VF610 SoC OCOTP support"
179         depends on SOC_VF610 || COMPILE_TEST
180         depends on HAS_IOMEM
181         help
182           This is a driver for the 'OCOTP' peripheral available on Vybrid
183           devices like VF5xx and VF6xx.
184
185           This driver can also be build as a module. If so, the module will
186           be called nvmem-vf610-ocotp.
187
188 config MESON_EFUSE
189         tristate "Amlogic Meson GX eFuse Support"
190         depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
191         help
192           This is a driver to retrieve specific values from the eFuse found on
193           the Amlogic Meson GX SoCs.
194
195           This driver can also be built as a module. If so, the module
196           will be called nvmem_meson_efuse.
197
198 config MESON_MX_EFUSE
199         tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
200         depends on ARCH_MESON || COMPILE_TEST
201         help
202           This is a driver to retrieve specific values from the eFuse found on
203           the Amlogic Meson6, Meson8 and Meson8b SoCs.
204
205           This driver can also be built as a module. If so, the module
206           will be called nvmem_meson_mx_efuse.
207
208 config NVMEM_SNVS_LPGPR
209         tristate "Support for Low Power General Purpose Register"
210         depends on ARCH_MXC || COMPILE_TEST
211         help
212           This is a driver for Low Power General Purpose Register (LPGPR) available on
213           i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
214
215           This driver can also be built as a module. If so, the module
216           will be called nvmem-snvs-lpgpr.
217
218 config RAVE_SP_EEPROM
219         tristate "Rave SP EEPROM Support"
220         depends on RAVE_SP_CORE
221         help
222           Say y here to enable Rave SP EEPROM support.
223
224 config SC27XX_EFUSE
225         tristate "Spreadtrum SC27XX eFuse Support"
226         depends on MFD_SC27XX_PMIC || COMPILE_TEST
227         depends on HAS_IOMEM
228         help
229           This is a simple driver to dump specified values of Spreadtrum
230           SC27XX PMICs from eFuse.
231
232           This driver can also be built as a module. If so, the module
233           will be called nvmem-sc27xx-efuse.
234
235 config NVMEM_ZYNQMP
236         bool "Xilinx ZYNQMP SoC nvmem firmware support"
237         depends on ARCH_ZYNQMP
238         help
239           This is a driver to access hardware related data like
240           soc revision, IDCODE... etc by using the firmware
241           interface.
242
243           If sure, say yes. If unsure, say no.
244
245 config SPRD_EFUSE
246         tristate "Spreadtrum SoC eFuse Support"
247         depends on ARCH_SPRD || COMPILE_TEST
248         depends on HAS_IOMEM
249         help
250           This is a simple driver to dump specified values of Spreadtrum
251           SoCs from eFuse.
252
253           This driver can also be built as a module. If so, the module
254           will be called nvmem-sprd-efuse.
255
256 endif