xref: /linux/drivers/nvmem/Kconfig (revision 23b7b491983f9678b3c6d99dca91f981d49c9d2a)
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
24266570f4SMichael Walle# Layouts
25266570f4SMichael Walle
26266570f4SMichael Wallesource "drivers/nvmem/layouts/Kconfig"
27266570f4SMichael Walle
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
5873bcd133SRafał Miłecki	select GENERIC_NET_UTILS
59a06d9e5aSRafał Miłecki	help
60a06d9e5aSRafał Miłecki	  This driver provides support for Broadcom's NVRAM that can be accessed
61a06d9e5aSRafał Miłecki	  using I/O mapping.
62a06d9e5aSRafał Miłecki
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
69c066c1c0SMichael Grzeschik	  eFuses.
70c066c1c0SMichael Grzeschik
71c066c1c0SMichael Grzeschik	  This driver can also be built as a module. If so, the module
72c066c1c0SMichael Grzeschik	  will be called nvmem-imx-iim.
73c066c1c0SMichael Grzeschik
743edba6b4SPhilipp Zabelconfig NVMEM_IMX_OCOTP
75dd4c1047SLucas Stach	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
76dd4c1047SLucas Stach	depends on ARCH_MXC || COMPILE_TEST
7763c0c076SSrinivas Kandagatla	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
813edba6b4SPhilipp Zabel	  eFuses.
823edba6b4SPhilipp Zabel
833edba6b4SPhilipp Zabel	  This driver can also be built as a module. If so, the module
843edba6b4SPhilipp Zabel	  will be called nvmem-imx-ocotp.
853edba6b4SPhilipp Zabel
8622e9e6fcSPeng Fanconfig NVMEM_IMX_OCOTP_ELE
8722e9e6fcSPeng Fan	tristate "i.MX On-Chip OTP Controller support"
8822e9e6fcSPeng Fan	depends on ARCH_MXC || COMPILE_TEST
8922e9e6fcSPeng Fan	depends on HAS_IOMEM
9022e9e6fcSPeng Fan	depends on OF
9122e9e6fcSPeng Fan	help
9222e9e6fcSPeng Fan	  This is a driver for the On-Chip OTP Controller (OCOTP)
9322e9e6fcSPeng Fan	  available on i.MX SoCs which has ELE.
9422e9e6fcSPeng Fan
9567ff708bSPeng Fanconfig NVMEM_IMX_OCOTP_SCU
9667ff708bSPeng Fan	tristate "i.MX8 SCU On-Chip OTP Controller support"
9767ff708bSPeng Fan	depends on IMX_SCU
98b210fac7SSrinivas Kandagatla	depends on HAVE_ARM_SMCCC
9967ff708bSPeng Fan	help
10067ff708bSPeng Fan	  This is a driver for the SCU On-Chip OTP Controller (OCOTP)
10167ff708bSPeng Fan	  available on i.MX8 SoCs.
10267ff708bSPeng Fan
10328fc7c98SRafał Miłeckiconfig NVMEM_JZ4780_EFUSE
1044a2addc2SPrasannaKumar Muralidharan	tristate "JZ4780 EFUSE Memory Support"
1054a2addc2SPrasannaKumar Muralidharan	depends on MACH_INGENIC || COMPILE_TEST
1064a2addc2SPrasannaKumar Muralidharan	depends on HAS_IOMEM
1074a2addc2SPrasannaKumar Muralidharan	depends on OF
1084a2addc2SPrasannaKumar Muralidharan	select REGMAP_MMIO
1094a2addc2SPrasannaKumar Muralidharan	help
1104a2addc2SPrasannaKumar Muralidharan	  Say Y here to include support for JZ4780 efuse memory found on
1114a2addc2SPrasannaKumar Muralidharan	  all JZ4780 SoC based devices.
1124a2addc2SPrasannaKumar Muralidharan	  To compile this driver as a module, choose M here: the module
1134a2addc2SPrasannaKumar Muralidharan	  will be called nvmem_jz4780_efuse.
1144a2addc2SPrasannaKumar Muralidharan
1159e8f208aSHoratiu Vulturconfig NVMEM_LAN9662_OTPC
1169e8f208aSHoratiu Vultur	tristate "Microchip LAN9662 OTP controller support"
1179e8f208aSHoratiu Vultur	depends on SOC_LAN966 || COMPILE_TEST
1189e8f208aSHoratiu Vultur	depends on HAS_IOMEM
1199e8f208aSHoratiu Vultur	help
1209e8f208aSHoratiu Vultur	  This driver enables the OTP controller available on Microchip LAN9662
1219e8f208aSHoratiu Vultur	  SoCs. It controls the access to the OTP memory connected to it.
1229e8f208aSHoratiu Vultur
123a06d9e5aSRafał Miłeckiconfig NVMEM_LAYERSCAPE_SFP
124a06d9e5aSRafał Miłecki	tristate "Layerscape SFP (Security Fuse Processor) support"
125a06d9e5aSRafał Miłecki	depends on ARCH_LAYERSCAPE || COMPILE_TEST
126a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
127a06d9e5aSRafał Miłecki	select REGMAP_MMIO
128a06d9e5aSRafał Miłecki	help
129a06d9e5aSRafał Miłecki	  This driver provides support to read the eFuses on Freescale
130a06d9e5aSRafał Miłecki	  Layerscape SoC's. For example, the vendor provides a per part
131a06d9e5aSRafał Miłecki	  unique ID there.
132a06d9e5aSRafał Miłecki
133a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
134a06d9e5aSRafał Miłecki	  will be called layerscape-sfp.
135a06d9e5aSRafał Miłecki
136f02f8aeeSAriel D'Alessandroconfig NVMEM_LPC18XX_EEPROM
137f02f8aeeSAriel D'Alessandro	tristate "NXP LPC18XX EEPROM Memory Support"
138f02f8aeeSAriel D'Alessandro	depends on ARCH_LPC18XX || COMPILE_TEST
1392ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
140f02f8aeeSAriel D'Alessandro	help
141f02f8aeeSAriel D'Alessandro	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
142f02f8aeeSAriel D'Alessandro	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
143f02f8aeeSAriel D'Alessandro	  To compile this driver as a module, choose M here: the module
144f02f8aeeSAriel D'Alessandro	  will be called nvmem_lpc18xx_eeprom.
145f02f8aeeSAriel D'Alessandro
14688806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_OTP
14788806dafSJoachim Eastwood	tristate "NXP LPC18XX OTP Memory Support"
14888806dafSJoachim Eastwood	depends on ARCH_LPC18XX || COMPILE_TEST
14988806dafSJoachim Eastwood	depends on HAS_IOMEM
15088806dafSJoachim Eastwood	help
15188806dafSJoachim Eastwood	  Say Y here to include support for NXP LPC18xx OTP memory found on
15288806dafSJoachim Eastwood	  all LPC18xx and LPC43xx devices.
15388806dafSJoachim Eastwood	  To compile this driver as a module, choose M here: the module
15488806dafSJoachim Eastwood	  will be called nvmem_lpc18xx_otp.
15588806dafSJoachim Eastwood
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
159c01e9a11SStefan Wahren	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.
162c01e9a11SStefan Wahren
163c01e9a11SStefan Wahren	  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
167a06d9e5aSRafał Miłecki	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
168a06d9e5aSRafał Miłecki	depends on ARCH_MESON || COMPILE_TEST
169a06d9e5aSRafał Miłecki	help
170a06d9e5aSRafał Miłecki	  This is a driver to retrieve specific values from the eFuse found on
171a06d9e5aSRafał Miłecki	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
172a06d9e5aSRafał Miłecki
173a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
174a06d9e5aSRafał Miłecki	  will be called nvmem_meson_mx_efuse.
175a06d9e5aSRafał Miłecki
176a06d9e5aSRafał Miłeckiconfig NVMEM_MICROCHIP_OTPC
177a06d9e5aSRafał Miłecki	tristate "Microchip OTPC support"
178a06d9e5aSRafał Miłecki	depends on ARCH_AT91 || COMPILE_TEST
179a06d9e5aSRafał Miłecki	help
180a06d9e5aSRafał Miłecki	  This driver enable the OTP controller available on Microchip SAMA7G5
181fb817c4eSColin Ian King	  SoCs. It controls the access to the OTP memory connected to it.
182c01e9a11SStefan Wahren
18328fc7c98SRafał Miłeckiconfig NVMEM_MTK_EFUSE
1844c7e4fe3SAndrew-CT Chen	tristate "Mediatek SoCs EFUSE support"
1854c7e4fe3SAndrew-CT Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
1862ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
1874c7e4fe3SAndrew-CT Chen	help
1884c7e4fe3SAndrew-CT Chen	  This is a driver to access hardware related data like sensor
1894c7e4fe3SAndrew-CT Chen	  calibration, HDMI impedance etc.
1904c7e4fe3SAndrew-CT Chen
1914c7e4fe3SAndrew-CT Chen	  This driver can also be built as a module. If so, the module
1924c7e4fe3SAndrew-CT Chen	  will be called efuse-mtk.
1934c7e4fe3SAndrew-CT Chen
194a06d9e5aSRafał Miłeckiconfig NVMEM_MXS_OCOTP
195a06d9e5aSRafał Miłecki	tristate "Freescale MXS On-Chip OTP Memory Support"
196a06d9e5aSRafał Miłecki	depends on ARCH_MXS || COMPILE_TEST
197a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
19898830350SClaudiu Beznea	help
199a06d9e5aSRafał Miłecki	  If you say Y here, you will get readonly access to the
200a06d9e5aSRafał Miłecki	  One Time Programmable memory pages that are stored
201a06d9e5aSRafał Miłecki	  on the Freescale i.MX23/i.MX28 processor.
202a06d9e5aSRafał Miłecki
203a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
204a06d9e5aSRafał Miłecki	  will be called nvmem-mxs-ocotp.
20598830350SClaudiu Beznea
2063683b761SEmmanuel Gil Peyrotconfig NVMEM_NINTENDO_OTP
2073683b761SEmmanuel Gil Peyrot	tristate "Nintendo Wii and Wii U OTP Support"
2087af526c7SGeert Uytterhoeven	depends on WII || COMPILE_TEST
2093683b761SEmmanuel Gil Peyrot	help
2103683b761SEmmanuel Gil Peyrot	  This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
2113683b761SEmmanuel Gil Peyrot
2123683b761SEmmanuel Gil Peyrot	  This memory contains common and per-console keys, signatures and
2133683b761SEmmanuel Gil Peyrot	  related data required to access peripherals.
2143683b761SEmmanuel Gil Peyrot
2153683b761SEmmanuel Gil Peyrot	  This driver can also be built as a module. If so, the module
2163683b761SEmmanuel Gil Peyrot	  will be called nvmem-nintendo-otp.
2173683b761SEmmanuel Gil Peyrot
21828fc7c98SRafał Miłeckiconfig NVMEM_QCOM_QFPROM
2194ab11996SSrinivas Kandagatla	tristate "QCOM QFPROM Support"
2204ab11996SSrinivas Kandagatla	depends on ARCH_QCOM || COMPILE_TEST
2215685e244SRichard Weinberger	depends on HAS_IOMEM
2224ab11996SSrinivas Kandagatla	help
2234ab11996SSrinivas Kandagatla	  Say y here to enable QFPROM support. The QFPROM provides access
2244ab11996SSrinivas Kandagatla	  functions for QFPROM data to rest of the drivers via nvmem interface.
2254ab11996SSrinivas Kandagatla
2264ab11996SSrinivas Kandagatla	  This driver can also be built as a module. If so, the module
2274ab11996SSrinivas Kandagatla	  will be called nvmem_qfprom.
2284ab11996SSrinivas Kandagatla
229a06d9e5aSRafał Miłeckiconfig NVMEM_RAVE_SP_EEPROM
230a06d9e5aSRafał Miłecki	tristate "Rave SP EEPROM Support"
231a06d9e5aSRafał Miłecki	depends on RAVE_SP_CORE
23240ce9798SAnirudh Ghayal	help
233a06d9e5aSRafał Miłecki	  Say y here to enable Rave SP EEPROM support.
234a06d9e5aSRafał Miłecki
235a06d9e5aSRafał Miłeckiconfig NVMEM_RMEM
236a06d9e5aSRafał Miłecki	tristate "Reserved Memory Based Driver Support"
237a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
238a06d9e5aSRafał Miłecki	help
239a06d9e5aSRafał Miłecki	  This driver maps reserved memory into an nvmem device. It might be
240a06d9e5aSRafał Miłecki	  useful to expose information left by firmware in memory.
241a06d9e5aSRafał Miłecki
242a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
243a06d9e5aSRafał Miłecki	  will be called nvmem-rmem.
24440ce9798SAnirudh Ghayal
24528fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_EFUSE
24603a69568SZhengShunQian	tristate "Rockchip eFuse Support"
24703a69568SZhengShunQian	depends on ARCH_ROCKCHIP || COMPILE_TEST
2485685e244SRichard Weinberger	depends on HAS_IOMEM
24903a69568SZhengShunQian	help
250*23b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
25103a69568SZhengShunQian	  from eFuse, such as cpu-leakage.
25203a69568SZhengShunQian
25303a69568SZhengShunQian	  This driver can also be built as a module. If so, the module
25403a69568SZhengShunQian	  will be called nvmem_rockchip_efuse.
25503a69568SZhengShunQian
25628fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_OTP
257755864feSFinley Xiao	tristate "Rockchip OTP controller support"
258755864feSFinley Xiao	depends on ARCH_ROCKCHIP || COMPILE_TEST
259755864feSFinley Xiao	depends on HAS_IOMEM
260755864feSFinley Xiao	help
261*23b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
262*23b7b491SDiederik de Haas	  from OTP, such as cpu-leakage.
263755864feSFinley Xiao
264755864feSFinley Xiao	  This driver can also be built as a module. If so, the module
265755864feSFinley Xiao	  will be called nvmem_rockchip_otp.
266755864feSFinley Xiao
267a06d9e5aSRafał Miłeckiconfig NVMEM_SC27XX_EFUSE
268a06d9e5aSRafał Miłecki	tristate "Spreadtrum SC27XX eFuse Support"
269a06d9e5aSRafał Miłecki	depends on MFD_SC27XX_PMIC || COMPILE_TEST
2709d59c6e8SJonathan Richardson	depends on HAS_IOMEM
2719d59c6e8SJonathan Richardson	help
272a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
273a06d9e5aSRafał Miłecki	  SC27XX PMICs from eFuse.
2749d59c6e8SJonathan Richardson
2759d59c6e8SJonathan Richardson	  This driver can also be built as a module. If so, the module
276a06d9e5aSRafał Miłecki	  will be called nvmem-sc27xx-efuse.
277a06d9e5aSRafał Miłecki
278a06d9e5aSRafał Miłeckiconfig NVMEM_SNVS_LPGPR
279a06d9e5aSRafał Miłecki	tristate "Support for Low Power General Purpose Register"
280a06d9e5aSRafał Miłecki	depends on ARCH_MXC || COMPILE_TEST
281a06d9e5aSRafał Miłecki	help
282a06d9e5aSRafał Miłecki	  This is a driver for Low Power General Purpose Register (LPGPR) available on
283a06d9e5aSRafał Miłecki	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
284a06d9e5aSRafał Miłecki
285a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
286a06d9e5aSRafał Miłecki	  will be called nvmem-snvs-lpgpr.
287a06d9e5aSRafał Miłecki
288a06d9e5aSRafał Miłeckiconfig NVMEM_SPMI_SDAM
289a06d9e5aSRafał Miłecki	tristate "SPMI SDAM Support"
290a06d9e5aSRafał Miłecki	depends on SPMI
291a06d9e5aSRafał Miłecki	help
292a06d9e5aSRafał Miłecki	  This driver supports the Shared Direct Access Memory Module on
293a06d9e5aSRafał Miłecki	  Qualcomm Technologies, Inc. PMICs. It provides the clients
294a06d9e5aSRafał Miłecki	  an interface to read/write to the SDAM module's shared memory.
295a06d9e5aSRafał Miłecki
296a06d9e5aSRafał Miłeckiconfig NVMEM_SPRD_EFUSE
297a06d9e5aSRafał Miłecki	tristate "Spreadtrum SoC eFuse Support"
298a06d9e5aSRafał Miłecki	depends on ARCH_SPRD || COMPILE_TEST
299a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
300a06d9e5aSRafał Miłecki	help
301a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
302a06d9e5aSRafał Miłecki	  SoCs from eFuse.
303a06d9e5aSRafał Miłecki
304a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
305a06d9e5aSRafał Miłecki	  will be called nvmem-sprd-efuse.
3069d59c6e8SJonathan Richardson
3076a0bc352SPatrick Delaunayconfig NVMEM_STM32_BSEC_OPTEE_TA
3081dc7e37bSArnd Bergmann	def_bool NVMEM_STM32_ROMEM && OPTEE
3096a0bc352SPatrick Delaunay	help
3106a0bc352SPatrick Delaunay	  Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
3116a0bc352SPatrick Delaunay	  trusted application STM32MP BSEC.
3126a0bc352SPatrick Delaunay
3136a0bc352SPatrick Delaunay	  This library is a used by stm32-romem driver or included in the module
3146a0bc352SPatrick Delaunay	  called nvmem-stm32-romem.
3156a0bc352SPatrick Delaunay
316ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM
317ded1b7fcSFabrice Gasnier	tristate "STMicroelectronics STM32 factory-programmed memory support"
318ded1b7fcSFabrice Gasnier	depends on ARCH_STM32 || COMPILE_TEST
3191dc7e37bSArnd Bergmann	depends on OPTEE || !OPTEE
320ded1b7fcSFabrice Gasnier	help
321ded1b7fcSFabrice Gasnier	  Say y here to enable read-only access for STMicroelectronics STM32
322ded1b7fcSFabrice Gasnier	  factory-programmed memory area.
323ded1b7fcSFabrice Gasnier
324ded1b7fcSFabrice Gasnier	  This driver can also be built as a module. If so, the module
325ded1b7fcSFabrice Gasnier	  will be called nvmem-stm32-romem.
326ded1b7fcSFabrice Gasnier
327a06d9e5aSRafał Miłeckiconfig NVMEM_SUNPLUS_OCOTP
328a06d9e5aSRafał Miłecki	tristate "Sunplus SoC OTP support"
329a06d9e5aSRafał Miłecki	depends on SOC_SP7021 || COMPILE_TEST
330a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
331a06d9e5aSRafał Miłecki	help
332a06d9e5aSRafał Miłecki	  This is a driver for the On-chip OTP controller (OCOTP) available
333a06d9e5aSRafał Miłecki	  on Sunplus SoCs. It provides access to 128 bytes of one-time
334a06d9e5aSRafał Miłecki	  programmable eFuse.
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-sunplus-ocotp.
338a06d9e5aSRafał Miłecki
3393d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID
3403d0b16a6SMaxime Ripard	tristate "Allwinner SoCs SID support"
3413d0b16a6SMaxime Ripard	depends on ARCH_SUNXI
3423d0b16a6SMaxime Ripard	help
3433d0b16a6SMaxime Ripard	  This is a driver for the 'security ID' available on various Allwinner
3443d0b16a6SMaxime Ripard	  devices.
3453d0b16a6SMaxime Ripard
3463d0b16a6SMaxime Ripard	  This driver can also be built as a module. If so, the module
3473d0b16a6SMaxime Ripard	  will be called nvmem_sunxi_sid.
3483d0b16a6SMaxime Ripard
349a06d9e5aSRafał Miłeckiconfig NVMEM_U_BOOT_ENV
350a06d9e5aSRafał Miłecki	tristate "U-Boot environment variables support"
351a06d9e5aSRafał Miłecki	depends on OF && MTD
352a06d9e5aSRafał Miłecki	select CRC32
353c49f1a8aSRafał Miłecki	select GENERIC_NET_UTILS
354a06d9e5aSRafał Miłecki	help
355a06d9e5aSRafał Miłecki	  U-Boot stores its setup as environment variables. This driver adds
356a06d9e5aSRafał Miłecki	  support for verifying & exporting such data. It also exposes variables
357a06d9e5aSRafał Miłecki	  as NVMEM cells so they can be referenced by other drivers.
358a06d9e5aSRafał Miłecki
359a06d9e5aSRafał Miłecki	  Currently this drivers works only with env variables on top of MTD.
360a06d9e5aSRafał Miłecki
361a06d9e5aSRafał Miłecki	  If compiled as module it will be called nvmem_u-boot-env.
362a06d9e5aSRafał Miłecki
36328fc7c98SRafał Miłeckiconfig NVMEM_UNIPHIER_EFUSE
36471c5dd50SKeiji Hayashibara	tristate "UniPhier SoCs eFuse support"
36571c5dd50SKeiji Hayashibara	depends on ARCH_UNIPHIER || COMPILE_TEST
36671c5dd50SKeiji Hayashibara	depends on HAS_IOMEM
36771c5dd50SKeiji Hayashibara	help
36871c5dd50SKeiji Hayashibara	  This is a simple driver to dump specified values of UniPhier SoC
36971c5dd50SKeiji Hayashibara	  from eFuse.
37071c5dd50SKeiji Hayashibara
37171c5dd50SKeiji Hayashibara	  This driver can also be built as a module. If so, the module
37271c5dd50SKeiji Hayashibara	  will be called nvmem-uniphier-efuse.
37371c5dd50SKeiji Hayashibara
37422dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP
37522dbdb7cSSanchayan Maity	tristate "VF610 SoC OCOTP support"
37622dbdb7cSSanchayan Maity	depends on SOC_VF610 || COMPILE_TEST
3775685e244SRichard Weinberger	depends on HAS_IOMEM
37822dbdb7cSSanchayan Maity	help
37922dbdb7cSSanchayan Maity	  This is a driver for the 'OCOTP' peripheral available on Vybrid
38022dbdb7cSSanchayan Maity	  devices like VF5xx and VF6xx.
38122dbdb7cSSanchayan Maity
38222dbdb7cSSanchayan Maity	  This driver can also be build as a module. If so, the module will
38322dbdb7cSSanchayan Maity	  be called nvmem-vf610-ocotp.
38422dbdb7cSSanchayan Maity
3854640fa18SNava kishore Manneconfig NVMEM_ZYNQMP
386bcd1fe07SNick Alcock	tristate "Xilinx ZYNQMP SoC nvmem firmware support"
3874640fa18SNava kishore Manne	depends on ARCH_ZYNQMP
3884640fa18SNava kishore Manne	help
3894640fa18SNava kishore Manne	  This is a driver to access hardware related data like
3904640fa18SNava kishore Manne	  soc revision, IDCODE... etc by using the firmware
3914640fa18SNava kishore Manne	  interface.
3924640fa18SNava kishore Manne
3934640fa18SNava kishore Manne	  If sure, say yes. If unsure, say no.
3944640fa18SNava kishore Manne
3950861110bSRichard Alpeconfig NVMEM_QORIQ_EFUSE
3960861110bSRichard Alpe	tristate "NXP QorIQ eFuse support"
3970861110bSRichard Alpe	depends on PPC_85xx || COMPILE_TEST
3980861110bSRichard Alpe	depends on HAS_IOMEM
3990861110bSRichard Alpe	help
4000861110bSRichard Alpe	  This driver provides read support for the eFuses (SFP) on NXP QorIQ
4010861110bSRichard Alpe	  series SoC's. This includes secure boot settings, the globally unique
4020861110bSRichard Alpe	  NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'.
4030861110bSRichard Alpe
4040861110bSRichard Alpe	  This driver can also be built as a module. If so, the module
4050861110bSRichard Alpe	  will be called nvmem_qoriq_efuse.
4060861110bSRichard Alpe
4074ab11996SSrinivas Kandagatlaendif
408