xref: /linux/drivers/nvmem/Kconfig (revision c26f4fbd58375bd6ef74f95eb73d61762ad97c59)
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
43*fe91c24aSHector Martinconfig NVMEM_APPLE_SPMI
44*fe91c24aSHector Martin	tristate "Apple SPMI NVMEM"
45*fe91c24aSHector Martin	depends on ARCH_APPLE || COMPILE_TEST
46*fe91c24aSHector Martin	depends on SPMI
47*fe91c24aSHector Martin	select REGMAP_SPMI
48*fe91c24aSHector Martin	help
49*fe91c24aSHector Martin	  Say y here to build a driver to expose NVMEM cells for a set of power
50*fe91c24aSHector Martin	  and RTC-related settings on a SPMI-attached PMIC present on Apple
51*fe91c24aSHector Martin	  devices, such as Apple Silicon Macs.
52*fe91c24aSHector Martin
53*fe91c24aSHector Martin	  This driver can also be built as a module. If so, the module
54*fe91c24aSHector Martin	  will be called apple-nvmem-spmi.
55*fe91c24aSHector Martin
56a06d9e5aSRafał Miłeckiconfig NVMEM_BCM_OCOTP
57a06d9e5aSRafał Miłecki	tristate "Broadcom On-Chip OTP Controller support"
58a06d9e5aSRafał Miłecki	depends on ARCH_BCM_IPROC || COMPILE_TEST
59a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
60a06d9e5aSRafał Miłecki	default ARCH_BCM_IPROC
61a06d9e5aSRafał Miłecki	help
62a06d9e5aSRafał Miłecki	  Say y here to enable read/write access to the Broadcom OTP
63a06d9e5aSRafał Miłecki	  controller.
64a06d9e5aSRafał Miłecki
65a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
66a06d9e5aSRafał Miłecki	  will be called nvmem-bcm-ocotp.
67a06d9e5aSRafał Miłecki
68a06d9e5aSRafał Miłeckiconfig NVMEM_BRCM_NVRAM
69a06d9e5aSRafał Miłecki	tristate "Broadcom's NVRAM support"
70a06d9e5aSRafał Miłecki	depends on ARCH_BCM_5301X || COMPILE_TEST
71a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
7273bcd133SRafał Miłecki	select GENERIC_NET_UTILS
73a06d9e5aSRafał Miłecki	help
74a06d9e5aSRafał Miłecki	  This driver provides support for Broadcom's NVRAM that can be accessed
75a06d9e5aSRafał Miłecki	  using I/O mapping.
76a06d9e5aSRafał Miłecki
77c066c1c0SMichael Grzeschikconfig NVMEM_IMX_IIM
78c066c1c0SMichael Grzeschik	tristate "i.MX IC Identification Module support"
79c066c1c0SMichael Grzeschik	depends on ARCH_MXC || COMPILE_TEST
80c066c1c0SMichael Grzeschik	help
81c066c1c0SMichael Grzeschik	  This is a driver for the IC Identification Module (IIM) available on
82c066c1c0SMichael Grzeschik	  i.MX SoCs, providing access to 4 Kbits of programmable
83c066c1c0SMichael Grzeschik	  eFuses.
84c066c1c0SMichael Grzeschik
85c066c1c0SMichael Grzeschik	  This driver can also be built as a module. If so, the module
86c066c1c0SMichael Grzeschik	  will be called nvmem-imx-iim.
87c066c1c0SMichael Grzeschik
883edba6b4SPhilipp Zabelconfig NVMEM_IMX_OCOTP
89dd4c1047SLucas Stach	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
90dd4c1047SLucas Stach	depends on ARCH_MXC || COMPILE_TEST
9163c0c076SSrinivas Kandagatla	depends on HAS_IOMEM
923edba6b4SPhilipp Zabel	help
933edba6b4SPhilipp Zabel	  This is a driver for the On-Chip OTP Controller (OCOTP) available on
943edba6b4SPhilipp Zabel	  i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
953edba6b4SPhilipp Zabel	  eFuses.
963edba6b4SPhilipp Zabel
973edba6b4SPhilipp Zabel	  This driver can also be built as a module. If so, the module
983edba6b4SPhilipp Zabel	  will be called nvmem-imx-ocotp.
993edba6b4SPhilipp Zabel
10022e9e6fcSPeng Fanconfig NVMEM_IMX_OCOTP_ELE
10122e9e6fcSPeng Fan	tristate "i.MX On-Chip OTP Controller support"
10222e9e6fcSPeng Fan	depends on ARCH_MXC || COMPILE_TEST
10322e9e6fcSPeng Fan	depends on HAS_IOMEM
10422e9e6fcSPeng Fan	depends on OF
10522e9e6fcSPeng Fan	help
10622e9e6fcSPeng Fan	  This is a driver for the On-Chip OTP Controller (OCOTP)
10722e9e6fcSPeng Fan	  available on i.MX SoCs which has ELE.
10822e9e6fcSPeng Fan
10967ff708bSPeng Fanconfig NVMEM_IMX_OCOTP_SCU
11067ff708bSPeng Fan	tristate "i.MX8 SCU On-Chip OTP Controller support"
11167ff708bSPeng Fan	depends on IMX_SCU
112b210fac7SSrinivas Kandagatla	depends on HAVE_ARM_SMCCC
11367ff708bSPeng Fan	help
11467ff708bSPeng Fan	  This is a driver for the SCU On-Chip OTP Controller (OCOTP)
11567ff708bSPeng Fan	  available on i.MX8 SoCs.
11667ff708bSPeng Fan
11728fc7c98SRafał Miłeckiconfig NVMEM_JZ4780_EFUSE
1184a2addc2SPrasannaKumar Muralidharan	tristate "JZ4780 EFUSE Memory Support"
1194a2addc2SPrasannaKumar Muralidharan	depends on MACH_INGENIC || COMPILE_TEST
1204a2addc2SPrasannaKumar Muralidharan	depends on HAS_IOMEM
1214a2addc2SPrasannaKumar Muralidharan	depends on OF
1224a2addc2SPrasannaKumar Muralidharan	select REGMAP_MMIO
1234a2addc2SPrasannaKumar Muralidharan	help
1244a2addc2SPrasannaKumar Muralidharan	  Say Y here to include support for JZ4780 efuse memory found on
1254a2addc2SPrasannaKumar Muralidharan	  all JZ4780 SoC based devices.
1264a2addc2SPrasannaKumar Muralidharan	  To compile this driver as a module, choose M here: the module
1274a2addc2SPrasannaKumar Muralidharan	  will be called nvmem_jz4780_efuse.
1284a2addc2SPrasannaKumar Muralidharan
1299e8f208aSHoratiu Vulturconfig NVMEM_LAN9662_OTPC
1309e8f208aSHoratiu Vultur	tristate "Microchip LAN9662 OTP controller support"
1319e8f208aSHoratiu Vultur	depends on SOC_LAN966 || COMPILE_TEST
1329e8f208aSHoratiu Vultur	depends on HAS_IOMEM
1339e8f208aSHoratiu Vultur	help
1349e8f208aSHoratiu Vultur	  This driver enables the OTP controller available on Microchip LAN9662
1359e8f208aSHoratiu Vultur	  SoCs. It controls the access to the OTP memory connected to it.
1369e8f208aSHoratiu Vultur
137a06d9e5aSRafał Miłeckiconfig NVMEM_LAYERSCAPE_SFP
138a06d9e5aSRafał Miłecki	tristate "Layerscape SFP (Security Fuse Processor) support"
139a06d9e5aSRafał Miłecki	depends on ARCH_LAYERSCAPE || COMPILE_TEST
140a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
141a06d9e5aSRafał Miłecki	select REGMAP_MMIO
142a06d9e5aSRafał Miłecki	help
143a06d9e5aSRafał Miłecki	  This driver provides support to read the eFuses on Freescale
144a06d9e5aSRafał Miłecki	  Layerscape SoC's. For example, the vendor provides a per part
145a06d9e5aSRafał Miłecki	  unique ID there.
146a06d9e5aSRafał Miłecki
147a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
148a06d9e5aSRafał Miłecki	  will be called layerscape-sfp.
149a06d9e5aSRafał Miłecki
150f02f8aeeSAriel D'Alessandroconfig NVMEM_LPC18XX_EEPROM
151f02f8aeeSAriel D'Alessandro	tristate "NXP LPC18XX EEPROM Memory Support"
152f02f8aeeSAriel D'Alessandro	depends on ARCH_LPC18XX || COMPILE_TEST
1532ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
154f02f8aeeSAriel D'Alessandro	help
155f02f8aeeSAriel D'Alessandro	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
156f02f8aeeSAriel D'Alessandro	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
157f02f8aeeSAriel D'Alessandro	  To compile this driver as a module, choose M here: the module
158f02f8aeeSAriel D'Alessandro	  will be called nvmem_lpc18xx_eeprom.
159f02f8aeeSAriel D'Alessandro
16088806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_OTP
16188806dafSJoachim Eastwood	tristate "NXP LPC18XX OTP Memory Support"
16288806dafSJoachim Eastwood	depends on ARCH_LPC18XX || COMPILE_TEST
16388806dafSJoachim Eastwood	depends on HAS_IOMEM
16488806dafSJoachim Eastwood	help
16588806dafSJoachim Eastwood	  Say Y here to include support for NXP LPC18xx OTP memory found on
16688806dafSJoachim Eastwood	  all LPC18xx and LPC43xx devices.
16788806dafSJoachim Eastwood	  To compile this driver as a module, choose M here: the module
16888806dafSJoachim Eastwood	  will be called nvmem_lpc18xx_otp.
16988806dafSJoachim Eastwood
1708824dc7fSAndré Draszikconfig NVMEM_MAX77759
1718824dc7fSAndré Draszik	tristate "Maxim Integrated MAX77759 NVMEM Support"
1728824dc7fSAndré Draszik	depends on MFD_MAX77759
1738824dc7fSAndré Draszik	default MFD_MAX77759
1748824dc7fSAndré Draszik	help
1758824dc7fSAndré Draszik	  Say Y here to include support for the user-accessible storage found
1768824dc7fSAndré Draszik	  in Maxim Integrated MAX77759 PMICs. This IC provides space for 30
1778824dc7fSAndré Draszik	  bytes of storage.
1788824dc7fSAndré Draszik
1798824dc7fSAndré Draszik	  This driver can also be built as a module. If so, the module
1808824dc7fSAndré Draszik	  will be called nvmem-max77759.
1818824dc7fSAndré Draszik
182a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_EFUSE
183a06d9e5aSRafał Miłecki	tristate "Amlogic Meson GX eFuse Support"
184a06d9e5aSRafał Miłecki	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
185c01e9a11SStefan Wahren	help
186a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
187a06d9e5aSRafał Miłecki	  the Amlogic Meson GX SoCs.
188c01e9a11SStefan Wahren
189c01e9a11SStefan Wahren	  This driver can also be built as a module. If so, the module
190a06d9e5aSRafał Miłecki	  will be called nvmem_meson_efuse.
191a06d9e5aSRafał Miłecki
192a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_MX_EFUSE
193a06d9e5aSRafał Miłecki	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
194a06d9e5aSRafał Miłecki	depends on ARCH_MESON || COMPILE_TEST
195a06d9e5aSRafał Miłecki	help
196a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
197a06d9e5aSRafał Miłecki	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
198a06d9e5aSRafał Miłecki
199a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
200a06d9e5aSRafał Miłecki	  will be called nvmem_meson_mx_efuse.
201a06d9e5aSRafał Miłecki
202a06d9e5aSRafał Miłeckiconfig NVMEM_MICROCHIP_OTPC
203a06d9e5aSRafał Miłecki	tristate "Microchip OTPC support"
204a06d9e5aSRafał Miłecki	depends on ARCH_AT91 || COMPILE_TEST
205a06d9e5aSRafał Miłecki	help
206a06d9e5aSRafał Miłecki	  This driver enable the OTP controller available on Microchip SAMA7G5
207fb817c4eSColin Ian King	  SoCs. It controls the access to the OTP memory connected to it.
208c01e9a11SStefan Wahren
20928fc7c98SRafał Miłeckiconfig NVMEM_MTK_EFUSE
2104c7e4fe3SAndrew-CT Chen	tristate "Mediatek SoCs EFUSE support"
2114c7e4fe3SAndrew-CT Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
2122ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
2134c7e4fe3SAndrew-CT Chen	help
2144c7e4fe3SAndrew-CT Chen	  This is a driver to access hardware related data like sensor
2154c7e4fe3SAndrew-CT Chen	  calibration, HDMI impedance etc.
2164c7e4fe3SAndrew-CT Chen
2174c7e4fe3SAndrew-CT Chen	  This driver can also be built as a module. If so, the module
2184c7e4fe3SAndrew-CT Chen	  will be called efuse-mtk.
2194c7e4fe3SAndrew-CT Chen
220a06d9e5aSRafał Miłeckiconfig NVMEM_MXS_OCOTP
221a06d9e5aSRafał Miłecki	tristate "Freescale MXS On-Chip OTP Memory Support"
222a06d9e5aSRafał Miłecki	depends on ARCH_MXS || COMPILE_TEST
223a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
22498830350SClaudiu Beznea	help
225a06d9e5aSRafał Miłecki	  If you say Y here, you will get readonly access to the
226a06d9e5aSRafał Miłecki	  One Time Programmable memory pages that are stored
227a06d9e5aSRafał Miłecki	  on the Freescale i.MX23/i.MX28 processor.
228a06d9e5aSRafał Miłecki
229a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
230a06d9e5aSRafał Miłecki	  will be called nvmem-mxs-ocotp.
23198830350SClaudiu Beznea
2323683b761SEmmanuel Gil Peyrotconfig NVMEM_NINTENDO_OTP
2333683b761SEmmanuel Gil Peyrot	tristate "Nintendo Wii and Wii U OTP Support"
2347af526c7SGeert Uytterhoeven	depends on WII || COMPILE_TEST
2353683b761SEmmanuel Gil Peyrot	help
2363683b761SEmmanuel Gil Peyrot	  This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
2373683b761SEmmanuel Gil Peyrot
2383683b761SEmmanuel Gil Peyrot	  This memory contains common and per-console keys, signatures and
2393683b761SEmmanuel Gil Peyrot	  related data required to access peripherals.
2403683b761SEmmanuel Gil Peyrot
2413683b761SEmmanuel Gil Peyrot	  This driver can also be built as a module. If so, the module
2423683b761SEmmanuel Gil Peyrot	  will be called nvmem-nintendo-otp.
2433683b761SEmmanuel Gil Peyrot
24428fc7c98SRafał Miłeckiconfig NVMEM_QCOM_QFPROM
2454ab11996SSrinivas Kandagatla	tristate "QCOM QFPROM Support"
2464ab11996SSrinivas Kandagatla	depends on ARCH_QCOM || COMPILE_TEST
2475685e244SRichard Weinberger	depends on HAS_IOMEM
2484ab11996SSrinivas Kandagatla	help
2494ab11996SSrinivas Kandagatla	  Say y here to enable QFPROM support. The QFPROM provides access
2504ab11996SSrinivas Kandagatla	  functions for QFPROM data to rest of the drivers via nvmem interface.
2514ab11996SSrinivas Kandagatla
2524ab11996SSrinivas Kandagatla	  This driver can also be built as a module. If so, the module
2534ab11996SSrinivas Kandagatla	  will be called nvmem_qfprom.
2544ab11996SSrinivas Kandagatla
255c471245bSKomal Bajajconfig NVMEM_QCOM_SEC_QFPROM
256c471245bSKomal Bajaj        tristate "QCOM SECURE QFPROM Support"
257c471245bSKomal Bajaj        depends on ARCH_QCOM || COMPILE_TEST
258c471245bSKomal Bajaj        depends on HAS_IOMEM
259c471245bSKomal Bajaj        depends on OF
260c471245bSKomal Bajaj        select QCOM_SCM
261c471245bSKomal Bajaj        help
262c471245bSKomal Bajaj          Say y here to enable secure QFPROM support. The secure QFPROM provides access
263c471245bSKomal Bajaj          functions for QFPROM data to rest of the drivers via nvmem interface.
264c471245bSKomal Bajaj
265c471245bSKomal Bajaj          This driver can also be built as a module. If so, the module will be called
266c471245bSKomal Bajaj          nvmem_sec_qfprom.
267c471245bSKomal Bajaj
268a06d9e5aSRafał Miłeckiconfig NVMEM_RAVE_SP_EEPROM
269a06d9e5aSRafał Miłecki	tristate "Rave SP EEPROM Support"
270a06d9e5aSRafał Miłecki	depends on RAVE_SP_CORE
27140ce9798SAnirudh Ghayal	help
272a06d9e5aSRafał Miłecki	  Say y here to enable Rave SP EEPROM support.
273a06d9e5aSRafał Miłecki
2741530b923SGeert Uytterhoevenconfig NVMEM_RCAR_EFUSE
2751530b923SGeert Uytterhoeven	tristate "Renesas R-Car Gen4 E-FUSE support"
2761530b923SGeert Uytterhoeven	depends on (ARCH_RENESAS && ARM64) || COMPILE_TEST
2771530b923SGeert Uytterhoeven	depends on NVMEM
2781530b923SGeert Uytterhoeven	help
2791530b923SGeert Uytterhoeven	  Enable support for reading the fuses in the E-FUSE or OTP
2801530b923SGeert Uytterhoeven	  non-volatile memory block on Renesas R-Car Gen4 SoCs.
2811530b923SGeert Uytterhoeven
2821530b923SGeert Uytterhoeven	  This driver can also be built as a module. If so, the module
2831530b923SGeert Uytterhoeven	  will be called nvmem-rcar-efuse.
2841530b923SGeert Uytterhoeven
285a06d9e5aSRafał Miłeckiconfig NVMEM_RMEM
286a06d9e5aSRafał Miłecki	tristate "Reserved Memory Based Driver Support"
287a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
2887a93add1SArnd Bergmann	select CRC32
289a06d9e5aSRafał Miłecki	help
290a06d9e5aSRafał Miłecki	  This driver maps reserved memory into an nvmem device. It might be
291a06d9e5aSRafał Miłecki	  useful to expose information left by firmware in memory.
292a06d9e5aSRafał Miłecki
293a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
294a06d9e5aSRafał Miłecki	  will be called nvmem-rmem.
29540ce9798SAnirudh Ghayal
29628fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_EFUSE
29703a69568SZhengShunQian	tristate "Rockchip eFuse Support"
29803a69568SZhengShunQian	depends on ARCH_ROCKCHIP || COMPILE_TEST
2995685e244SRichard Weinberger	depends on HAS_IOMEM
30003a69568SZhengShunQian	help
30123b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
30203a69568SZhengShunQian	  from eFuse, such as cpu-leakage.
30303a69568SZhengShunQian
30403a69568SZhengShunQian	  This driver can also be built as a module. If so, the module
30503a69568SZhengShunQian	  will be called nvmem_rockchip_efuse.
30603a69568SZhengShunQian
30728fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_OTP
308755864feSFinley Xiao	tristate "Rockchip OTP controller support"
309755864feSFinley Xiao	depends on ARCH_ROCKCHIP || COMPILE_TEST
310755864feSFinley Xiao	depends on HAS_IOMEM
311755864feSFinley Xiao	help
31223b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
31323b7b491SDiederik de Haas	  from OTP, such as cpu-leakage.
314755864feSFinley Xiao
315755864feSFinley Xiao	  This driver can also be built as a module. If so, the module
316755864feSFinley Xiao	  will be called nvmem_rockchip_otp.
317755864feSFinley Xiao
318a06d9e5aSRafał Miłeckiconfig NVMEM_SC27XX_EFUSE
319a06d9e5aSRafał Miłecki	tristate "Spreadtrum SC27XX eFuse Support"
320a06d9e5aSRafał Miłecki	depends on MFD_SC27XX_PMIC || COMPILE_TEST
3219d59c6e8SJonathan Richardson	depends on HAS_IOMEM
3229d59c6e8SJonathan Richardson	help
323a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
324a06d9e5aSRafał Miłecki	  SC27XX PMICs from eFuse.
3259d59c6e8SJonathan Richardson
3269d59c6e8SJonathan Richardson	  This driver can also be built as a module. If so, the module
327a06d9e5aSRafał Miłecki	  will be called nvmem-sc27xx-efuse.
328a06d9e5aSRafał Miłecki
329a06d9e5aSRafał Miłeckiconfig NVMEM_SNVS_LPGPR
330a06d9e5aSRafał Miłecki	tristate "Support for Low Power General Purpose Register"
331a06d9e5aSRafał Miłecki	depends on ARCH_MXC || COMPILE_TEST
332a06d9e5aSRafał Miłecki	help
333a06d9e5aSRafał Miłecki	  This is a driver for Low Power General Purpose Register (LPGPR) available on
334a06d9e5aSRafał Miłecki	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
335a06d9e5aSRafał Miłecki
336a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
337a06d9e5aSRafał Miłecki	  will be called nvmem-snvs-lpgpr.
338a06d9e5aSRafał Miłecki
339a06d9e5aSRafał Miłeckiconfig NVMEM_SPMI_SDAM
340a06d9e5aSRafał Miłecki	tristate "SPMI SDAM Support"
341a06d9e5aSRafał Miłecki	depends on SPMI
342a06d9e5aSRafał Miłecki	help
343a06d9e5aSRafał Miłecki	  This driver supports the Shared Direct Access Memory Module on
344a06d9e5aSRafał Miłecki	  Qualcomm Technologies, Inc. PMICs. It provides the clients
345a06d9e5aSRafał Miłecki	  an interface to read/write to the SDAM module's shared memory.
346a06d9e5aSRafał Miłecki
347a06d9e5aSRafał Miłeckiconfig NVMEM_SPRD_EFUSE
348a06d9e5aSRafał Miłecki	tristate "Spreadtrum SoC eFuse Support"
349a06d9e5aSRafał Miłecki	depends on ARCH_SPRD || COMPILE_TEST
350a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
351a06d9e5aSRafał Miłecki	help
352a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
353a06d9e5aSRafał Miłecki	  SoCs from eFuse.
354a06d9e5aSRafał Miłecki
355a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
356a06d9e5aSRafał Miłecki	  will be called nvmem-sprd-efuse.
3579d59c6e8SJonathan Richardson
3586a0bc352SPatrick Delaunayconfig NVMEM_STM32_BSEC_OPTEE_TA
3591dc7e37bSArnd Bergmann	def_bool NVMEM_STM32_ROMEM && OPTEE
3606a0bc352SPatrick Delaunay	help
3616a0bc352SPatrick Delaunay	  Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
3626a0bc352SPatrick Delaunay	  trusted application STM32MP BSEC.
3636a0bc352SPatrick Delaunay
3646a0bc352SPatrick Delaunay	  This library is a used by stm32-romem driver or included in the module
3656a0bc352SPatrick Delaunay	  called nvmem-stm32-romem.
3666a0bc352SPatrick Delaunay
367ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM
368ded1b7fcSFabrice Gasnier	tristate "STMicroelectronics STM32 factory-programmed memory support"
369ded1b7fcSFabrice Gasnier	depends on ARCH_STM32 || COMPILE_TEST
3701dc7e37bSArnd Bergmann	depends on OPTEE || !OPTEE
371ded1b7fcSFabrice Gasnier	help
372ded1b7fcSFabrice Gasnier	  Say y here to enable read-only access for STMicroelectronics STM32
373ded1b7fcSFabrice Gasnier	  factory-programmed memory area.
374ded1b7fcSFabrice Gasnier
375ded1b7fcSFabrice Gasnier	  This driver can also be built as a module. If so, the module
376ded1b7fcSFabrice Gasnier	  will be called nvmem-stm32-romem.
377ded1b7fcSFabrice Gasnier
378a06d9e5aSRafał Miłeckiconfig NVMEM_SUNPLUS_OCOTP
379a06d9e5aSRafał Miłecki	tristate "Sunplus SoC OTP support"
380a06d9e5aSRafał Miłecki	depends on SOC_SP7021 || COMPILE_TEST
381a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
382a06d9e5aSRafał Miłecki	help
383a06d9e5aSRafał Miłecki	  This is a driver for the On-chip OTP controller (OCOTP) available
384a06d9e5aSRafał Miłecki	  on Sunplus SoCs. It provides access to 128 bytes of one-time
385a06d9e5aSRafał Miłecki	  programmable eFuse.
386a06d9e5aSRafał Miłecki
387a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
388a06d9e5aSRafał Miłecki	  will be called nvmem-sunplus-ocotp.
389a06d9e5aSRafał Miłecki
3903d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID
3913d0b16a6SMaxime Ripard	tristate "Allwinner SoCs SID support"
3923d0b16a6SMaxime Ripard	depends on ARCH_SUNXI
3933d0b16a6SMaxime Ripard	help
3943d0b16a6SMaxime Ripard	  This is a driver for the 'security ID' available on various Allwinner
3953d0b16a6SMaxime Ripard	  devices.
3963d0b16a6SMaxime Ripard
3973d0b16a6SMaxime Ripard	  This driver can also be built as a module. If so, the module
3983d0b16a6SMaxime Ripard	  will be called nvmem_sunxi_sid.
3993d0b16a6SMaxime Ripard
400a06d9e5aSRafał Miłeckiconfig NVMEM_U_BOOT_ENV
401a06d9e5aSRafał Miłecki	tristate "U-Boot environment variables support"
402a06d9e5aSRafał Miłecki	depends on OF && MTD
4035f158112SRafał Miłecki	select NVMEM_LAYOUT_U_BOOT_ENV
404a06d9e5aSRafał Miłecki	help
405a06d9e5aSRafał Miłecki	  U-Boot stores its setup as environment variables. This driver adds
406a06d9e5aSRafał Miłecki	  support for verifying & exporting such data. It also exposes variables
407a06d9e5aSRafał Miłecki	  as NVMEM cells so they can be referenced by other drivers.
408a06d9e5aSRafał Miłecki
409a06d9e5aSRafał Miłecki	  Currently this drivers works only with env variables on top of MTD.
410a06d9e5aSRafał Miłecki
411a06d9e5aSRafał Miłecki	  If compiled as module it will be called nvmem_u-boot-env.
412a06d9e5aSRafał Miłecki
41328fc7c98SRafał Miłeckiconfig NVMEM_UNIPHIER_EFUSE
41471c5dd50SKeiji Hayashibara	tristate "UniPhier SoCs eFuse support"
41571c5dd50SKeiji Hayashibara	depends on ARCH_UNIPHIER || COMPILE_TEST
41671c5dd50SKeiji Hayashibara	depends on HAS_IOMEM
41771c5dd50SKeiji Hayashibara	help
41871c5dd50SKeiji Hayashibara	  This is a simple driver to dump specified values of UniPhier SoC
41971c5dd50SKeiji Hayashibara	  from eFuse.
42071c5dd50SKeiji Hayashibara
42171c5dd50SKeiji Hayashibara	  This driver can also be built as a module. If so, the module
42271c5dd50SKeiji Hayashibara	  will be called nvmem-uniphier-efuse.
42371c5dd50SKeiji Hayashibara
42422dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP
42522dbdb7cSSanchayan Maity	tristate "VF610 SoC OCOTP support"
42622dbdb7cSSanchayan Maity	depends on SOC_VF610 || COMPILE_TEST
4275685e244SRichard Weinberger	depends on HAS_IOMEM
42822dbdb7cSSanchayan Maity	help
42922dbdb7cSSanchayan Maity	  This is a driver for the 'OCOTP' peripheral available on Vybrid
43022dbdb7cSSanchayan Maity	  devices like VF5xx and VF6xx.
43122dbdb7cSSanchayan Maity
43222dbdb7cSSanchayan Maity	  This driver can also be build as a module. If so, the module will
43322dbdb7cSSanchayan Maity	  be called nvmem-vf610-ocotp.
43422dbdb7cSSanchayan Maity
4354640fa18SNava kishore Manneconfig NVMEM_ZYNQMP
436bcd1fe07SNick Alcock	tristate "Xilinx ZYNQMP SoC nvmem firmware support"
4374640fa18SNava kishore Manne	depends on ARCH_ZYNQMP
4384640fa18SNava kishore Manne	help
4394640fa18SNava kishore Manne	  This is a driver to access hardware related data like
4404640fa18SNava kishore Manne	  soc revision, IDCODE... etc by using the firmware
4414640fa18SNava kishore Manne	  interface.
4424640fa18SNava kishore Manne
4434640fa18SNava kishore Manne	  If sure, say yes. If unsure, say no.
4444640fa18SNava kishore Manne
4450861110bSRichard Alpeconfig NVMEM_QORIQ_EFUSE
4460861110bSRichard Alpe	tristate "NXP QorIQ eFuse support"
4470861110bSRichard Alpe	depends on PPC_85xx || COMPILE_TEST
4480861110bSRichard Alpe	depends on HAS_IOMEM
4490861110bSRichard Alpe	help
4500861110bSRichard Alpe	  This driver provides read support for the eFuses (SFP) on NXP QorIQ
4510861110bSRichard Alpe	  series SoC's. This includes secure boot settings, the globally unique
4520861110bSRichard Alpe	  NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'.
4530861110bSRichard Alpe
4540861110bSRichard Alpe	  This driver can also be built as a module. If so, the module
4550861110bSRichard Alpe	  will be called nvmem_qoriq_efuse.
4560861110bSRichard Alpe
4574ab11996SSrinivas Kandagatlaendif
458