Linux-libre 5.3.12-gnu
[librecmc/linux-libre.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         help
54           This is a driver for the SCU On-Chip OTP Controller (OCOTP)
55           available on i.MX8 SoCs.
56
57 config NVMEM_LPC18XX_EEPROM
58         tristate "NXP LPC18XX EEPROM Memory Support"
59         depends on ARCH_LPC18XX || COMPILE_TEST
60         depends on HAS_IOMEM
61         help
62           Say Y here to include support for NXP LPC18xx EEPROM memory found in
63           NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
64           To compile this driver as a module, choose M here: the module
65           will be called nvmem_lpc18xx_eeprom.
66
67 config NVMEM_LPC18XX_OTP
68         tristate "NXP LPC18XX OTP Memory Support"
69         depends on ARCH_LPC18XX || COMPILE_TEST
70         depends on HAS_IOMEM
71         help
72           Say Y here to include support for NXP LPC18xx OTP memory found on
73           all LPC18xx and LPC43xx devices.
74           To compile this driver as a module, choose M here: the module
75           will be called nvmem_lpc18xx_otp.
76
77 config NVMEM_MXS_OCOTP
78         tristate "Freescale MXS On-Chip OTP Memory Support"
79         depends on ARCH_MXS || COMPILE_TEST
80         depends on HAS_IOMEM
81         help
82           If you say Y here, you will get readonly access to the
83           One Time Programmable memory pages that are stored
84           on the Freescale i.MX23/i.MX28 processor.
85
86           This driver can also be built as a module. If so, the module
87           will be called nvmem-mxs-ocotp.
88
89 config MTK_EFUSE
90         tristate "Mediatek SoCs EFUSE support"
91         depends on ARCH_MEDIATEK || COMPILE_TEST
92         depends on HAS_IOMEM
93         help
94           This is a driver to access hardware related data like sensor
95           calibration, HDMI impedance etc.
96
97           This driver can also be built as a module. If so, the module
98           will be called efuse-mtk.
99
100 config QCOM_QFPROM
101         tristate "QCOM QFPROM Support"
102         depends on ARCH_QCOM || COMPILE_TEST
103         depends on HAS_IOMEM
104         help
105           Say y here to enable QFPROM support. The QFPROM provides access
106           functions for QFPROM data to rest of the drivers via nvmem interface.
107
108           This driver can also be built as a module. If so, the module
109           will be called nvmem_qfprom.
110
111 config ROCKCHIP_EFUSE
112         tristate "Rockchip eFuse Support"
113         depends on ARCH_ROCKCHIP || COMPILE_TEST
114         depends on HAS_IOMEM
115         help
116           This is a simple drive to dump specified values of Rockchip SoC
117           from eFuse, such as cpu-leakage.
118
119           This driver can also be built as a module. If so, the module
120           will be called nvmem_rockchip_efuse.
121
122 config NVMEM_BCM_OCOTP
123         tristate "Broadcom On-Chip OTP Controller support"
124         depends on ARCH_BCM_IPROC || COMPILE_TEST
125         depends on HAS_IOMEM
126         default ARCH_BCM_IPROC
127         help
128           Say y here to enable read/write access to the Broadcom OTP
129           controller.
130
131           This driver can also be built as a module. If so, the module
132           will be called nvmem-bcm-ocotp.
133
134 config NVMEM_STM32_ROMEM
135         tristate "STMicroelectronics STM32 factory-programmed memory support"
136         depends on ARCH_STM32 || COMPILE_TEST
137         help
138           Say y here to enable read-only access for STMicroelectronics STM32
139           factory-programmed memory area.
140
141           This driver can also be built as a module. If so, the module
142           will be called nvmem-stm32-romem.
143
144 config NVMEM_SUNXI_SID
145         tristate "Allwinner SoCs SID support"
146         depends on ARCH_SUNXI
147         help
148           This is a driver for the 'security ID' available on various Allwinner
149           devices.
150
151           This driver can also be built as a module. If so, the module
152           will be called nvmem_sunxi_sid.
153
154 config UNIPHIER_EFUSE
155         tristate "UniPhier SoCs eFuse support"
156         depends on ARCH_UNIPHIER || COMPILE_TEST
157         depends on HAS_IOMEM
158         help
159           This is a simple driver to dump specified values of UniPhier SoC
160           from eFuse.
161
162           This driver can also be built as a module. If so, the module
163           will be called nvmem-uniphier-efuse.
164
165 config NVMEM_VF610_OCOTP
166         tristate "VF610 SoC OCOTP support"
167         depends on SOC_VF610 || COMPILE_TEST
168         depends on HAS_IOMEM
169         help
170           This is a driver for the 'OCOTP' peripheral available on Vybrid
171           devices like VF5xx and VF6xx.
172
173           This driver can also be build as a module. If so, the module will
174           be called nvmem-vf610-ocotp.
175
176 config MESON_EFUSE
177         tristate "Amlogic Meson GX eFuse Support"
178         depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
179         help
180           This is a driver to retrieve specific values from the eFuse found on
181           the Amlogic Meson GX SoCs.
182
183           This driver can also be built as a module. If so, the module
184           will be called nvmem_meson_efuse.
185
186 config MESON_MX_EFUSE
187         tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
188         depends on ARCH_MESON || COMPILE_TEST
189         help
190           This is a driver to retrieve specific values from the eFuse found on
191           the Amlogic Meson6, Meson8 and Meson8b SoCs.
192
193           This driver can also be built as a module. If so, the module
194           will be called nvmem_meson_mx_efuse.
195
196 config NVMEM_SNVS_LPGPR
197         tristate "Support for Low Power General Purpose Register"
198         depends on ARCH_MXC || COMPILE_TEST
199         help
200           This is a driver for Low Power General Purpose Register (LPGPR) available on
201           i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
202
203           This driver can also be built as a module. If so, the module
204           will be called nvmem-snvs-lpgpr.
205
206 config RAVE_SP_EEPROM
207         tristate "Rave SP EEPROM Support"
208         depends on RAVE_SP_CORE
209         help
210           Say y here to enable Rave SP EEPROM support.
211
212 config SC27XX_EFUSE
213         tristate "Spreadtrum SC27XX eFuse Support"
214         depends on MFD_SC27XX_PMIC || COMPILE_TEST
215         depends on HAS_IOMEM
216         help
217           This is a simple driver to dump specified values of Spreadtrum
218           SC27XX PMICs from eFuse.
219
220           This driver can also be built as a module. If so, the module
221           will be called nvmem-sc27xx-efuse.
222
223 config NVMEM_ZYNQMP
224         bool "Xilinx ZYNQMP SoC nvmem firmware support"
225         depends on ARCH_ZYNQMP
226         help
227           This is a driver to access hardware related data like
228           soc revision, IDCODE... etc by using the firmware
229           interface.
230
231           If sure, say yes. If unsure, say no.
232
233 endif