xref: /openbmc/linux/drivers/nvmem/Kconfig (revision ba54ff1fb662215de683777f815b9e96276d55cf)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2eace75cfSSrinivas Kandagatlamenuconfig NVMEM
32a37ce25SArnd Bergmann	bool "NVMEM Support"
4eace75cfSSrinivas Kandagatla	help
5eace75cfSSrinivas Kandagatla	  Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
6eace75cfSSrinivas Kandagatla
7eace75cfSSrinivas Kandagatla	  This framework is designed to provide a generic interface to NVMEM
8eace75cfSSrinivas Kandagatla	  from both the Linux Kernel and the userspace.
9eace75cfSSrinivas Kandagatla
10eace75cfSSrinivas Kandagatla	  If unsure, say no.
114ab11996SSrinivas Kandagatla
124ab11996SSrinivas Kandagatlaif NVMEM
134ab11996SSrinivas Kandagatla
14ae0c2d72SSrinivas Kandagatlaconfig NVMEM_SYSFS
15ae0c2d72SSrinivas Kandagatla	bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
16ae0c2d72SSrinivas Kandagatla	depends on SYSFS
17ae0c2d72SSrinivas Kandagatla	default y
18ae0c2d72SSrinivas Kandagatla	help
19ae0c2d72SSrinivas Kandagatla	 Say Y here to add a sysfs interface for NVMEM.
20ae0c2d72SSrinivas Kandagatla
21ae0c2d72SSrinivas Kandagatla	 This interface is mostly used by userspace applications to
22ae0c2d72SSrinivas Kandagatla	 read/write directly into nvmem.
23ae0c2d72SSrinivas Kandagatla
24a06d9e5aSRafał Miłecki# Layouts
25a06d9e5aSRafał Miłecki
26a06d9e5aSRafał Miłeckisource "drivers/nvmem/layouts/Kconfig"
27a06d9e5aSRafał Miłecki
28a06d9e5aSRafał Miłecki# Devices
29a06d9e5aSRafał Miłecki
30a06d9e5aSRafał Miłeckiconfig NVMEM_APPLE_EFUSES
31a06d9e5aSRafał Miłecki	tristate "Apple eFuse support"
32a06d9e5aSRafał Miłecki	depends on ARCH_APPLE || COMPILE_TEST
33a06d9e5aSRafał Miłecki	default ARCH_APPLE
34a06d9e5aSRafał Miłecki	help
35a06d9e5aSRafał Miłecki	  Say y here to enable support for reading eFuses on Apple SoCs
36a06d9e5aSRafał Miłecki	  such as the M1. These are e.g. used to store factory programmed
37a06d9e5aSRafał Miłecki	  calibration data required for the PCIe or the USB-C PHY.
38a06d9e5aSRafał Miłecki
39a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module will
40a06d9e5aSRafał Miłecki	  be called nvmem-apple-efuses.
41a06d9e5aSRafał Miłecki
42a06d9e5aSRafał Miłeckiconfig NVMEM_BCM_OCOTP
43a06d9e5aSRafał Miłecki	tristate "Broadcom On-Chip OTP Controller support"
44a06d9e5aSRafał Miłecki	depends on ARCH_BCM_IPROC || COMPILE_TEST
45a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
46a06d9e5aSRafał Miłecki	default ARCH_BCM_IPROC
47a06d9e5aSRafał Miłecki	help
48a06d9e5aSRafał Miłecki	  Say y here to enable read/write access to the Broadcom OTP
49a06d9e5aSRafał Miłecki	  controller.
50a06d9e5aSRafał Miłecki
51a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
52a06d9e5aSRafał Miłecki	  will be called nvmem-bcm-ocotp.
53a06d9e5aSRafał Miłecki
54a06d9e5aSRafał Miłeckiconfig NVMEM_BRCM_NVRAM
55a06d9e5aSRafał Miłecki	tristate "Broadcom's NVRAM support"
56a06d9e5aSRafał Miłecki	depends on ARCH_BCM_5301X || COMPILE_TEST
57a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
58c066c1c0SMichael Grzeschik	select GENERIC_NET_UTILS
59c066c1c0SMichael Grzeschik	help
60c066c1c0SMichael Grzeschik	  This driver provides support for Broadcom's NVRAM that can be accessed
61c066c1c0SMichael Grzeschik	  using I/O mapping.
62c066c1c0SMichael Grzeschik
63c066c1c0SMichael Grzeschikconfig NVMEM_IMX_IIM
64c066c1c0SMichael Grzeschik	tristate "i.MX IC Identification Module support"
65c066c1c0SMichael Grzeschik	depends on ARCH_MXC || COMPILE_TEST
66c066c1c0SMichael Grzeschik	help
67c066c1c0SMichael Grzeschik	  This is a driver for the IC Identification Module (IIM) available on
68c066c1c0SMichael Grzeschik	  i.MX SoCs, providing access to 4 Kbits of programmable
693edba6b4SPhilipp Zabel	  eFuses.
70dd4c1047SLucas Stach
71dd4c1047SLucas Stach	  This driver can also be built as a module. If so, the module
7263c0c076SSrinivas Kandagatla	  will be called nvmem-imx-iim.
733edba6b4SPhilipp Zabel
743edba6b4SPhilipp Zabelconfig NVMEM_IMX_OCOTP
753edba6b4SPhilipp Zabel	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
763edba6b4SPhilipp Zabel	depends on ARCH_MXC || COMPILE_TEST
773edba6b4SPhilipp Zabel	depends on HAS_IOMEM
783edba6b4SPhilipp Zabel	help
793edba6b4SPhilipp Zabel	  This is a driver for the On-Chip OTP Controller (OCOTP) available on
803edba6b4SPhilipp Zabel	  i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
8167ff708bSPeng Fan	  eFuses.
8267ff708bSPeng Fan
8367ff708bSPeng Fan	  This driver can also be built as a module. If so, the module
84b210fac7SSrinivas Kandagatla	  will be called nvmem-imx-ocotp.
8567ff708bSPeng Fan
8667ff708bSPeng Fanconfig NVMEM_IMX_OCOTP_ELE
8767ff708bSPeng Fan	tristate "i.MX On-Chip OTP Controller support"
8867ff708bSPeng Fan	depends on ARCH_MXC || COMPILE_TEST
8928fc7c98SRafał Miłecki	depends on HAS_IOMEM
904a2addc2SPrasannaKumar Muralidharan	depends on OF
914a2addc2SPrasannaKumar Muralidharan	help
924a2addc2SPrasannaKumar Muralidharan	  This is a driver for the On-Chip OTP Controller (OCOTP)
934a2addc2SPrasannaKumar Muralidharan	  available on i.MX SoCs which has ELE.
944a2addc2SPrasannaKumar Muralidharan
954a2addc2SPrasannaKumar Muralidharanconfig NVMEM_IMX_OCOTP_SCU
964a2addc2SPrasannaKumar Muralidharan	tristate "i.MX8 SCU On-Chip OTP Controller support"
974a2addc2SPrasannaKumar Muralidharan	depends on IMX_SCU
984a2addc2SPrasannaKumar Muralidharan	depends on HAVE_ARM_SMCCC
994a2addc2SPrasannaKumar Muralidharan	help
1004a2addc2SPrasannaKumar Muralidharan	  This is a driver for the SCU On-Chip OTP Controller (OCOTP)
1019e8f208aSHoratiu Vultur	  available on i.MX8 SoCs.
1029e8f208aSHoratiu Vultur
1039e8f208aSHoratiu Vulturconfig NVMEM_JZ4780_EFUSE
1049e8f208aSHoratiu Vultur	tristate "JZ4780 EFUSE Memory Support"
1059e8f208aSHoratiu Vultur	depends on MACH_INGENIC || COMPILE_TEST
1069e8f208aSHoratiu Vultur	depends on HAS_IOMEM
1079e8f208aSHoratiu Vultur	depends on OF
1089e8f208aSHoratiu Vultur	select REGMAP_MMIO
109a06d9e5aSRafał Miłecki	help
110a06d9e5aSRafał Miłecki	  Say Y here to include support for JZ4780 efuse memory found on
111a06d9e5aSRafał Miłecki	  all JZ4780 SoC based devices.
112a06d9e5aSRafał Miłecki	  To compile this driver as a module, choose M here: the module
113a06d9e5aSRafał Miłecki	  will be called nvmem_jz4780_efuse.
114a06d9e5aSRafał Miłecki
115a06d9e5aSRafał Miłeckiconfig NVMEM_LAN9662_OTPC
116a06d9e5aSRafał Miłecki	tristate "Microchip LAN9662 OTP controller support"
117a06d9e5aSRafał Miłecki	depends on SOC_LAN966 || COMPILE_TEST
118a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
119a06d9e5aSRafał Miłecki	help
120a06d9e5aSRafał Miłecki	  This driver enables the OTP controller available on Microchip LAN9662
121a06d9e5aSRafał Miłecki	  SoCs. It controls the access to the OTP memory connected to it.
122f02f8aeeSAriel D'Alessandro
123f02f8aeeSAriel D'Alessandroconfig NVMEM_LAYERSCAPE_SFP
124f02f8aeeSAriel D'Alessandro	tristate "Layerscape SFP (Security Fuse Processor) support"
1252ce7aed6SKrzysztof Kozlowski	depends on ARCH_LAYERSCAPE || COMPILE_TEST
126f02f8aeeSAriel D'Alessandro	depends on HAS_IOMEM
127f02f8aeeSAriel D'Alessandro	select REGMAP_MMIO
128f02f8aeeSAriel D'Alessandro	help
129f02f8aeeSAriel D'Alessandro	  This driver provides support to read the eFuses on Freescale
130f02f8aeeSAriel D'Alessandro	  Layerscape SoC's. For example, the vendor provides a per part
131f02f8aeeSAriel D'Alessandro	  unique ID there.
13288806dafSJoachim Eastwood
13388806dafSJoachim Eastwood	  This driver can also be built as a module. If so, the module
13488806dafSJoachim Eastwood	  will be called layerscape-sfp.
13588806dafSJoachim Eastwood
13688806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_EEPROM
13788806dafSJoachim Eastwood	tristate "NXP LPC18XX EEPROM Memory Support"
13888806dafSJoachim Eastwood	depends on ARCH_LPC18XX || COMPILE_TEST
13988806dafSJoachim Eastwood	depends on HAS_IOMEM
14088806dafSJoachim Eastwood	help
14188806dafSJoachim Eastwood	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
142a06d9e5aSRafał Miłecki	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
143a06d9e5aSRafał Miłecki	  To compile this driver as a module, choose M here: the module
144a06d9e5aSRafał Miłecki	  will be called nvmem_lpc18xx_eeprom.
145c01e9a11SStefan Wahren
146a06d9e5aSRafał Miłeckiconfig NVMEM_LPC18XX_OTP
147a06d9e5aSRafał Miłecki	tristate "NXP LPC18XX OTP Memory Support"
148c01e9a11SStefan Wahren	depends on ARCH_LPC18XX || COMPILE_TEST
149c01e9a11SStefan Wahren	depends on HAS_IOMEM
150a06d9e5aSRafał Miłecki	help
151a06d9e5aSRafał Miłecki	  Say Y here to include support for NXP LPC18xx OTP memory found on
152a06d9e5aSRafał Miłecki	  all LPC18xx and LPC43xx devices.
153a06d9e5aSRafał Miłecki	  To compile this driver as a module, choose M here: the module
154a06d9e5aSRafał Miłecki	  will be called nvmem_lpc18xx_otp.
155a06d9e5aSRafał Miłecki
156a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_EFUSE
157a06d9e5aSRafał Miłecki	tristate "Amlogic Meson GX eFuse Support"
158a06d9e5aSRafał Miłecki	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
159a06d9e5aSRafał Miłecki	help
160a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
161a06d9e5aSRafał Miłecki	  the Amlogic Meson GX SoCs.
162a06d9e5aSRafał Miłecki
163a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
164a06d9e5aSRafał Miłecki	  will be called nvmem_meson_efuse.
165a06d9e5aSRafał Miłecki
166a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_MX_EFUSE
167*fb817c4eSColin Ian King	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
168c01e9a11SStefan Wahren	depends on ARCH_MESON || COMPILE_TEST
16928fc7c98SRafał Miłecki	help
1704c7e4fe3SAndrew-CT Chen	  This is a driver to retrieve specific values from the eFuse found on
1714c7e4fe3SAndrew-CT Chen	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
1722ce7aed6SKrzysztof Kozlowski
1734c7e4fe3SAndrew-CT Chen	  This driver can also be built as a module. If so, the module
1744c7e4fe3SAndrew-CT Chen	  will be called nvmem_meson_mx_efuse.
1754c7e4fe3SAndrew-CT Chen
1764c7e4fe3SAndrew-CT Chenconfig NVMEM_MICROCHIP_OTPC
1774c7e4fe3SAndrew-CT Chen	tristate "Microchip OTPC support"
1784c7e4fe3SAndrew-CT Chen	depends on ARCH_AT91 || COMPILE_TEST
1794c7e4fe3SAndrew-CT Chen	help
180a06d9e5aSRafał Miłecki	  This driver enable the OTP controller available on Microchip SAMA7G5
181a06d9e5aSRafał Miłecki	  SoCs. It controls the access to the OTP memory connected to it.
182a06d9e5aSRafał Miłecki
183a06d9e5aSRafał Miłeckiconfig NVMEM_MTK_EFUSE
18498830350SClaudiu Beznea	tristate "Mediatek SoCs EFUSE support"
185a06d9e5aSRafał Miłecki	depends on ARCH_MEDIATEK || COMPILE_TEST
186a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
187a06d9e5aSRafał Miłecki	help
188a06d9e5aSRafał Miłecki	  This is a driver to access hardware related data like sensor
189a06d9e5aSRafał Miłecki	  calibration, HDMI impedance etc.
190a06d9e5aSRafał Miłecki
19198830350SClaudiu Beznea	  This driver can also be built as a module. If so, the module
1923683b761SEmmanuel Gil Peyrot	  will be called efuse-mtk.
1933683b761SEmmanuel Gil Peyrot
1947af526c7SGeert Uytterhoevenconfig NVMEM_MXS_OCOTP
1953683b761SEmmanuel Gil Peyrot	tristate "Freescale MXS On-Chip OTP Memory Support"
1963683b761SEmmanuel Gil Peyrot	depends on ARCH_MXS || COMPILE_TEST
1973683b761SEmmanuel Gil Peyrot	depends on HAS_IOMEM
1983683b761SEmmanuel Gil Peyrot	help
1993683b761SEmmanuel Gil Peyrot	  If you say Y here, you will get readonly access to the
2003683b761SEmmanuel Gil Peyrot	  One Time Programmable memory pages that are stored
2013683b761SEmmanuel Gil Peyrot	  on the Freescale i.MX23/i.MX28 processor.
2023683b761SEmmanuel Gil Peyrot
2033683b761SEmmanuel Gil Peyrot	  This driver can also be built as a module. If so, the module
20428fc7c98SRafał Miłecki	  will be called nvmem-mxs-ocotp.
2054ab11996SSrinivas Kandagatla
2064ab11996SSrinivas Kandagatlaconfig NVMEM_NINTENDO_OTP
2075685e244SRichard Weinberger	tristate "Nintendo Wii and Wii U OTP Support"
2084ab11996SSrinivas Kandagatla	depends on WII || COMPILE_TEST
2094ab11996SSrinivas Kandagatla	help
2104ab11996SSrinivas Kandagatla	  This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
2114ab11996SSrinivas Kandagatla
2124ab11996SSrinivas Kandagatla	  This memory contains common and per-console keys, signatures and
2134ab11996SSrinivas Kandagatla	  related data required to access peripherals.
2144ab11996SSrinivas Kandagatla
215a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
216a06d9e5aSRafał Miłecki	  will be called nvmem-nintendo-otp.
217a06d9e5aSRafał Miłecki
21840ce9798SAnirudh Ghayalconfig NVMEM_QCOM_QFPROM
219a06d9e5aSRafał Miłecki	tristate "QCOM QFPROM Support"
220a06d9e5aSRafał Miłecki	depends on ARCH_QCOM || COMPILE_TEST
221a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
222a06d9e5aSRafał Miłecki	help
223a06d9e5aSRafał Miłecki	  Say y here to enable QFPROM support. The QFPROM provides access
224a06d9e5aSRafał Miłecki	  functions for QFPROM data to rest of the drivers via nvmem interface.
225a06d9e5aSRafał Miłecki
226a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
227a06d9e5aSRafał Miłecki	  will be called nvmem_qfprom.
228a06d9e5aSRafał Miłecki
229a06d9e5aSRafał Miłeckiconfig NVMEM_QCOM_SEC_QFPROM
23040ce9798SAnirudh Ghayal        tristate "QCOM SECURE QFPROM Support"
23128fc7c98SRafał Miłecki        depends on ARCH_QCOM || COMPILE_TEST
23203a69568SZhengShunQian        depends on HAS_IOMEM
23303a69568SZhengShunQian        depends on OF
2345685e244SRichard Weinberger        select QCOM_SCM
23503a69568SZhengShunQian        help
23603a69568SZhengShunQian          Say y here to enable secure QFPROM support. The secure QFPROM provides access
23703a69568SZhengShunQian          functions for QFPROM data to rest of the drivers via nvmem interface.
23803a69568SZhengShunQian
23903a69568SZhengShunQian          This driver can also be built as a module. If so, the module will be called
24003a69568SZhengShunQian          nvmem_sec_qfprom.
24103a69568SZhengShunQian
24228fc7c98SRafał Miłeckiconfig NVMEM_RAVE_SP_EEPROM
243755864feSFinley Xiao	tristate "Rave SP EEPROM Support"
244755864feSFinley Xiao	depends on RAVE_SP_CORE
245755864feSFinley Xiao	help
246755864feSFinley Xiao	  Say y here to enable Rave SP EEPROM support.
247755864feSFinley Xiao
248755864feSFinley Xiaoconfig NVMEM_RMEM
249755864feSFinley Xiao	tristate "Reserved Memory Based Driver Support"
250755864feSFinley Xiao	depends on HAS_IOMEM
251755864feSFinley Xiao	help
252755864feSFinley Xiao	  This driver maps reserved memory into an nvmem device. It might be
253a06d9e5aSRafał Miłecki	  useful to expose information left by firmware in memory.
254a06d9e5aSRafał Miłecki
255a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
2569d59c6e8SJonathan Richardson	  will be called nvmem-rmem.
2579d59c6e8SJonathan Richardson
258a06d9e5aSRafał Miłeckiconfig NVMEM_ROCKCHIP_EFUSE
259a06d9e5aSRafał Miłecki	tristate "Rockchip eFuse Support"
2609d59c6e8SJonathan Richardson	depends on ARCH_ROCKCHIP || COMPILE_TEST
2619d59c6e8SJonathan Richardson	depends on HAS_IOMEM
262a06d9e5aSRafał Miłecki	help
263a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Rockchip SoC
264a06d9e5aSRafał Miłecki	  from eFuse, such as cpu-leakage.
265a06d9e5aSRafał Miłecki
266a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
267a06d9e5aSRafał Miłecki	  will be called nvmem_rockchip_efuse.
268a06d9e5aSRafał Miłecki
269a06d9e5aSRafał Miłeckiconfig NVMEM_ROCKCHIP_OTP
270a06d9e5aSRafał Miłecki	tristate "Rockchip OTP controller support"
271a06d9e5aSRafał Miłecki	depends on ARCH_ROCKCHIP || COMPILE_TEST
272a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
273a06d9e5aSRafał Miłecki	help
274a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Rockchip SoC
275a06d9e5aSRafał Miłecki	  from OTP, such as cpu-leakage.
276a06d9e5aSRafał Miłecki
277a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
278a06d9e5aSRafał Miłecki	  will be called nvmem_rockchip_otp.
279a06d9e5aSRafał Miłecki
280a06d9e5aSRafał Miłeckiconfig NVMEM_SC27XX_EFUSE
281a06d9e5aSRafał Miłecki	tristate "Spreadtrum SC27XX eFuse Support"
282a06d9e5aSRafał Miłecki	depends on MFD_SC27XX_PMIC || COMPILE_TEST
283a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
284a06d9e5aSRafał Miłecki	help
285a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
286a06d9e5aSRafał Miłecki	  SC27XX PMICs from eFuse.
287a06d9e5aSRafał Miłecki
288a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
289a06d9e5aSRafał Miłecki	  will be called nvmem-sc27xx-efuse.
290a06d9e5aSRafał Miłecki
291a06d9e5aSRafał Miłeckiconfig NVMEM_SNVS_LPGPR
2929d59c6e8SJonathan Richardson	tristate "Support for Low Power General Purpose Register"
293ded1b7fcSFabrice Gasnier	depends on ARCH_MXC || COMPILE_TEST
294ded1b7fcSFabrice Gasnier	help
295ded1b7fcSFabrice Gasnier	  This is a driver for Low Power General Purpose Register (LPGPR) available on
296ded1b7fcSFabrice Gasnier	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
297ded1b7fcSFabrice Gasnier
298ded1b7fcSFabrice Gasnier	  This driver can also be built as a module. If so, the module
299ded1b7fcSFabrice Gasnier	  will be called nvmem-snvs-lpgpr.
300ded1b7fcSFabrice Gasnier
301ded1b7fcSFabrice Gasnierconfig NVMEM_SPMI_SDAM
302ded1b7fcSFabrice Gasnier	tristate "SPMI SDAM Support"
303a06d9e5aSRafał Miłecki	depends on SPMI
304a06d9e5aSRafał Miłecki	help
305a06d9e5aSRafał Miłecki	  This driver supports the Shared Direct Access Memory Module on
306a06d9e5aSRafał Miłecki	  Qualcomm Technologies, Inc. PMICs. It provides the clients
307a06d9e5aSRafał Miłecki	  an interface to read/write to the SDAM module's shared memory.
308a06d9e5aSRafał Miłecki
309a06d9e5aSRafał Miłeckiconfig NVMEM_SPRD_EFUSE
310a06d9e5aSRafał Miłecki	tristate "Spreadtrum SoC eFuse Support"
311a06d9e5aSRafał Miłecki	depends on ARCH_SPRD || COMPILE_TEST
312a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
313a06d9e5aSRafał Miłecki	help
314a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
3153d0b16a6SMaxime Ripard	  SoCs from eFuse.
3163d0b16a6SMaxime Ripard
3173d0b16a6SMaxime Ripard	  This driver can also be built as a module. If so, the module
3183d0b16a6SMaxime Ripard	  will be called nvmem-sprd-efuse.
3193d0b16a6SMaxime Ripard
3203d0b16a6SMaxime Ripardconfig NVMEM_STM32_BSEC_OPTEE_TA
3213d0b16a6SMaxime Ripard	def_bool NVMEM_STM32_ROMEM && OPTEE
3223d0b16a6SMaxime Ripard	help
3233d0b16a6SMaxime Ripard	  Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
3243d0b16a6SMaxime Ripard	  trusted application STM32MP BSEC.
325a06d9e5aSRafał Miłecki
326a06d9e5aSRafał Miłecki	  This library is a used by stm32-romem driver or included in the module
327a06d9e5aSRafał Miłecki	  called nvmem-stm32-romem.
328a06d9e5aSRafał Miłecki
329a06d9e5aSRafał Miłeckiconfig NVMEM_STM32_ROMEM
330a06d9e5aSRafał Miłecki	tristate "STMicroelectronics STM32 factory-programmed memory support"
331a06d9e5aSRafał Miłecki	depends on ARCH_STM32 || COMPILE_TEST
332a06d9e5aSRafał Miłecki	depends on OPTEE || !OPTEE
333a06d9e5aSRafał Miłecki	help
334a06d9e5aSRafał Miłecki	  Say y here to enable read-only access for STMicroelectronics STM32
335a06d9e5aSRafał Miłecki	  factory-programmed memory area.
336a06d9e5aSRafał Miłecki
337a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
33828fc7c98SRafał Miłecki	  will be called nvmem-stm32-romem.
33971c5dd50SKeiji Hayashibara
34071c5dd50SKeiji Hayashibaraconfig NVMEM_SUNPLUS_OCOTP
34171c5dd50SKeiji Hayashibara	tristate "Sunplus SoC OTP support"
34271c5dd50SKeiji Hayashibara	depends on SOC_SP7021 || COMPILE_TEST
34371c5dd50SKeiji Hayashibara	depends on HAS_IOMEM
34471c5dd50SKeiji Hayashibara	help
34571c5dd50SKeiji Hayashibara	  This is a driver for the On-chip OTP controller (OCOTP) available
34671c5dd50SKeiji Hayashibara	  on Sunplus SoCs. It provides access to 128 bytes of one-time
34771c5dd50SKeiji Hayashibara	  programmable eFuse.
34871c5dd50SKeiji Hayashibara
34922dbdb7cSSanchayan Maity	  This driver can also be built as a module. If so, the module
35022dbdb7cSSanchayan Maity	  will be called nvmem-sunplus-ocotp.
35122dbdb7cSSanchayan Maity
3525685e244SRichard Weinbergerconfig NVMEM_SUNXI_SID
35322dbdb7cSSanchayan Maity	tristate "Allwinner SoCs SID support"
35422dbdb7cSSanchayan Maity	depends on ARCH_SUNXI
35522dbdb7cSSanchayan Maity	help
35622dbdb7cSSanchayan Maity	  This is a driver for the 'security ID' available on various Allwinner
35722dbdb7cSSanchayan Maity	  devices.
35822dbdb7cSSanchayan Maity
35922dbdb7cSSanchayan Maity	  This driver can also be built as a module. If so, the module
3604640fa18SNava kishore Manne	  will be called nvmem_sunxi_sid.
3614640fa18SNava kishore Manne
3624640fa18SNava kishore Manneconfig NVMEM_U_BOOT_ENV
3634640fa18SNava kishore Manne	tristate "U-Boot environment variables support"
3644640fa18SNava kishore Manne	depends on OF && MTD
3654640fa18SNava kishore Manne	select CRC32
3664640fa18SNava kishore Manne	select GENERIC_NET_UTILS
3674640fa18SNava kishore Manne	help
3684640fa18SNava kishore Manne	  U-Boot stores its setup as environment variables. This driver adds
3694640fa18SNava kishore Manne	  support for verifying & exporting such data. It also exposes variables
3704ab11996SSrinivas Kandagatla	  as NVMEM cells so they can be referenced by other drivers.
371
372	  Currently this drivers works only with env variables on top of MTD.
373
374	  If compiled as module it will be called nvmem_u-boot-env.
375
376config NVMEM_UNIPHIER_EFUSE
377	tristate "UniPhier SoCs eFuse support"
378	depends on ARCH_UNIPHIER || COMPILE_TEST
379	depends on HAS_IOMEM
380	help
381	  This is a simple driver to dump specified values of UniPhier SoC
382	  from eFuse.
383
384	  This driver can also be built as a module. If so, the module
385	  will be called nvmem-uniphier-efuse.
386
387config NVMEM_VF610_OCOTP
388	tristate "VF610 SoC OCOTP support"
389	depends on SOC_VF610 || COMPILE_TEST
390	depends on HAS_IOMEM
391	help
392	  This is a driver for the 'OCOTP' peripheral available on Vybrid
393	  devices like VF5xx and VF6xx.
394
395	  This driver can also be build as a module. If so, the module will
396	  be called nvmem-vf610-ocotp.
397
398config NVMEM_ZYNQMP
399	tristate "Xilinx ZYNQMP SoC nvmem firmware support"
400	depends on ARCH_ZYNQMP
401	help
402	  This is a driver to access hardware related data like
403	  soc revision, IDCODE... etc by using the firmware
404	  interface.
405
406	  If sure, say yes. If unsure, say no.
407
408config NVMEM_QORIQ_EFUSE
409	tristate "NXP QorIQ eFuse support"
410	depends on PPC_85xx || COMPILE_TEST
411	depends on HAS_IOMEM
412	help
413	  This driver provides read support for the eFuses (SFP) on NXP QorIQ
414	  series SoC's. This includes secure boot settings, the globally unique
415	  NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'.
416
417	  This driver can also be built as a module. If so, the module
418	  will be called nvmem_qoriq_efuse.
419
420endif
421