xref: /linux/drivers/nvmem/Kconfig (revision c471245bd9f25152e398fb49f65cf6e1ed7febbd)
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
229*c471245bSKomal Bajajconfig NVMEM_QCOM_SEC_QFPROM
230*c471245bSKomal Bajaj        tristate "QCOM SECURE QFPROM Support"
231*c471245bSKomal Bajaj        depends on ARCH_QCOM || COMPILE_TEST
232*c471245bSKomal Bajaj        depends on HAS_IOMEM
233*c471245bSKomal Bajaj        depends on OF
234*c471245bSKomal Bajaj        select QCOM_SCM
235*c471245bSKomal Bajaj        help
236*c471245bSKomal Bajaj          Say y here to enable secure QFPROM support. The secure QFPROM provides access
237*c471245bSKomal Bajaj          functions for QFPROM data to rest of the drivers via nvmem interface.
238*c471245bSKomal Bajaj
239*c471245bSKomal Bajaj          This driver can also be built as a module. If so, the module will be called
240*c471245bSKomal Bajaj          nvmem_sec_qfprom.
241*c471245bSKomal Bajaj
242a06d9e5aSRafał Miłeckiconfig NVMEM_RAVE_SP_EEPROM
243a06d9e5aSRafał Miłecki	tristate "Rave SP EEPROM Support"
244a06d9e5aSRafał Miłecki	depends on RAVE_SP_CORE
24540ce9798SAnirudh Ghayal	help
246a06d9e5aSRafał Miłecki	  Say y here to enable Rave SP EEPROM support.
247a06d9e5aSRafał Miłecki
248a06d9e5aSRafał Miłeckiconfig NVMEM_RMEM
249a06d9e5aSRafał Miłecki	tristate "Reserved Memory Based Driver Support"
250a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
251a06d9e5aSRafał Miłecki	help
252a06d9e5aSRafał Miłecki	  This driver maps reserved memory into an nvmem device. It might be
253a06d9e5aSRafał Miłecki	  useful to expose information left by firmware in memory.
254a06d9e5aSRafał Miłecki
255a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
256a06d9e5aSRafał Miłecki	  will be called nvmem-rmem.
25740ce9798SAnirudh Ghayal
25828fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_EFUSE
25903a69568SZhengShunQian	tristate "Rockchip eFuse Support"
26003a69568SZhengShunQian	depends on ARCH_ROCKCHIP || COMPILE_TEST
2615685e244SRichard Weinberger	depends on HAS_IOMEM
26203a69568SZhengShunQian	help
26323b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
26403a69568SZhengShunQian	  from eFuse, such as cpu-leakage.
26503a69568SZhengShunQian
26603a69568SZhengShunQian	  This driver can also be built as a module. If so, the module
26703a69568SZhengShunQian	  will be called nvmem_rockchip_efuse.
26803a69568SZhengShunQian
26928fc7c98SRafał Miłeckiconfig NVMEM_ROCKCHIP_OTP
270755864feSFinley Xiao	tristate "Rockchip OTP controller support"
271755864feSFinley Xiao	depends on ARCH_ROCKCHIP || COMPILE_TEST
272755864feSFinley Xiao	depends on HAS_IOMEM
273755864feSFinley Xiao	help
27423b7b491SDiederik de Haas	  This is a simple driver to dump specified values of Rockchip SoC
27523b7b491SDiederik de Haas	  from OTP, such as cpu-leakage.
276755864feSFinley Xiao
277755864feSFinley Xiao	  This driver can also be built as a module. If so, the module
278755864feSFinley Xiao	  will be called nvmem_rockchip_otp.
279755864feSFinley Xiao
280a06d9e5aSRafał Miłeckiconfig NVMEM_SC27XX_EFUSE
281a06d9e5aSRafał Miłecki	tristate "Spreadtrum SC27XX eFuse Support"
282a06d9e5aSRafał Miłecki	depends on MFD_SC27XX_PMIC || COMPILE_TEST
2839d59c6e8SJonathan Richardson	depends on HAS_IOMEM
2849d59c6e8SJonathan Richardson	help
285a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
286a06d9e5aSRafał Miłecki	  SC27XX PMICs from eFuse.
2879d59c6e8SJonathan Richardson
2889d59c6e8SJonathan Richardson	  This driver can also be built as a module. If so, the module
289a06d9e5aSRafał Miłecki	  will be called nvmem-sc27xx-efuse.
290a06d9e5aSRafał Miłecki
291a06d9e5aSRafał Miłeckiconfig NVMEM_SNVS_LPGPR
292a06d9e5aSRafał Miłecki	tristate "Support for Low Power General Purpose Register"
293a06d9e5aSRafał Miłecki	depends on ARCH_MXC || COMPILE_TEST
294a06d9e5aSRafał Miłecki	help
295a06d9e5aSRafał Miłecki	  This is a driver for Low Power General Purpose Register (LPGPR) available on
296a06d9e5aSRafał Miłecki	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
297a06d9e5aSRafał Miłecki
298a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
299a06d9e5aSRafał Miłecki	  will be called nvmem-snvs-lpgpr.
300a06d9e5aSRafał Miłecki
301a06d9e5aSRafał Miłeckiconfig NVMEM_SPMI_SDAM
302a06d9e5aSRafał Miłecki	tristate "SPMI SDAM Support"
303a06d9e5aSRafał Miłecki	depends on SPMI
304a06d9e5aSRafał Miłecki	help
305a06d9e5aSRafał Miłecki	  This driver supports the Shared Direct Access Memory Module on
306a06d9e5aSRafał Miłecki	  Qualcomm Technologies, Inc. PMICs. It provides the clients
307a06d9e5aSRafał Miłecki	  an interface to read/write to the SDAM module's shared memory.
308a06d9e5aSRafał Miłecki
309a06d9e5aSRafał Miłeckiconfig NVMEM_SPRD_EFUSE
310a06d9e5aSRafał Miłecki	tristate "Spreadtrum SoC eFuse Support"
311a06d9e5aSRafał Miłecki	depends on ARCH_SPRD || COMPILE_TEST
312a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
313a06d9e5aSRafał Miłecki	help
314a06d9e5aSRafał Miłecki	  This is a simple driver to dump specified values of Spreadtrum
315a06d9e5aSRafał Miłecki	  SoCs from eFuse.
316a06d9e5aSRafał Miłecki
317a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
318a06d9e5aSRafał Miłecki	  will be called nvmem-sprd-efuse.
3199d59c6e8SJonathan Richardson
3206a0bc352SPatrick Delaunayconfig NVMEM_STM32_BSEC_OPTEE_TA
3211dc7e37bSArnd Bergmann	def_bool NVMEM_STM32_ROMEM && OPTEE
3226a0bc352SPatrick Delaunay	help
3236a0bc352SPatrick Delaunay	  Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
3246a0bc352SPatrick Delaunay	  trusted application STM32MP BSEC.
3256a0bc352SPatrick Delaunay
3266a0bc352SPatrick Delaunay	  This library is a used by stm32-romem driver or included in the module
3276a0bc352SPatrick Delaunay	  called nvmem-stm32-romem.
3286a0bc352SPatrick Delaunay
329ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM
330ded1b7fcSFabrice Gasnier	tristate "STMicroelectronics STM32 factory-programmed memory support"
331ded1b7fcSFabrice Gasnier	depends on ARCH_STM32 || COMPILE_TEST
3321dc7e37bSArnd Bergmann	depends on OPTEE || !OPTEE
333ded1b7fcSFabrice Gasnier	help
334ded1b7fcSFabrice Gasnier	  Say y here to enable read-only access for STMicroelectronics STM32
335ded1b7fcSFabrice Gasnier	  factory-programmed memory area.
336ded1b7fcSFabrice Gasnier
337ded1b7fcSFabrice Gasnier	  This driver can also be built as a module. If so, the module
338ded1b7fcSFabrice Gasnier	  will be called nvmem-stm32-romem.
339ded1b7fcSFabrice Gasnier
340a06d9e5aSRafał Miłeckiconfig NVMEM_SUNPLUS_OCOTP
341a06d9e5aSRafał Miłecki	tristate "Sunplus SoC OTP support"
342a06d9e5aSRafał Miłecki	depends on SOC_SP7021 || COMPILE_TEST
343a06d9e5aSRafał Miłecki	depends on HAS_IOMEM
344a06d9e5aSRafał Miłecki	help
345a06d9e5aSRafał Miłecki	  This is a driver for the On-chip OTP controller (OCOTP) available
346a06d9e5aSRafał Miłecki	  on Sunplus SoCs. It provides access to 128 bytes of one-time
347a06d9e5aSRafał Miłecki	  programmable eFuse.
348a06d9e5aSRafał Miłecki
349a06d9e5aSRafał Miłecki	  This driver can also be built as a module. If so, the module
350a06d9e5aSRafał Miłecki	  will be called nvmem-sunplus-ocotp.
351a06d9e5aSRafał Miłecki
3523d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID
3533d0b16a6SMaxime Ripard	tristate "Allwinner SoCs SID support"
3543d0b16a6SMaxime Ripard	depends on ARCH_SUNXI
3553d0b16a6SMaxime Ripard	help
3563d0b16a6SMaxime Ripard	  This is a driver for the 'security ID' available on various Allwinner
3573d0b16a6SMaxime Ripard	  devices.
3583d0b16a6SMaxime Ripard
3593d0b16a6SMaxime Ripard	  This driver can also be built as a module. If so, the module
3603d0b16a6SMaxime Ripard	  will be called nvmem_sunxi_sid.
3613d0b16a6SMaxime Ripard
362a06d9e5aSRafał Miłeckiconfig NVMEM_U_BOOT_ENV
363a06d9e5aSRafał Miłecki	tristate "U-Boot environment variables support"
364a06d9e5aSRafał Miłecki	depends on OF && MTD
365a06d9e5aSRafał Miłecki	select CRC32
366c49f1a8aSRafał Miłecki	select GENERIC_NET_UTILS
367a06d9e5aSRafał Miłecki	help
368a06d9e5aSRafał Miłecki	  U-Boot stores its setup as environment variables. This driver adds
369a06d9e5aSRafał Miłecki	  support for verifying & exporting such data. It also exposes variables
370a06d9e5aSRafał Miłecki	  as NVMEM cells so they can be referenced by other drivers.
371a06d9e5aSRafał Miłecki
372a06d9e5aSRafał Miłecki	  Currently this drivers works only with env variables on top of MTD.
373a06d9e5aSRafał Miłecki
374a06d9e5aSRafał Miłecki	  If compiled as module it will be called nvmem_u-boot-env.
375a06d9e5aSRafał Miłecki
37628fc7c98SRafał Miłeckiconfig NVMEM_UNIPHIER_EFUSE
37771c5dd50SKeiji Hayashibara	tristate "UniPhier SoCs eFuse support"
37871c5dd50SKeiji Hayashibara	depends on ARCH_UNIPHIER || COMPILE_TEST
37971c5dd50SKeiji Hayashibara	depends on HAS_IOMEM
38071c5dd50SKeiji Hayashibara	help
38171c5dd50SKeiji Hayashibara	  This is a simple driver to dump specified values of UniPhier SoC
38271c5dd50SKeiji Hayashibara	  from eFuse.
38371c5dd50SKeiji Hayashibara
38471c5dd50SKeiji Hayashibara	  This driver can also be built as a module. If so, the module
38571c5dd50SKeiji Hayashibara	  will be called nvmem-uniphier-efuse.
38671c5dd50SKeiji Hayashibara
38722dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP
38822dbdb7cSSanchayan Maity	tristate "VF610 SoC OCOTP support"
38922dbdb7cSSanchayan Maity	depends on SOC_VF610 || COMPILE_TEST
3905685e244SRichard Weinberger	depends on HAS_IOMEM
39122dbdb7cSSanchayan Maity	help
39222dbdb7cSSanchayan Maity	  This is a driver for the 'OCOTP' peripheral available on Vybrid
39322dbdb7cSSanchayan Maity	  devices like VF5xx and VF6xx.
39422dbdb7cSSanchayan Maity
39522dbdb7cSSanchayan Maity	  This driver can also be build as a module. If so, the module will
39622dbdb7cSSanchayan Maity	  be called nvmem-vf610-ocotp.
39722dbdb7cSSanchayan Maity
3984640fa18SNava kishore Manneconfig NVMEM_ZYNQMP
399bcd1fe07SNick Alcock	tristate "Xilinx ZYNQMP SoC nvmem firmware support"
4004640fa18SNava kishore Manne	depends on ARCH_ZYNQMP
4014640fa18SNava kishore Manne	help
4024640fa18SNava kishore Manne	  This is a driver to access hardware related data like
4034640fa18SNava kishore Manne	  soc revision, IDCODE... etc by using the firmware
4044640fa18SNava kishore Manne	  interface.
4054640fa18SNava kishore Manne
4064640fa18SNava kishore Manne	  If sure, say yes. If unsure, say no.
4074640fa18SNava kishore Manne
4080861110bSRichard Alpeconfig NVMEM_QORIQ_EFUSE
4090861110bSRichard Alpe	tristate "NXP QorIQ eFuse support"
4100861110bSRichard Alpe	depends on PPC_85xx || COMPILE_TEST
4110861110bSRichard Alpe	depends on HAS_IOMEM
4120861110bSRichard Alpe	help
4130861110bSRichard Alpe	  This driver provides read support for the eFuses (SFP) on NXP QorIQ
4140861110bSRichard Alpe	  series SoC's. This includes secure boot settings, the globally unique
4150861110bSRichard Alpe	  NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'.
4160861110bSRichard Alpe
4170861110bSRichard Alpe	  This driver can also be built as a module. If so, the module
4180861110bSRichard Alpe	  will be called nvmem_qoriq_efuse.
4190861110bSRichard Alpe
4204ab11996SSrinivas Kandagatlaendif
421