xref: /linux/drivers/nvmem/Kconfig (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
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
31e2258cfdSChristian Marangiconfig NVMEM_AN8855_EFUSE
32e2258cfdSChristian Marangi	tristate "Airoha AN8855 eFuse support"
33*4796eaafSRandy Dunlap	depends on COMPILE_TEST
34e2258cfdSChristian Marangi	help
35e2258cfdSChristian Marangi	  Say y here to enable support for reading eFuses on Airoha AN8855
36e2258cfdSChristian Marangi	  Switch. These are e.g. used to store factory programmed
37e2258cfdSChristian Marangi	  calibration data required for the PHY.
38e2258cfdSChristian Marangi
39e2258cfdSChristian Marangi	  This driver can also be built as a module. If so, the module will
40e2258cfdSChristian Marangi	  be called nvmem-an8855-efuse.
41e2258cfdSChristian Marangi
42a06d9e5aSRafał Miłeckiconfig NVMEM_APPLE_EFUSES
43a06d9e5aSRafał Miłecki	tristate "Apple eFuse support"
44a06d9e5aSRafał Miłecki	depends on ARCH_APPLE || COMPILE_TEST
45a06d9e5aSRafał Miłecki	help
46a06d9e5aSRafał Miłecki	  Say y here to enable support for reading eFuses on Apple SoCs
47a06d9e5aSRafał Miłecki	  such as the M1. These are e.g. used to store factory programmed
48a06d9e5aSRafał Miłecki	  calibration data required for the PCIe or the USB-C PHY.
49a06d9e5aSRafał Miłecki
50a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module will
51a06d9e5aSRafał Miłecki	  be called nvmem-apple-efuses.
52a06d9e5aSRafał Miłecki
53fe91c24aSHector Martinconfig NVMEM_APPLE_SPMI
54fe91c24aSHector Martin	tristate "Apple SPMI NVMEM"
55fe91c24aSHector Martin	depends on ARCH_APPLE || COMPILE_TEST
56fe91c24aSHector Martin	depends on SPMI
57fe91c24aSHector Martin	select REGMAP_SPMI
58fe91c24aSHector Martin	help
59fe91c24aSHector Martin	  Say y here to build a driver to expose NVMEM cells for a set of power
60fe91c24aSHector Martin	  and RTC-related settings on a SPMI-attached PMIC present on Apple
61fe91c24aSHector Martin	  devices, such as Apple Silicon Macs.
62fe91c24aSHector Martin
63fe91c24aSHector Martin	  This driver can also be built as a module. If so, the module
64fe91c24aSHector Martin	  will be called apple-nvmem-spmi.
65fe91c24aSHector Martin
66a06d9e5aSRafał Miłeckiconfig NVMEM_BCM_OCOTP
67a06d9e5aSRafał Miłecki	tristate "Broadcom On-Chip OTP Controller support"
68a06d9e5aSRafał Miłecki	depends on ARCH_BCM_IPROC || COMPILE_TEST
69a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
70a06d9e5aSRafał Miłecki	default ARCH_BCM_IPROC
71a06d9e5aSRafał Miłecki	help
72a06d9e5aSRafał Miłecki	  Say y here to enable read/write access to the Broadcom OTP
73a06d9e5aSRafał Miłecki	  controller.
74a06d9e5aSRafał Miłecki
75a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
76a06d9e5aSRafał Miłecki	  will be called nvmem-bcm-ocotp.
77a06d9e5aSRafał Miłecki
78a06d9e5aSRafał Miłeckiconfig NVMEM_BRCM_NVRAM
79a06d9e5aSRafał Miłecki	tristate "Broadcom's NVRAM support"
80a06d9e5aSRafał Miłecki	depends on ARCH_BCM_5301X || COMPILE_TEST
81a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
8273bcd133SRafał Miłecki	select GENERIC_NET_UTILS
83a06d9e5aSRafał Miłecki	help
84a06d9e5aSRafał Miłecki	  This driver provides support for Broadcom's NVRAM that can be accessed
85a06d9e5aSRafał Miłecki	  using I/O mapping.
86a06d9e5aSRafał Miłecki
87c066c1c0SMichael Grzeschikconfig NVMEM_IMX_IIM
88c066c1c0SMichael Grzeschik	tristate "i.MX IC Identification Module support"
89c066c1c0SMichael Grzeschik	depends on ARCH_MXC || COMPILE_TEST
90c066c1c0SMichael Grzeschik	help
91c066c1c0SMichael Grzeschik	  This is a driver for the IC Identification Module (IIM) available on
92c066c1c0SMichael Grzeschik	  i.MX SoCs, providing access to 4 Kbits of programmable
93c066c1c0SMichael Grzeschik	  eFuses.
94c066c1c0SMichael Grzeschik
95c066c1c0SMichael Grzeschik	  This driver can also be built as a module. If so, the module
96c066c1c0SMichael Grzeschik	  will be called nvmem-imx-iim.
97c066c1c0SMichael Grzeschik
983edba6b4SPhilipp Zabelconfig NVMEM_IMX_OCOTP
99dd4c1047SLucas Stach	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
100dd4c1047SLucas Stach	depends on ARCH_MXC || COMPILE_TEST
10163c0c076SSrinivas Kandagatla	depends on HAS_IOMEM
1023edba6b4SPhilipp Zabel	help
1033edba6b4SPhilipp Zabel	  This is a driver for the On-Chip OTP Controller (OCOTP) available on
1043edba6b4SPhilipp Zabel	  i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
1053edba6b4SPhilipp Zabel	  eFuses.
1063edba6b4SPhilipp Zabel
1073edba6b4SPhilipp Zabel	  This driver can also be built as a module. If so, the module
1083edba6b4SPhilipp Zabel	  will be called nvmem-imx-ocotp.
1093edba6b4SPhilipp Zabel
11022e9e6fcSPeng Fanconfig NVMEM_IMX_OCOTP_ELE
11122e9e6fcSPeng Fan	tristate "i.MX On-Chip OTP Controller support"
11222e9e6fcSPeng Fan	depends on ARCH_MXC || COMPILE_TEST
11322e9e6fcSPeng Fan	depends on HAS_IOMEM
11422e9e6fcSPeng Fan	depends on OF
11522e9e6fcSPeng Fan	help
11622e9e6fcSPeng Fan	  This is a driver for the On-Chip OTP Controller (OCOTP)
11722e9e6fcSPeng Fan	  available on i.MX SoCs which has ELE.
11822e9e6fcSPeng Fan
11967ff708bSPeng Fanconfig NVMEM_IMX_OCOTP_SCU
12067ff708bSPeng Fan	tristate "i.MX8 SCU On-Chip OTP Controller support"
12167ff708bSPeng Fan	depends on IMX_SCU
122b210fac7SSrinivas Kandagatla	depends on HAVE_ARM_SMCCC
12367ff708bSPeng Fan	help
12467ff708bSPeng Fan	  This is a driver for the SCU On-Chip OTP Controller (OCOTP)
12567ff708bSPeng Fan	  available on i.MX8 SoCs.
12667ff708bSPeng Fan
12728fc7c98SRafał Miłeckiconfig NVMEM_JZ4780_EFUSE
1284a2addc2SPrasannaKumar Muralidharan	tristate "JZ4780 EFUSE Memory Support"
1294a2addc2SPrasannaKumar Muralidharan	depends on MACH_INGENIC || COMPILE_TEST
1304a2addc2SPrasannaKumar Muralidharan	depends on HAS_IOMEM
1314a2addc2SPrasannaKumar Muralidharan	depends on OF
1324a2addc2SPrasannaKumar Muralidharan	select REGMAP_MMIO
1334a2addc2SPrasannaKumar Muralidharan	help
1344a2addc2SPrasannaKumar Muralidharan	  Say Y here to include support for JZ4780 efuse memory found on
1354a2addc2SPrasannaKumar Muralidharan	  all JZ4780 SoC based devices.
1364a2addc2SPrasannaKumar Muralidharan	  To compile this driver as a module, choose M here: the module
1374a2addc2SPrasannaKumar Muralidharan	  will be called nvmem_jz4780_efuse.
1384a2addc2SPrasannaKumar Muralidharan
1399e8f208aSHoratiu Vulturconfig NVMEM_LAN9662_OTPC
1409e8f208aSHoratiu Vultur	tristate "Microchip LAN9662 OTP controller support"
1419e8f208aSHoratiu Vultur	depends on SOC_LAN966 || COMPILE_TEST
1429e8f208aSHoratiu Vultur	depends on HAS_IOMEM
1439e8f208aSHoratiu Vultur	help
1449e8f208aSHoratiu Vultur	  This driver enables the OTP controller available on Microchip LAN9662
1459e8f208aSHoratiu Vultur	  SoCs. It controls the access to the OTP memory connected to it.
1469e8f208aSHoratiu Vultur
147a06d9e5aSRafał Miłeckiconfig NVMEM_LAYERSCAPE_SFP
148a06d9e5aSRafał Miłecki	tristate "Layerscape SFP (Security Fuse Processor) support"
149a06d9e5aSRafał Miłecki	depends on ARCH_LAYERSCAPE || COMPILE_TEST
150a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
151a06d9e5aSRafał Miłecki	select REGMAP_MMIO
152a06d9e5aSRafał Miłecki	help
153a06d9e5aSRafał Miłecki	  This driver provides support to read the eFuses on Freescale
154a06d9e5aSRafał Miłecki	  Layerscape SoC's. For example, the vendor provides a per part
155a06d9e5aSRafał Miłecki	  unique ID there.
156a06d9e5aSRafał Miłecki
157a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
158a06d9e5aSRafał Miłecki	  will be called layerscape-sfp.
159a06d9e5aSRafał Miłecki
160f02f8aeeSAriel D'Alessandroconfig NVMEM_LPC18XX_EEPROM
161f02f8aeeSAriel D'Alessandro	tristate "NXP LPC18XX EEPROM Memory Support"
162f02f8aeeSAriel D'Alessandro	depends on ARCH_LPC18XX || COMPILE_TEST
1632ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
164f02f8aeeSAriel D'Alessandro	help
165f02f8aeeSAriel D'Alessandro	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
166f02f8aeeSAriel D'Alessandro	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
167f02f8aeeSAriel D'Alessandro	  To compile this driver as a module, choose M here: the module
168f02f8aeeSAriel D'Alessandro	  will be called nvmem_lpc18xx_eeprom.
169f02f8aeeSAriel D'Alessandro
17088806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_OTP
17188806dafSJoachim Eastwood	tristate "NXP LPC18XX OTP Memory Support"
17288806dafSJoachim Eastwood	depends on ARCH_LPC18XX || COMPILE_TEST
17388806dafSJoachim Eastwood	depends on HAS_IOMEM
17488806dafSJoachim Eastwood	help
17588806dafSJoachim Eastwood	  Say Y here to include support for NXP LPC18xx OTP memory found on
17688806dafSJoachim Eastwood	  all LPC18xx and LPC43xx devices.
17788806dafSJoachim Eastwood	  To compile this driver as a module, choose M here: the module
17888806dafSJoachim Eastwood	  will be called nvmem_lpc18xx_otp.
17988806dafSJoachim Eastwood
1808824dc7fSAndré Draszikconfig NVMEM_MAX77759
1818824dc7fSAndré Draszik	tristate "Maxim Integrated MAX77759 NVMEM Support"
1828824dc7fSAndré Draszik	depends on MFD_MAX77759
1838824dc7fSAndré Draszik	default MFD_MAX77759
1848824dc7fSAndré Draszik	help
1858824dc7fSAndré Draszik	  Say Y here to include support for the user-accessible storage found
1868824dc7fSAndré Draszik	  in Maxim Integrated MAX77759 PMICs. This IC provides space for 30
1878824dc7fSAndré Draszik	  bytes of storage.
1888824dc7fSAndré Draszik
1898824dc7fSAndré Draszik	  This driver can also be built as a module. If so, the module
1908824dc7fSAndré Draszik	  will be called nvmem-max77759.
1918824dc7fSAndré Draszik
192a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_EFUSE
193a06d9e5aSRafał Miłecki	tristate "Amlogic Meson GX eFuse Support"
194a06d9e5aSRafał Miłecki	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
195c01e9a11SStefan Wahren	help
196a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
197a06d9e5aSRafał Miłecki	  the Amlogic Meson GX SoCs.
198c01e9a11SStefan Wahren
199c01e9a11SStefan Wahren	  This driver can also be built as a module. If so, the module
200a06d9e5aSRafał Miłecki	  will be called nvmem_meson_efuse.
201a06d9e5aSRafał Miłecki
202a06d9e5aSRafał Miłeckiconfig NVMEM_MESON_MX_EFUSE
203a06d9e5aSRafał Miłecki	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
204a06d9e5aSRafał Miłecki	depends on ARCH_MESON || COMPILE_TEST
205a06d9e5aSRafał Miłecki	help
206a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
207a06d9e5aSRafał Miłecki	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
208a06d9e5aSRafał Miłecki
209a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
210a06d9e5aSRafał Miłecki	  will be called nvmem_meson_mx_efuse.
211a06d9e5aSRafał Miłecki
212a06d9e5aSRafał Miłeckiconfig NVMEM_MICROCHIP_OTPC
213a06d9e5aSRafał Miłecki	tristate "Microchip OTPC support"
214a06d9e5aSRafał Miłecki	depends on ARCH_AT91 || COMPILE_TEST
215a06d9e5aSRafał Miłecki	help
216a06d9e5aSRafał Miłecki	  This driver enable the OTP controller available on Microchip SAMA7G5
217fb817c4eSColin Ian King	  SoCs. It controls the access to the OTP memory connected to it.
218c01e9a11SStefan Wahren
21928fc7c98SRafał Miłeckiconfig NVMEM_MTK_EFUSE
2204c7e4fe3SAndrew-CT Chen	tristate "Mediatek SoCs EFUSE support"
2214c7e4fe3SAndrew-CT Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
2222ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
2234c7e4fe3SAndrew-CT Chen	help
2244c7e4fe3SAndrew-CT Chen	  This is a driver to access hardware related data like sensor
2254c7e4fe3SAndrew-CT Chen	  calibration, HDMI impedance etc.
2264c7e4fe3SAndrew-CT Chen
2274c7e4fe3SAndrew-CT Chen	  This driver can also be built as a module. If so, the module
2284c7e4fe3SAndrew-CT Chen	  will be called efuse-mtk.
2294c7e4fe3SAndrew-CT Chen
230a06d9e5aSRafał Miłeckiconfig NVMEM_MXS_OCOTP
231a06d9e5aSRafał Miłecki	tristate "Freescale MXS On-Chip OTP Memory Support"
232a06d9e5aSRafał Miłecki	depends on ARCH_MXS || COMPILE_TEST
233a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
23498830350SClaudiu Beznea	help
235a06d9e5aSRafał Miłecki	  If you say Y here, you will get readonly access to the
236a06d9e5aSRafał Miłecki	  One Time Programmable memory pages that are stored
237a06d9e5aSRafał Miłecki	  on the Freescale i.MX23/i.MX28 processor.
238a06d9e5aSRafał Miłecki
239a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
240a06d9e5aSRafał Miłecki	  will be called nvmem-mxs-ocotp.
24198830350SClaudiu Beznea
2423683b761SEmmanuel Gil Peyrotconfig NVMEM_NINTENDO_OTP
2433683b761SEmmanuel Gil Peyrot	tristate "Nintendo Wii and Wii U OTP Support"
2447af526c7SGeert Uytterhoeven	depends on WII || COMPILE_TEST
2453683b761SEmmanuel Gil Peyrot	help
2463683b761SEmmanuel Gil Peyrot	  This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
2473683b761SEmmanuel Gil Peyrot
2483683b761SEmmanuel Gil Peyrot	  This memory contains common and per-console keys, signatures and
2493683b761SEmmanuel Gil Peyrot	  related data required to access peripherals.
2503683b761SEmmanuel Gil Peyrot
2513683b761SEmmanuel Gil Peyrot	  This driver can also be built as a module. If so, the module
2523683b761SEmmanuel Gil Peyrot	  will be called nvmem-nintendo-otp.
2533683b761SEmmanuel Gil Peyrot
2545a356145SCiprian Costeaconfig NVMEM_S32G_OCOTP
2555a356145SCiprian Costea	tristate "S32G SoC OCOTP support"
2565a356145SCiprian Costea	depends on ARCH_S32
2575a356145SCiprian Costea	help
2585a356145SCiprian Costea	  This is a driver for the 'OCOTP' peripheral available on S32G
2595a356145SCiprian Costea	  platforms.
2605a356145SCiprian Costea
2615a356145SCiprian Costea	  If you say Y here, you will get support for the One Time
2625a356145SCiprian Costea	  Programmable memory pages.
2635a356145SCiprian Costea
26428fc7c98SRafał Miłeckiconfig NVMEM_QCOM_QFPROM
2654ab11996SSrinivas Kandagatla	tristate "QCOM QFPROM Support"
2664ab11996SSrinivas Kandagatla	depends on ARCH_QCOM || COMPILE_TEST
2675685e244SRichard Weinberger	depends on HAS_IOMEM
2684ab11996SSrinivas Kandagatla	help
2694ab11996SSrinivas Kandagatla	  Say y here to enable QFPROM support. The QFPROM provides access
2704ab11996SSrinivas Kandagatla	  functions for QFPROM data to rest of the drivers via nvmem interface.
2714ab11996SSrinivas Kandagatla
2724ab11996SSrinivas Kandagatla	  This driver can also be built as a module. If so, the module
2734ab11996SSrinivas Kandagatla	  will be called nvmem_qfprom.
2744ab11996SSrinivas Kandagatla
275c471245bSKomal Bajajconfig NVMEM_QCOM_SEC_QFPROM
276c471245bSKomal Bajaj        tristate "QCOM SECURE QFPROM Support"
277c471245bSKomal Bajaj        depends on ARCH_QCOM || COMPILE_TEST
278c471245bSKomal Bajaj        depends on HAS_IOMEM
279c471245bSKomal Bajaj        depends on OF
280c471245bSKomal Bajaj        select QCOM_SCM
281c471245bSKomal Bajaj        help
282c471245bSKomal Bajaj          Say y here to enable secure QFPROM support. The secure QFPROM provides access
283c471245bSKomal Bajaj          functions for QFPROM data to rest of the drivers via nvmem interface.
284c471245bSKomal Bajaj
285c471245bSKomal Bajaj          This driver can also be built as a module. If so, the module will be called
286c471245bSKomal Bajaj          nvmem_sec_qfprom.
287c471245bSKomal Bajaj
2882f9fae50SHeiko Stuebnerconfig NVMEM_QNAP_MCU_EEPROM
2892f9fae50SHeiko Stuebner	tristate "QNAP MCU EEPROM Support"
2902f9fae50SHeiko Stuebner	depends on MFD_QNAP_MCU
2912f9fae50SHeiko Stuebner	help
2922f9fae50SHeiko Stuebner	  Say y here to enable support for accessing the EEPROM attached to
2932f9fae50SHeiko Stuebner	  QNAP MCU devices. This EEPROM contains additional runtime device
2942f9fae50SHeiko Stuebner	  information, like MAC addresses for ethernet devices that do not
2952f9fae50SHeiko Stuebner	  contain their own mac storage.
2962f9fae50SHeiko Stuebner
297a06d9e5aSRafał Miłeckiconfig NVMEM_RAVE_SP_EEPROM
298a06d9e5aSRafał Miłecki	tristate "Rave SP EEPROM Support"
299a06d9e5aSRafał Miłecki	depends on RAVE_SP_CORE
30040ce9798SAnirudh Ghayal	help
301a06d9e5aSRafał Miłecki	  Say y here to enable Rave SP EEPROM support.
302a06d9e5aSRafał Miłecki
3031530b923SGeert Uytterhoevenconfig NVMEM_RCAR_EFUSE
3041530b923SGeert Uytterhoeven	tristate "Renesas R-Car Gen4 E-FUSE support"
3051530b923SGeert Uytterhoeven	depends on (ARCH_RENESAS && ARM64) || COMPILE_TEST
3061530b923SGeert Uytterhoeven	depends on NVMEM
3071530b923SGeert Uytterhoeven	help
3081530b923SGeert Uytterhoeven	  Enable support for reading the fuses in the E-FUSE or OTP
3091530b923SGeert Uytterhoeven	  non-volatile memory block on Renesas R-Car Gen4 SoCs.
3101530b923SGeert Uytterhoeven
3111530b923SGeert Uytterhoeven	  This driver can also be built as a module. If so, the module
3121530b923SGeert Uytterhoeven	  will be called nvmem-rcar-efuse.
3131530b923SGeert Uytterhoeven
314a06d9e5aSRafał Miłeckiconfig NVMEM_RMEM
315a06d9e5aSRafał Miłecki	tristate "Reserved Memory Based Driver Support"
316a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
3177a93add1SArnd Bergmann	select CRC32
318a06d9e5aSRafał Miłecki	help
319a06d9e5aSRafał Miłecki	  This driver maps reserved memory into an nvmem device. It might be
320a06d9e5aSRafał Miłecki	  useful to expose information left by firmware in memory.
321a06d9e5aSRafał Miłecki
322a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
323a06d9e5aSRafał Miłecki	  will be called nvmem-rmem.
32440ce9798SAnirudh Ghayal
32528fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_EFUSE
32603a69568SZhengShunQian	tristate "Rockchip eFuse Support"
32703a69568SZhengShunQian	depends on ARCH_ROCKCHIP || COMPILE_TEST
3285685e244SRichard Weinberger	depends on HAS_IOMEM
32903a69568SZhengShunQian	help
33023b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
33103a69568SZhengShunQian	  from eFuse, such as cpu-leakage.
33203a69568SZhengShunQian
33303a69568SZhengShunQian	  This driver can also be built as a module. If so, the module
33403a69568SZhengShunQian	  will be called nvmem_rockchip_efuse.
33503a69568SZhengShunQian
33628fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_OTP
337755864feSFinley Xiao	tristate "Rockchip OTP controller support"
338755864feSFinley Xiao	depends on ARCH_ROCKCHIP || COMPILE_TEST
339755864feSFinley Xiao	depends on HAS_IOMEM
340755864feSFinley Xiao	help
34123b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
34223b7b491SDiederik de Haas	  from OTP, such as cpu-leakage.
343755864feSFinley Xiao
344755864feSFinley Xiao	  This driver can also be built as a module. If so, the module
345755864feSFinley Xiao	  will be called nvmem_rockchip_otp.
346755864feSFinley Xiao
347a06d9e5aSRafał Miłeckiconfig NVMEM_SC27XX_EFUSE
348a06d9e5aSRafał Miłecki	tristate "Spreadtrum SC27XX eFuse Support"
349a06d9e5aSRafał Miłecki	depends on MFD_SC27XX_PMIC || COMPILE_TEST
3509d59c6e8SJonathan Richardson	depends on HAS_IOMEM
3519d59c6e8SJonathan Richardson	help
352a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
353a06d9e5aSRafał Miłecki	  SC27XX PMICs from eFuse.
3549d59c6e8SJonathan Richardson
3559d59c6e8SJonathan Richardson	  This driver can also be built as a module. If so, the module
356a06d9e5aSRafał Miłecki	  will be called nvmem-sc27xx-efuse.
357a06d9e5aSRafał Miłecki
358a06d9e5aSRafał Miłeckiconfig NVMEM_SNVS_LPGPR
359a06d9e5aSRafał Miłecki	tristate "Support for Low Power General Purpose Register"
360a06d9e5aSRafał Miłecki	depends on ARCH_MXC || COMPILE_TEST
361a06d9e5aSRafał Miłecki	help
362a06d9e5aSRafał Miłecki	  This is a driver for Low Power General Purpose Register (LPGPR) available on
363a06d9e5aSRafał Miłecki	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
364a06d9e5aSRafał Miłecki
365a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
366a06d9e5aSRafał Miłecki	  will be called nvmem-snvs-lpgpr.
367a06d9e5aSRafał Miłecki
368a06d9e5aSRafał Miłeckiconfig NVMEM_SPMI_SDAM
369a06d9e5aSRafał Miłecki	tristate "SPMI SDAM Support"
370a06d9e5aSRafał Miłecki	depends on SPMI
371a06d9e5aSRafał Miłecki	help
372a06d9e5aSRafał Miłecki	  This driver supports the Shared Direct Access Memory Module on
373a06d9e5aSRafał Miłecki	  Qualcomm Technologies, Inc. PMICs. It provides the clients
374a06d9e5aSRafał Miłecki	  an interface to read/write to the SDAM module's shared memory.
375a06d9e5aSRafał Miłecki
376a06d9e5aSRafał Miłeckiconfig NVMEM_SPRD_EFUSE
377a06d9e5aSRafał Miłecki	tristate "Spreadtrum SoC eFuse Support"
378a06d9e5aSRafał Miłecki	depends on ARCH_SPRD || COMPILE_TEST
379a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
380a06d9e5aSRafał Miłecki	help
381a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
382a06d9e5aSRafał Miłecki	  SoCs from eFuse.
383a06d9e5aSRafał Miłecki
384a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
385a06d9e5aSRafał Miłecki	  will be called nvmem-sprd-efuse.
3869d59c6e8SJonathan Richardson
3876a0bc352SPatrick Delaunayconfig NVMEM_STM32_BSEC_OPTEE_TA
3881dc7e37bSArnd Bergmann	def_bool NVMEM_STM32_ROMEM && OPTEE
3896a0bc352SPatrick Delaunay	help
3906a0bc352SPatrick Delaunay	  Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
3916a0bc352SPatrick Delaunay	  trusted application STM32MP BSEC.
3926a0bc352SPatrick Delaunay
3936a0bc352SPatrick Delaunay	  This library is a used by stm32-romem driver or included in the module
3946a0bc352SPatrick Delaunay	  called nvmem-stm32-romem.
3956a0bc352SPatrick Delaunay
396ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM
397ded1b7fcSFabrice Gasnier	tristate "STMicroelectronics STM32 factory-programmed memory support"
398ded1b7fcSFabrice Gasnier	depends on ARCH_STM32 || COMPILE_TEST
3991dc7e37bSArnd Bergmann	depends on OPTEE || !OPTEE
400ded1b7fcSFabrice Gasnier	help
401ded1b7fcSFabrice Gasnier	  Say y here to enable read-only access for STMicroelectronics STM32
402ded1b7fcSFabrice Gasnier	  factory-programmed memory area.
403ded1b7fcSFabrice Gasnier
404ded1b7fcSFabrice Gasnier	  This driver can also be built as a module. If so, the module
405ded1b7fcSFabrice Gasnier	  will be called nvmem-stm32-romem.
406ded1b7fcSFabrice Gasnier
407a06d9e5aSRafał Miłeckiconfig NVMEM_SUNPLUS_OCOTP
408a06d9e5aSRafał Miłecki	tristate "Sunplus SoC OTP support"
409a06d9e5aSRafał Miłecki	depends on SOC_SP7021 || COMPILE_TEST
410a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
411a06d9e5aSRafał Miłecki	help
412a06d9e5aSRafał Miłecki	  This is a driver for the On-chip OTP controller (OCOTP) available
413a06d9e5aSRafał Miłecki	  on Sunplus SoCs. It provides access to 128 bytes of one-time
414a06d9e5aSRafał Miłecki	  programmable eFuse.
415a06d9e5aSRafał Miłecki
416a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
417a06d9e5aSRafał Miłecki	  will be called nvmem-sunplus-ocotp.
418a06d9e5aSRafał Miłecki
4193d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID
4203d0b16a6SMaxime Ripard	tristate "Allwinner SoCs SID support"
4213d0b16a6SMaxime Ripard	depends on ARCH_SUNXI
4223d0b16a6SMaxime Ripard	help
4233d0b16a6SMaxime Ripard	  This is a driver for the 'security ID' available on various Allwinner
4243d0b16a6SMaxime Ripard	  devices.
4253d0b16a6SMaxime Ripard
4263d0b16a6SMaxime Ripard	  This driver can also be built as a module. If so, the module
4273d0b16a6SMaxime Ripard	  will be called nvmem_sunxi_sid.
4283d0b16a6SMaxime Ripard
429a06d9e5aSRafał Miłeckiconfig NVMEM_U_BOOT_ENV
430a06d9e5aSRafał Miłecki	tristate "U-Boot environment variables support"
431a06d9e5aSRafał Miłecki	depends on OF && MTD
4325f158112SRafał Miłecki	select NVMEM_LAYOUT_U_BOOT_ENV
433a06d9e5aSRafał Miłecki	help
434a06d9e5aSRafał Miłecki	  U-Boot stores its setup as environment variables. This driver adds
435a06d9e5aSRafał Miłecki	  support for verifying & exporting such data. It also exposes variables
436a06d9e5aSRafał Miłecki	  as NVMEM cells so they can be referenced by other drivers.
437a06d9e5aSRafał Miłecki
438a06d9e5aSRafał Miłecki	  Currently this drivers works only with env variables on top of MTD.
439a06d9e5aSRafał Miłecki
440a06d9e5aSRafał Miłecki	  If compiled as module it will be called nvmem_u-boot-env.
441a06d9e5aSRafał Miłecki
44228fc7c98SRafał Miłeckiconfig NVMEM_UNIPHIER_EFUSE
44371c5dd50SKeiji Hayashibara	tristate "UniPhier SoCs eFuse support"
44471c5dd50SKeiji Hayashibara	depends on ARCH_UNIPHIER || COMPILE_TEST
44571c5dd50SKeiji Hayashibara	depends on HAS_IOMEM
44671c5dd50SKeiji Hayashibara	help
44771c5dd50SKeiji Hayashibara	  This is a simple driver to dump specified values of UniPhier SoC
44871c5dd50SKeiji Hayashibara	  from eFuse.
44971c5dd50SKeiji Hayashibara
45071c5dd50SKeiji Hayashibara	  This driver can also be built as a module. If so, the module
45171c5dd50SKeiji Hayashibara	  will be called nvmem-uniphier-efuse.
45271c5dd50SKeiji Hayashibara
45322dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP
45422dbdb7cSSanchayan Maity	tristate "VF610 SoC OCOTP support"
45522dbdb7cSSanchayan Maity	depends on SOC_VF610 || COMPILE_TEST
4565685e244SRichard Weinberger	depends on HAS_IOMEM
45722dbdb7cSSanchayan Maity	help
45822dbdb7cSSanchayan Maity	  This is a driver for the 'OCOTP' peripheral available on Vybrid
45922dbdb7cSSanchayan Maity	  devices like VF5xx and VF6xx.
46022dbdb7cSSanchayan Maity
46122dbdb7cSSanchayan Maity	  This driver can also be build as a module. If so, the module will
46222dbdb7cSSanchayan Maity	  be called nvmem-vf610-ocotp.
46322dbdb7cSSanchayan Maity
4644640fa18SNava kishore Manneconfig NVMEM_ZYNQMP
465bcd1fe07SNick Alcock	tristate "Xilinx ZYNQMP SoC nvmem firmware support"
4664640fa18SNava kishore Manne	depends on ARCH_ZYNQMP
4674640fa18SNava kishore Manne	help
4684640fa18SNava kishore Manne	  This is a driver to access hardware related data like
4694640fa18SNava kishore Manne	  soc revision, IDCODE... etc by using the firmware
4704640fa18SNava kishore Manne	  interface.
4714640fa18SNava kishore Manne
4724640fa18SNava kishore Manne	  If sure, say yes. If unsure, say no.
4734640fa18SNava kishore Manne
4740861110bSRichard Alpeconfig NVMEM_QORIQ_EFUSE
4750861110bSRichard Alpe	tristate "NXP QorIQ eFuse support"
4760861110bSRichard Alpe	depends on PPC_85xx || COMPILE_TEST
4770861110bSRichard Alpe	depends on HAS_IOMEM
4780861110bSRichard Alpe	help
4790861110bSRichard Alpe	  This driver provides read support for the eFuses (SFP) on NXP QorIQ
4800861110bSRichard Alpe	  series SoC's. This includes secure boot settings, the globally unique
4810861110bSRichard Alpe	  NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'.
4820861110bSRichard Alpe
4830861110bSRichard Alpe	  This driver can also be built as a module. If so, the module
4840861110bSRichard Alpe	  will be called nvmem_qoriq_efuse.
4850861110bSRichard Alpe
4864ab11996SSrinivas Kandagatlaendif
487