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