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