xref: /linux-6.15/drivers/nvmem/Kconfig (revision 1530b923)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2eace75cfSSrinivas Kandagatlamenuconfig NVMEM
32a37ce25SArnd Bergmann	bool "NVMEM Support"
4fc29fd82SMiquel Raynal	imply NVMEM_LAYOUTS
5eace75cfSSrinivas Kandagatla	help
6eace75cfSSrinivas Kandagatla	  Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
7eace75cfSSrinivas Kandagatla
8eace75cfSSrinivas Kandagatla	  This framework is designed to provide a generic interface to NVMEM
9eace75cfSSrinivas Kandagatla	  from both the Linux Kernel and the userspace.
10eace75cfSSrinivas Kandagatla
11eace75cfSSrinivas Kandagatla	  If unsure, say no.
124ab11996SSrinivas Kandagatla
134ab11996SSrinivas Kandagatlaif NVMEM
144ab11996SSrinivas Kandagatla
15ae0c2d72SSrinivas Kandagatlaconfig NVMEM_SYSFS
16ae0c2d72SSrinivas Kandagatla	bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
17ae0c2d72SSrinivas Kandagatla	depends on SYSFS
18ae0c2d72SSrinivas Kandagatla	default y
19ae0c2d72SSrinivas Kandagatla	help
20ae0c2d72SSrinivas Kandagatla	 Say Y here to add a sysfs interface for NVMEM.
21ae0c2d72SSrinivas Kandagatla
22ae0c2d72SSrinivas Kandagatla	 This interface is mostly used by userspace applications to
23ae0c2d72SSrinivas Kandagatla	 read/write directly into nvmem.
24ae0c2d72SSrinivas Kandagatla
25266570f4SMichael Walle# Layouts
26266570f4SMichael Walle
27266570f4SMichael Wallesource "drivers/nvmem/layouts/Kconfig"
28266570f4SMichael Walle
29a06d9e5aSRafał Miłecki# Devices
30a06d9e5aSRafał Miłecki
31a06d9e5aSRafał Miłeckiconfig NVMEM_APPLE_EFUSES
32a06d9e5aSRafał Miłecki	tristate "Apple eFuse support"
33a06d9e5aSRafał Miłecki	depends on ARCH_APPLE || COMPILE_TEST
34a06d9e5aSRafał Miłecki	default ARCH_APPLE
35a06d9e5aSRafał Miłecki	help
36a06d9e5aSRafał Miłecki	  Say y here to enable support for reading eFuses on Apple SoCs
37a06d9e5aSRafał Miłecki	  such as the M1. These are e.g. used to store factory programmed
38a06d9e5aSRafał Miłecki	  calibration data required for the PCIe or the USB-C PHY.
39a06d9e5aSRafał Miłecki
40a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module will
41a06d9e5aSRafał Miłecki	  be called nvmem-apple-efuses.
42a06d9e5aSRafał Miłecki
43a06d9e5aSRafał Miłeckiconfig NVMEM_BCM_OCOTP
44a06d9e5aSRafał Miłecki	tristate "Broadcom On-Chip OTP Controller support"
45a06d9e5aSRafał Miłecki	depends on ARCH_BCM_IPROC || COMPILE_TEST
46a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
47a06d9e5aSRafał Miłecki	default ARCH_BCM_IPROC
48a06d9e5aSRafał Miłecki	help
49a06d9e5aSRafał Miłecki	  Say y here to enable read/write access to the Broadcom OTP
50a06d9e5aSRafał Miłecki	  controller.
51a06d9e5aSRafał Miłecki
52a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
53a06d9e5aSRafał Miłecki	  will be called nvmem-bcm-ocotp.
54a06d9e5aSRafał Miłecki
55a06d9e5aSRafał Miłeckiconfig NVMEM_BRCM_NVRAM
56a06d9e5aSRafał Miłecki	tristate "Broadcom's NVRAM support"
57a06d9e5aSRafał Miłecki	depends on ARCH_BCM_5301X || COMPILE_TEST
58a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
5973bcd133SRafał Miłecki	select GENERIC_NET_UTILS
60a06d9e5aSRafał Miłecki	help
61a06d9e5aSRafał Miłecki	  This driver provides support for Broadcom's NVRAM that can be accessed
62a06d9e5aSRafał Miłecki	  using I/O mapping.
63a06d9e5aSRafał Miłecki
64c066c1c0SMichael Grzeschikconfig NVMEM_IMX_IIM
65c066c1c0SMichael Grzeschik	tristate "i.MX IC Identification Module support"
66c066c1c0SMichael Grzeschik	depends on ARCH_MXC || COMPILE_TEST
67c066c1c0SMichael Grzeschik	help
68c066c1c0SMichael Grzeschik	  This is a driver for the IC Identification Module (IIM) available on
69c066c1c0SMichael Grzeschik	  i.MX SoCs, providing access to 4 Kbits of programmable
70c066c1c0SMichael Grzeschik	  eFuses.
71c066c1c0SMichael Grzeschik
72c066c1c0SMichael Grzeschik	  This driver can also be built as a module. If so, the module
73c066c1c0SMichael Grzeschik	  will be called nvmem-imx-iim.
74c066c1c0SMichael Grzeschik
753edba6b4SPhilipp Zabelconfig NVMEM_IMX_OCOTP
76dd4c1047SLucas Stach	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
77dd4c1047SLucas Stach	depends on ARCH_MXC || COMPILE_TEST
7863c0c076SSrinivas Kandagatla	depends on HAS_IOMEM
793edba6b4SPhilipp Zabel	help
803edba6b4SPhilipp Zabel	  This is a driver for the On-Chip OTP Controller (OCOTP) available on
813edba6b4SPhilipp Zabel	  i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
823edba6b4SPhilipp Zabel	  eFuses.
833edba6b4SPhilipp Zabel
843edba6b4SPhilipp Zabel	  This driver can also be built as a module. If so, the module
853edba6b4SPhilipp Zabel	  will be called nvmem-imx-ocotp.
863edba6b4SPhilipp Zabel
8722e9e6fcSPeng Fanconfig NVMEM_IMX_OCOTP_ELE
8822e9e6fcSPeng Fan	tristate "i.MX On-Chip OTP Controller support"
8922e9e6fcSPeng Fan	depends on ARCH_MXC || COMPILE_TEST
9022e9e6fcSPeng Fan	depends on HAS_IOMEM
9122e9e6fcSPeng Fan	depends on OF
9222e9e6fcSPeng Fan	help
9322e9e6fcSPeng Fan	  This is a driver for the On-Chip OTP Controller (OCOTP)
9422e9e6fcSPeng Fan	  available on i.MX SoCs which has ELE.
9522e9e6fcSPeng Fan
9667ff708bSPeng Fanconfig NVMEM_IMX_OCOTP_SCU
9767ff708bSPeng Fan	tristate "i.MX8 SCU On-Chip OTP Controller support"
9867ff708bSPeng Fan	depends on IMX_SCU
99b210fac7SSrinivas Kandagatla	depends on HAVE_ARM_SMCCC
10067ff708bSPeng Fan	help
10167ff708bSPeng Fan	  This is a driver for the SCU On-Chip OTP Controller (OCOTP)
10267ff708bSPeng Fan	  available on i.MX8 SoCs.
10367ff708bSPeng Fan
10428fc7c98SRafał Miłeckiconfig NVMEM_JZ4780_EFUSE
1054a2addc2SPrasannaKumar Muralidharan	tristate "JZ4780 EFUSE Memory Support"
1064a2addc2SPrasannaKumar Muralidharan	depends on MACH_INGENIC || COMPILE_TEST
1074a2addc2SPrasannaKumar Muralidharan	depends on HAS_IOMEM
1084a2addc2SPrasannaKumar Muralidharan	depends on OF
1094a2addc2SPrasannaKumar Muralidharan	select REGMAP_MMIO
1104a2addc2SPrasannaKumar Muralidharan	help
1114a2addc2SPrasannaKumar Muralidharan	  Say Y here to include support for JZ4780 efuse memory found on
1124a2addc2SPrasannaKumar Muralidharan	  all JZ4780 SoC based devices.
1134a2addc2SPrasannaKumar Muralidharan	  To compile this driver as a module, choose M here: the module
1144a2addc2SPrasannaKumar Muralidharan	  will be called nvmem_jz4780_efuse.
1154a2addc2SPrasannaKumar Muralidharan
1169e8f208aSHoratiu Vulturconfig NVMEM_LAN9662_OTPC
1179e8f208aSHoratiu Vultur	tristate "Microchip LAN9662 OTP controller support"
1189e8f208aSHoratiu Vultur	depends on SOC_LAN966 || COMPILE_TEST
1199e8f208aSHoratiu Vultur	depends on HAS_IOMEM
1209e8f208aSHoratiu Vultur	help
1219e8f208aSHoratiu Vultur	  This driver enables the OTP controller available on Microchip LAN9662
1229e8f208aSHoratiu Vultur	  SoCs. It controls the access to the OTP memory connected to it.
1239e8f208aSHoratiu Vultur
124a06d9e5aSRafał Miłeckiconfig NVMEM_LAYERSCAPE_SFP
125a06d9e5aSRafał Miłecki	tristate "Layerscape SFP (Security Fuse Processor) support"
126a06d9e5aSRafał Miłecki	depends on ARCH_LAYERSCAPE || COMPILE_TEST
127a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
128a06d9e5aSRafał Miłecki	select REGMAP_MMIO
129a06d9e5aSRafał Miłecki	help
130a06d9e5aSRafał Miłecki	  This driver provides support to read the eFuses on Freescale
131a06d9e5aSRafał Miłecki	  Layerscape SoC's. For example, the vendor provides a per part
132a06d9e5aSRafał Miłecki	  unique ID there.
133a06d9e5aSRafał Miłecki
134a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
135a06d9e5aSRafał Miłecki	  will be called layerscape-sfp.
136a06d9e5aSRafał Miłecki
137f02f8aeeSAriel D'Alessandroconfig NVMEM_LPC18XX_EEPROM
138f02f8aeeSAriel D'Alessandro	tristate "NXP LPC18XX EEPROM Memory Support"
139f02f8aeeSAriel D'Alessandro	depends on ARCH_LPC18XX || COMPILE_TEST
1402ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
141f02f8aeeSAriel D'Alessandro	help
142f02f8aeeSAriel D'Alessandro	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
143f02f8aeeSAriel D'Alessandro	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
144f02f8aeeSAriel D'Alessandro	  To compile this driver as a module, choose M here: the module
145f02f8aeeSAriel D'Alessandro	  will be called nvmem_lpc18xx_eeprom.
146f02f8aeeSAriel D'Alessandro
14788806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_OTP
14888806dafSJoachim Eastwood	tristate "NXP LPC18XX OTP Memory Support"
14988806dafSJoachim Eastwood	depends on ARCH_LPC18XX || COMPILE_TEST
15088806dafSJoachim Eastwood	depends on HAS_IOMEM
15188806dafSJoachim Eastwood	help
15288806dafSJoachim Eastwood	  Say Y here to include support for NXP LPC18xx OTP memory found on
15388806dafSJoachim Eastwood	  all LPC18xx and LPC43xx devices.
15488806dafSJoachim Eastwood	  To compile this driver as a module, choose M here: the module
15588806dafSJoachim Eastwood	  will be called nvmem_lpc18xx_otp.
15688806dafSJoachim Eastwood
157a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_EFUSE
158a06d9e5aSRafał Miłecki	tristate "Amlogic Meson GX eFuse Support"
159a06d9e5aSRafał Miłecki	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
160c01e9a11SStefan Wahren	help
161a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
162a06d9e5aSRafał Miłecki	  the Amlogic Meson GX SoCs.
163c01e9a11SStefan Wahren
164c01e9a11SStefan Wahren	  This driver can also be built as a module. If so, the module
165a06d9e5aSRafał Miłecki	  will be called nvmem_meson_efuse.
166a06d9e5aSRafał Miłecki
167a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_MX_EFUSE
168a06d9e5aSRafał Miłecki	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
169a06d9e5aSRafał Miłecki	depends on ARCH_MESON || COMPILE_TEST
170a06d9e5aSRafał Miłecki	help
171a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
172a06d9e5aSRafał Miłecki	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
173a06d9e5aSRafał Miłecki
174a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
175a06d9e5aSRafał Miłecki	  will be called nvmem_meson_mx_efuse.
176a06d9e5aSRafał Miłecki
177a06d9e5aSRafał Miłeckiconfig NVMEM_MICROCHIP_OTPC
178a06d9e5aSRafał Miłecki	tristate "Microchip OTPC support"
179a06d9e5aSRafał Miłecki	depends on ARCH_AT91 || COMPILE_TEST
180a06d9e5aSRafał Miłecki	help
181a06d9e5aSRafał Miłecki	  This driver enable the OTP controller available on Microchip SAMA7G5
182fb817c4eSColin Ian King	  SoCs. It controls the access to the OTP memory connected to it.
183c01e9a11SStefan Wahren
18428fc7c98SRafał Miłeckiconfig NVMEM_MTK_EFUSE
1854c7e4fe3SAndrew-CT Chen	tristate "Mediatek SoCs EFUSE support"
1864c7e4fe3SAndrew-CT Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
1872ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
1884c7e4fe3SAndrew-CT Chen	help
1894c7e4fe3SAndrew-CT Chen	  This is a driver to access hardware related data like sensor
1904c7e4fe3SAndrew-CT Chen	  calibration, HDMI impedance etc.
1914c7e4fe3SAndrew-CT Chen
1924c7e4fe3SAndrew-CT Chen	  This driver can also be built as a module. If so, the module
1934c7e4fe3SAndrew-CT Chen	  will be called efuse-mtk.
1944c7e4fe3SAndrew-CT Chen
195a06d9e5aSRafał Miłeckiconfig NVMEM_MXS_OCOTP
196a06d9e5aSRafał Miłecki	tristate "Freescale MXS On-Chip OTP Memory Support"
197a06d9e5aSRafał Miłecki	depends on ARCH_MXS || COMPILE_TEST
198a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
19998830350SClaudiu Beznea	help
200a06d9e5aSRafał Miłecki	  If you say Y here, you will get readonly access to the
201a06d9e5aSRafał Miłecki	  One Time Programmable memory pages that are stored
202a06d9e5aSRafał Miłecki	  on the Freescale i.MX23/i.MX28 processor.
203a06d9e5aSRafał Miłecki
204a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
205a06d9e5aSRafał Miłecki	  will be called nvmem-mxs-ocotp.
20698830350SClaudiu Beznea
2073683b761SEmmanuel Gil Peyrotconfig NVMEM_NINTENDO_OTP
2083683b761SEmmanuel Gil Peyrot	tristate "Nintendo Wii and Wii U OTP Support"
2097af526c7SGeert Uytterhoeven	depends on WII || COMPILE_TEST
2103683b761SEmmanuel Gil Peyrot	help
2113683b761SEmmanuel Gil Peyrot	  This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
2123683b761SEmmanuel Gil Peyrot
2133683b761SEmmanuel Gil Peyrot	  This memory contains common and per-console keys, signatures and
2143683b761SEmmanuel Gil Peyrot	  related data required to access peripherals.
2153683b761SEmmanuel Gil Peyrot
2163683b761SEmmanuel Gil Peyrot	  This driver can also be built as a module. If so, the module
2173683b761SEmmanuel Gil Peyrot	  will be called nvmem-nintendo-otp.
2183683b761SEmmanuel Gil Peyrot
21928fc7c98SRafał Miłeckiconfig NVMEM_QCOM_QFPROM
2204ab11996SSrinivas Kandagatla	tristate "QCOM QFPROM Support"
2214ab11996SSrinivas Kandagatla	depends on ARCH_QCOM || COMPILE_TEST
2225685e244SRichard Weinberger	depends on HAS_IOMEM
2234ab11996SSrinivas Kandagatla	help
2244ab11996SSrinivas Kandagatla	  Say y here to enable QFPROM support. The QFPROM provides access
2254ab11996SSrinivas Kandagatla	  functions for QFPROM data to rest of the drivers via nvmem interface.
2264ab11996SSrinivas Kandagatla
2274ab11996SSrinivas Kandagatla	  This driver can also be built as a module. If so, the module
2284ab11996SSrinivas Kandagatla	  will be called nvmem_qfprom.
2294ab11996SSrinivas Kandagatla
230c471245bSKomal Bajajconfig NVMEM_QCOM_SEC_QFPROM
231c471245bSKomal Bajaj        tristate "QCOM SECURE QFPROM Support"
232c471245bSKomal Bajaj        depends on ARCH_QCOM || COMPILE_TEST
233c471245bSKomal Bajaj        depends on HAS_IOMEM
234c471245bSKomal Bajaj        depends on OF
235c471245bSKomal Bajaj        select QCOM_SCM
236c471245bSKomal Bajaj        help
237c471245bSKomal Bajaj          Say y here to enable secure QFPROM support. The secure QFPROM provides access
238c471245bSKomal Bajaj          functions for QFPROM data to rest of the drivers via nvmem interface.
239c471245bSKomal Bajaj
240c471245bSKomal Bajaj          This driver can also be built as a module. If so, the module will be called
241c471245bSKomal Bajaj          nvmem_sec_qfprom.
242c471245bSKomal Bajaj
243a06d9e5aSRafał Miłeckiconfig NVMEM_RAVE_SP_EEPROM
244a06d9e5aSRafał Miłecki	tristate "Rave SP EEPROM Support"
245a06d9e5aSRafał Miłecki	depends on RAVE_SP_CORE
24640ce9798SAnirudh Ghayal	help
247a06d9e5aSRafał Miłecki	  Say y here to enable Rave SP EEPROM support.
248a06d9e5aSRafał Miłecki
249*1530b923SGeert Uytterhoevenconfig NVMEM_RCAR_EFUSE
250*1530b923SGeert Uytterhoeven	tristate "Renesas R-Car Gen4 E-FUSE support"
251*1530b923SGeert Uytterhoeven	depends on (ARCH_RENESAS && ARM64) || COMPILE_TEST
252*1530b923SGeert Uytterhoeven	depends on NVMEM
253*1530b923SGeert Uytterhoeven	help
254*1530b923SGeert Uytterhoeven	  Enable support for reading the fuses in the E-FUSE or OTP
255*1530b923SGeert Uytterhoeven	  non-volatile memory block on Renesas R-Car Gen4 SoCs.
256*1530b923SGeert Uytterhoeven
257*1530b923SGeert Uytterhoeven	  This driver can also be built as a module. If so, the module
258*1530b923SGeert Uytterhoeven	  will be called nvmem-rcar-efuse.
259*1530b923SGeert Uytterhoeven
260a06d9e5aSRafał Miłeckiconfig NVMEM_RMEM
261a06d9e5aSRafał Miłecki	tristate "Reserved Memory Based Driver Support"
262a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
263a06d9e5aSRafał Miłecki	help
264a06d9e5aSRafał Miłecki	  This driver maps reserved memory into an nvmem device. It might be
265a06d9e5aSRafał Miłecki	  useful to expose information left by firmware in memory.
266a06d9e5aSRafał Miłecki
267a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
268a06d9e5aSRafał Miłecki	  will be called nvmem-rmem.
26940ce9798SAnirudh Ghayal
27028fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_EFUSE
27103a69568SZhengShunQian	tristate "Rockchip eFuse Support"
27203a69568SZhengShunQian	depends on ARCH_ROCKCHIP || COMPILE_TEST
2735685e244SRichard Weinberger	depends on HAS_IOMEM
27403a69568SZhengShunQian	help
27523b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
27603a69568SZhengShunQian	  from eFuse, such as cpu-leakage.
27703a69568SZhengShunQian
27803a69568SZhengShunQian	  This driver can also be built as a module. If so, the module
27903a69568SZhengShunQian	  will be called nvmem_rockchip_efuse.
28003a69568SZhengShunQian
28128fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_OTP
282755864feSFinley Xiao	tristate "Rockchip OTP controller support"
283755864feSFinley Xiao	depends on ARCH_ROCKCHIP || COMPILE_TEST
284755864feSFinley Xiao	depends on HAS_IOMEM
285755864feSFinley Xiao	help
28623b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
28723b7b491SDiederik de Haas	  from OTP, such as cpu-leakage.
288755864feSFinley Xiao
289755864feSFinley Xiao	  This driver can also be built as a module. If so, the module
290755864feSFinley Xiao	  will be called nvmem_rockchip_otp.
291755864feSFinley Xiao
292a06d9e5aSRafał Miłeckiconfig NVMEM_SC27XX_EFUSE
293a06d9e5aSRafał Miłecki	tristate "Spreadtrum SC27XX eFuse Support"
294a06d9e5aSRafał Miłecki	depends on MFD_SC27XX_PMIC || COMPILE_TEST
2959d59c6e8SJonathan Richardson	depends on HAS_IOMEM
2969d59c6e8SJonathan Richardson	help
297a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
298a06d9e5aSRafał Miłecki	  SC27XX PMICs from eFuse.
2999d59c6e8SJonathan Richardson
3009d59c6e8SJonathan Richardson	  This driver can also be built as a module. If so, the module
301a06d9e5aSRafał Miłecki	  will be called nvmem-sc27xx-efuse.
302a06d9e5aSRafał Miłecki
303a06d9e5aSRafał Miłeckiconfig NVMEM_SNVS_LPGPR
304a06d9e5aSRafał Miłecki	tristate "Support for Low Power General Purpose Register"
305a06d9e5aSRafał Miłecki	depends on ARCH_MXC || COMPILE_TEST
306a06d9e5aSRafał Miłecki	help
307a06d9e5aSRafał Miłecki	  This is a driver for Low Power General Purpose Register (LPGPR) available on
308a06d9e5aSRafał Miłecki	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
309a06d9e5aSRafał Miłecki
310a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
311a06d9e5aSRafał Miłecki	  will be called nvmem-snvs-lpgpr.
312a06d9e5aSRafał Miłecki
313a06d9e5aSRafał Miłeckiconfig NVMEM_SPMI_SDAM
314a06d9e5aSRafał Miłecki	tristate "SPMI SDAM Support"
315a06d9e5aSRafał Miłecki	depends on SPMI
316a06d9e5aSRafał Miłecki	help
317a06d9e5aSRafał Miłecki	  This driver supports the Shared Direct Access Memory Module on
318a06d9e5aSRafał Miłecki	  Qualcomm Technologies, Inc. PMICs. It provides the clients
319a06d9e5aSRafał Miłecki	  an interface to read/write to the SDAM module's shared memory.
320a06d9e5aSRafał Miłecki
321a06d9e5aSRafał Miłeckiconfig NVMEM_SPRD_EFUSE
322a06d9e5aSRafał Miłecki	tristate "Spreadtrum SoC eFuse Support"
323a06d9e5aSRafał Miłecki	depends on ARCH_SPRD || COMPILE_TEST
324a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
325a06d9e5aSRafał Miłecki	help
326a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
327a06d9e5aSRafał Miłecki	  SoCs from eFuse.
328a06d9e5aSRafał Miłecki
329a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
330a06d9e5aSRafał Miłecki	  will be called nvmem-sprd-efuse.
3319d59c6e8SJonathan Richardson
3326a0bc352SPatrick Delaunayconfig NVMEM_STM32_BSEC_OPTEE_TA
3331dc7e37bSArnd Bergmann	def_bool NVMEM_STM32_ROMEM && OPTEE
3346a0bc352SPatrick Delaunay	help
3356a0bc352SPatrick Delaunay	  Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
3366a0bc352SPatrick Delaunay	  trusted application STM32MP BSEC.
3376a0bc352SPatrick Delaunay
3386a0bc352SPatrick Delaunay	  This library is a used by stm32-romem driver or included in the module
3396a0bc352SPatrick Delaunay	  called nvmem-stm32-romem.
3406a0bc352SPatrick Delaunay
341ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM
342ded1b7fcSFabrice Gasnier	tristate "STMicroelectronics STM32 factory-programmed memory support"
343ded1b7fcSFabrice Gasnier	depends on ARCH_STM32 || COMPILE_TEST
3441dc7e37bSArnd Bergmann	depends on OPTEE || !OPTEE
345ded1b7fcSFabrice Gasnier	help
346ded1b7fcSFabrice Gasnier	  Say y here to enable read-only access for STMicroelectronics STM32
347ded1b7fcSFabrice Gasnier	  factory-programmed memory area.
348ded1b7fcSFabrice Gasnier
349ded1b7fcSFabrice Gasnier	  This driver can also be built as a module. If so, the module
350ded1b7fcSFabrice Gasnier	  will be called nvmem-stm32-romem.
351ded1b7fcSFabrice Gasnier
352a06d9e5aSRafał Miłeckiconfig NVMEM_SUNPLUS_OCOTP
353a06d9e5aSRafał Miłecki	tristate "Sunplus SoC OTP support"
354a06d9e5aSRafał Miłecki	depends on SOC_SP7021 || COMPILE_TEST
355a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
356a06d9e5aSRafał Miłecki	help
357a06d9e5aSRafał Miłecki	  This is a driver for the On-chip OTP controller (OCOTP) available
358a06d9e5aSRafał Miłecki	  on Sunplus SoCs. It provides access to 128 bytes of one-time
359a06d9e5aSRafał Miłecki	  programmable eFuse.
360a06d9e5aSRafał Miłecki
361a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
362a06d9e5aSRafał Miłecki	  will be called nvmem-sunplus-ocotp.
363a06d9e5aSRafał Miłecki
3643d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID
3653d0b16a6SMaxime Ripard	tristate "Allwinner SoCs SID support"
3663d0b16a6SMaxime Ripard	depends on ARCH_SUNXI
3673d0b16a6SMaxime Ripard	help
3683d0b16a6SMaxime Ripard	  This is a driver for the 'security ID' available on various Allwinner
3693d0b16a6SMaxime Ripard	  devices.
3703d0b16a6SMaxime Ripard
3713d0b16a6SMaxime Ripard	  This driver can also be built as a module. If so, the module
3723d0b16a6SMaxime Ripard	  will be called nvmem_sunxi_sid.
3733d0b16a6SMaxime Ripard
374a06d9e5aSRafał Miłeckiconfig NVMEM_U_BOOT_ENV
375a06d9e5aSRafał Miłecki	tristate "U-Boot environment variables support"
376a06d9e5aSRafał Miłecki	depends on OF && MTD
3775f158112SRafał Miłecki	select NVMEM_LAYOUT_U_BOOT_ENV
378a06d9e5aSRafał Miłecki	help
379a06d9e5aSRafał Miłecki	  U-Boot stores its setup as environment variables. This driver adds
380a06d9e5aSRafał Miłecki	  support for verifying & exporting such data. It also exposes variables
381a06d9e5aSRafał Miłecki	  as NVMEM cells so they can be referenced by other drivers.
382a06d9e5aSRafał Miłecki
383a06d9e5aSRafał Miłecki	  Currently this drivers works only with env variables on top of MTD.
384a06d9e5aSRafał Miłecki
385a06d9e5aSRafał Miłecki	  If compiled as module it will be called nvmem_u-boot-env.
386a06d9e5aSRafał Miłecki
38728fc7c98SRafał Miłeckiconfig NVMEM_UNIPHIER_EFUSE
38871c5dd50SKeiji Hayashibara	tristate "UniPhier SoCs eFuse support"
38971c5dd50SKeiji Hayashibara	depends on ARCH_UNIPHIER || COMPILE_TEST
39071c5dd50SKeiji Hayashibara	depends on HAS_IOMEM
39171c5dd50SKeiji Hayashibara	help
39271c5dd50SKeiji Hayashibara	  This is a simple driver to dump specified values of UniPhier SoC
39371c5dd50SKeiji Hayashibara	  from eFuse.
39471c5dd50SKeiji Hayashibara
39571c5dd50SKeiji Hayashibara	  This driver can also be built as a module. If so, the module
39671c5dd50SKeiji Hayashibara	  will be called nvmem-uniphier-efuse.
39771c5dd50SKeiji Hayashibara
39822dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP
39922dbdb7cSSanchayan Maity	tristate "VF610 SoC OCOTP support"
40022dbdb7cSSanchayan Maity	depends on SOC_VF610 || COMPILE_TEST
4015685e244SRichard Weinberger	depends on HAS_IOMEM
40222dbdb7cSSanchayan Maity	help
40322dbdb7cSSanchayan Maity	  This is a driver for the 'OCOTP' peripheral available on Vybrid
40422dbdb7cSSanchayan Maity	  devices like VF5xx and VF6xx.
40522dbdb7cSSanchayan Maity
40622dbdb7cSSanchayan Maity	  This driver can also be build as a module. If so, the module will
40722dbdb7cSSanchayan Maity	  be called nvmem-vf610-ocotp.
40822dbdb7cSSanchayan Maity
4094640fa18SNava kishore Manneconfig NVMEM_ZYNQMP
410bcd1fe07SNick Alcock	tristate "Xilinx ZYNQMP SoC nvmem firmware support"
4114640fa18SNava kishore Manne	depends on ARCH_ZYNQMP
4124640fa18SNava kishore Manne	help
4134640fa18SNava kishore Manne	  This is a driver to access hardware related data like
4144640fa18SNava kishore Manne	  soc revision, IDCODE... etc by using the firmware
4154640fa18SNava kishore Manne	  interface.
4164640fa18SNava kishore Manne
4174640fa18SNava kishore Manne	  If sure, say yes. If unsure, say no.
4184640fa18SNava kishore Manne
4190861110bSRichard Alpeconfig NVMEM_QORIQ_EFUSE
4200861110bSRichard Alpe	tristate "NXP QorIQ eFuse support"
4210861110bSRichard Alpe	depends on PPC_85xx || COMPILE_TEST
4220861110bSRichard Alpe	depends on HAS_IOMEM
4230861110bSRichard Alpe	help
4240861110bSRichard Alpe	  This driver provides read support for the eFuses (SFP) on NXP QorIQ
4250861110bSRichard Alpe	  series SoC's. This includes secure boot settings, the globally unique
4260861110bSRichard Alpe	  NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'.
4270861110bSRichard Alpe
4280861110bSRichard Alpe	  This driver can also be built as a module. If so, the module
4290861110bSRichard Alpe	  will be called nvmem_qoriq_efuse.
4300861110bSRichard Alpe
4314ab11996SSrinivas Kandagatlaendif
432