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 This driver can also be built as a module. If so, the module 11eace75cfSSrinivas Kandagatla will be called nvmem_core. 12eace75cfSSrinivas Kandagatla 13eace75cfSSrinivas Kandagatla If unsure, say no. 144ab11996SSrinivas Kandagatla 154ab11996SSrinivas Kandagatlaif NVMEM 164ab11996SSrinivas Kandagatla 17ae0c2d72SSrinivas Kandagatlaconfig NVMEM_SYSFS 18ae0c2d72SSrinivas Kandagatla bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)" 19ae0c2d72SSrinivas Kandagatla depends on SYSFS 20ae0c2d72SSrinivas Kandagatla default y 21ae0c2d72SSrinivas Kandagatla help 22ae0c2d72SSrinivas Kandagatla Say Y here to add a sysfs interface for NVMEM. 23ae0c2d72SSrinivas Kandagatla 24ae0c2d72SSrinivas Kandagatla This interface is mostly used by userspace applications to 25ae0c2d72SSrinivas Kandagatla read/write directly into nvmem. 26ae0c2d72SSrinivas Kandagatla 27c066c1c0SMichael Grzeschikconfig NVMEM_IMX_IIM 28c066c1c0SMichael Grzeschik tristate "i.MX IC Identification Module support" 29c066c1c0SMichael Grzeschik depends on ARCH_MXC || COMPILE_TEST 30c066c1c0SMichael Grzeschik help 31c066c1c0SMichael Grzeschik This is a driver for the IC Identification Module (IIM) available on 32c066c1c0SMichael Grzeschik i.MX SoCs, providing access to 4 Kbits of programmable 33c066c1c0SMichael Grzeschik eFuses. 34c066c1c0SMichael Grzeschik 35c066c1c0SMichael Grzeschik This driver can also be built as a module. If so, the module 36c066c1c0SMichael Grzeschik will be called nvmem-imx-iim. 37c066c1c0SMichael Grzeschik 383edba6b4SPhilipp Zabelconfig NVMEM_IMX_OCOTP 39dd4c1047SLucas Stach tristate "i.MX 6/7/8 On-Chip OTP Controller support" 40dd4c1047SLucas Stach depends on ARCH_MXC || COMPILE_TEST 4163c0c076SSrinivas Kandagatla depends on HAS_IOMEM 423edba6b4SPhilipp Zabel help 433edba6b4SPhilipp Zabel This is a driver for the On-Chip OTP Controller (OCOTP) available on 443edba6b4SPhilipp Zabel i.MX6 SoCs, providing access to 4 Kbits of one-time programmable 453edba6b4SPhilipp Zabel eFuses. 463edba6b4SPhilipp Zabel 473edba6b4SPhilipp Zabel This driver can also be built as a module. If so, the module 483edba6b4SPhilipp Zabel will be called nvmem-imx-ocotp. 493edba6b4SPhilipp Zabel 5067ff708bSPeng Fanconfig NVMEM_IMX_OCOTP_SCU 5167ff708bSPeng Fan tristate "i.MX8 SCU On-Chip OTP Controller support" 5267ff708bSPeng Fan depends on IMX_SCU 53b210fac7SSrinivas Kandagatla depends on HAVE_ARM_SMCCC 5467ff708bSPeng Fan help 5567ff708bSPeng Fan This is a driver for the SCU On-Chip OTP Controller (OCOTP) 5667ff708bSPeng Fan available on i.MX8 SoCs. 5767ff708bSPeng Fan 58*4a2addc2SPrasannaKumar Muralidharanconfig JZ4780_EFUSE 59*4a2addc2SPrasannaKumar Muralidharan tristate "JZ4780 EFUSE Memory Support" 60*4a2addc2SPrasannaKumar Muralidharan depends on MACH_INGENIC || COMPILE_TEST 61*4a2addc2SPrasannaKumar Muralidharan depends on HAS_IOMEM 62*4a2addc2SPrasannaKumar Muralidharan depends on OF 63*4a2addc2SPrasannaKumar Muralidharan select REGMAP_MMIO 64*4a2addc2SPrasannaKumar Muralidharan help 65*4a2addc2SPrasannaKumar Muralidharan Say Y here to include support for JZ4780 efuse memory found on 66*4a2addc2SPrasannaKumar Muralidharan all JZ4780 SoC based devices. 67*4a2addc2SPrasannaKumar Muralidharan To compile this driver as a module, choose M here: the module 68*4a2addc2SPrasannaKumar Muralidharan will be called nvmem_jz4780_efuse. 69*4a2addc2SPrasannaKumar Muralidharan 70f02f8aeeSAriel D'Alessandroconfig NVMEM_LPC18XX_EEPROM 71f02f8aeeSAriel D'Alessandro tristate "NXP LPC18XX EEPROM Memory Support" 72f02f8aeeSAriel D'Alessandro depends on ARCH_LPC18XX || COMPILE_TEST 732ce7aed6SKrzysztof Kozlowski depends on HAS_IOMEM 74f02f8aeeSAriel D'Alessandro help 75f02f8aeeSAriel D'Alessandro Say Y here to include support for NXP LPC18xx EEPROM memory found in 76f02f8aeeSAriel D'Alessandro NXP LPC185x/3x and LPC435x/3x/2x/1x devices. 77f02f8aeeSAriel D'Alessandro To compile this driver as a module, choose M here: the module 78f02f8aeeSAriel D'Alessandro will be called nvmem_lpc18xx_eeprom. 79f02f8aeeSAriel D'Alessandro 8088806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_OTP 8188806dafSJoachim Eastwood tristate "NXP LPC18XX OTP Memory Support" 8288806dafSJoachim Eastwood depends on ARCH_LPC18XX || COMPILE_TEST 8388806dafSJoachim Eastwood depends on HAS_IOMEM 8488806dafSJoachim Eastwood help 8588806dafSJoachim Eastwood Say Y here to include support for NXP LPC18xx OTP memory found on 8688806dafSJoachim Eastwood all LPC18xx and LPC43xx devices. 8788806dafSJoachim Eastwood To compile this driver as a module, choose M here: the module 8888806dafSJoachim Eastwood will be called nvmem_lpc18xx_otp. 8988806dafSJoachim Eastwood 90c01e9a11SStefan Wahrenconfig NVMEM_MXS_OCOTP 91c01e9a11SStefan Wahren tristate "Freescale MXS On-Chip OTP Memory Support" 92c01e9a11SStefan Wahren depends on ARCH_MXS || COMPILE_TEST 935685e244SRichard Weinberger depends on HAS_IOMEM 94c01e9a11SStefan Wahren help 95c01e9a11SStefan Wahren If you say Y here, you will get readonly access to the 96c01e9a11SStefan Wahren One Time Programmable memory pages that are stored 97c01e9a11SStefan Wahren on the Freescale i.MX23/i.MX28 processor. 98c01e9a11SStefan Wahren 99c01e9a11SStefan Wahren This driver can also be built as a module. If so, the module 100c01e9a11SStefan Wahren will be called nvmem-mxs-ocotp. 101c01e9a11SStefan Wahren 1024c7e4fe3SAndrew-CT Chenconfig MTK_EFUSE 1034c7e4fe3SAndrew-CT Chen tristate "Mediatek SoCs EFUSE support" 1044c7e4fe3SAndrew-CT Chen depends on ARCH_MEDIATEK || COMPILE_TEST 1052ce7aed6SKrzysztof Kozlowski depends on HAS_IOMEM 1064c7e4fe3SAndrew-CT Chen help 1074c7e4fe3SAndrew-CT Chen This is a driver to access hardware related data like sensor 1084c7e4fe3SAndrew-CT Chen calibration, HDMI impedance etc. 1094c7e4fe3SAndrew-CT Chen 1104c7e4fe3SAndrew-CT Chen This driver can also be built as a module. If so, the module 1114c7e4fe3SAndrew-CT Chen will be called efuse-mtk. 1124c7e4fe3SAndrew-CT Chen 1134ab11996SSrinivas Kandagatlaconfig QCOM_QFPROM 1144ab11996SSrinivas Kandagatla tristate "QCOM QFPROM Support" 1154ab11996SSrinivas Kandagatla depends on ARCH_QCOM || COMPILE_TEST 1165685e244SRichard Weinberger depends on HAS_IOMEM 1174ab11996SSrinivas Kandagatla help 1184ab11996SSrinivas Kandagatla Say y here to enable QFPROM support. The QFPROM provides access 1194ab11996SSrinivas Kandagatla functions for QFPROM data to rest of the drivers via nvmem interface. 1204ab11996SSrinivas Kandagatla 1214ab11996SSrinivas Kandagatla This driver can also be built as a module. If so, the module 1224ab11996SSrinivas Kandagatla will be called nvmem_qfprom. 1234ab11996SSrinivas Kandagatla 12440ce9798SAnirudh Ghayalconfig NVMEM_SPMI_SDAM 12540ce9798SAnirudh Ghayal tristate "SPMI SDAM Support" 12640ce9798SAnirudh Ghayal depends on SPMI 12740ce9798SAnirudh Ghayal help 12840ce9798SAnirudh Ghayal This driver supports the Shared Direct Access Memory Module on 12940ce9798SAnirudh Ghayal Qualcomm Technologies, Inc. PMICs. It provides the clients 13040ce9798SAnirudh Ghayal an interface to read/write to the SDAM module's shared memory. 13140ce9798SAnirudh Ghayal 13203a69568SZhengShunQianconfig ROCKCHIP_EFUSE 13303a69568SZhengShunQian tristate "Rockchip eFuse Support" 13403a69568SZhengShunQian depends on ARCH_ROCKCHIP || COMPILE_TEST 1355685e244SRichard Weinberger depends on HAS_IOMEM 13603a69568SZhengShunQian help 13703a69568SZhengShunQian This is a simple drive to dump specified values of Rockchip SoC 13803a69568SZhengShunQian from eFuse, such as cpu-leakage. 13903a69568SZhengShunQian 14003a69568SZhengShunQian This driver can also be built as a module. If so, the module 14103a69568SZhengShunQian will be called nvmem_rockchip_efuse. 14203a69568SZhengShunQian 143755864feSFinley Xiaoconfig ROCKCHIP_OTP 144755864feSFinley Xiao tristate "Rockchip OTP controller support" 145755864feSFinley Xiao depends on ARCH_ROCKCHIP || COMPILE_TEST 146755864feSFinley Xiao depends on HAS_IOMEM 147755864feSFinley Xiao help 148755864feSFinley Xiao This is a simple drive to dump specified values of Rockchip SoC 149755864feSFinley Xiao from otp, such as cpu-leakage. 150755864feSFinley Xiao 151755864feSFinley Xiao This driver can also be built as a module. If so, the module 152755864feSFinley Xiao will be called nvmem_rockchip_otp. 153755864feSFinley Xiao 1549d59c6e8SJonathan Richardsonconfig NVMEM_BCM_OCOTP 1559d59c6e8SJonathan Richardson tristate "Broadcom On-Chip OTP Controller support" 1569d59c6e8SJonathan Richardson depends on ARCH_BCM_IPROC || COMPILE_TEST 1579d59c6e8SJonathan Richardson depends on HAS_IOMEM 1589d59c6e8SJonathan Richardson default ARCH_BCM_IPROC 1599d59c6e8SJonathan Richardson help 1609d59c6e8SJonathan Richardson Say y here to enable read/write access to the Broadcom OTP 1619d59c6e8SJonathan Richardson controller. 1629d59c6e8SJonathan Richardson 1639d59c6e8SJonathan Richardson This driver can also be built as a module. If so, the module 1649d59c6e8SJonathan Richardson will be called nvmem-bcm-ocotp. 1659d59c6e8SJonathan Richardson 166ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM 167ded1b7fcSFabrice Gasnier tristate "STMicroelectronics STM32 factory-programmed memory support" 168ded1b7fcSFabrice Gasnier depends on ARCH_STM32 || COMPILE_TEST 169ded1b7fcSFabrice Gasnier help 170ded1b7fcSFabrice Gasnier Say y here to enable read-only access for STMicroelectronics STM32 171ded1b7fcSFabrice Gasnier factory-programmed memory area. 172ded1b7fcSFabrice Gasnier 173ded1b7fcSFabrice Gasnier This driver can also be built as a module. If so, the module 174ded1b7fcSFabrice Gasnier will be called nvmem-stm32-romem. 175ded1b7fcSFabrice Gasnier 1763d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID 1773d0b16a6SMaxime Ripard tristate "Allwinner SoCs SID support" 1783d0b16a6SMaxime Ripard depends on ARCH_SUNXI 1793d0b16a6SMaxime Ripard help 1803d0b16a6SMaxime Ripard This is a driver for the 'security ID' available on various Allwinner 1813d0b16a6SMaxime Ripard devices. 1823d0b16a6SMaxime Ripard 1833d0b16a6SMaxime Ripard This driver can also be built as a module. If so, the module 1843d0b16a6SMaxime Ripard will be called nvmem_sunxi_sid. 1853d0b16a6SMaxime Ripard 18671c5dd50SKeiji Hayashibaraconfig UNIPHIER_EFUSE 18771c5dd50SKeiji Hayashibara tristate "UniPhier SoCs eFuse support" 18871c5dd50SKeiji Hayashibara depends on ARCH_UNIPHIER || COMPILE_TEST 18971c5dd50SKeiji Hayashibara depends on HAS_IOMEM 19071c5dd50SKeiji Hayashibara help 19171c5dd50SKeiji Hayashibara This is a simple driver to dump specified values of UniPhier SoC 19271c5dd50SKeiji Hayashibara from eFuse. 19371c5dd50SKeiji Hayashibara 19471c5dd50SKeiji Hayashibara This driver can also be built as a module. If so, the module 19571c5dd50SKeiji Hayashibara will be called nvmem-uniphier-efuse. 19671c5dd50SKeiji Hayashibara 19722dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP 19822dbdb7cSSanchayan Maity tristate "VF610 SoC OCOTP support" 19922dbdb7cSSanchayan Maity depends on SOC_VF610 || COMPILE_TEST 2005685e244SRichard Weinberger depends on HAS_IOMEM 20122dbdb7cSSanchayan Maity help 20222dbdb7cSSanchayan Maity This is a driver for the 'OCOTP' peripheral available on Vybrid 20322dbdb7cSSanchayan Maity devices like VF5xx and VF6xx. 20422dbdb7cSSanchayan Maity 20522dbdb7cSSanchayan Maity This driver can also be build as a module. If so, the module will 20622dbdb7cSSanchayan Maity be called nvmem-vf610-ocotp. 20722dbdb7cSSanchayan Maity 208ad855eaeSCarlo Caioneconfig MESON_EFUSE 2099593ad32SMartin Blumenstingl tristate "Amlogic Meson GX eFuse Support" 210ad855eaeSCarlo Caione depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM 211ad855eaeSCarlo Caione help 212ad855eaeSCarlo Caione This is a driver to retrieve specific values from the eFuse found on 2139593ad32SMartin Blumenstingl the Amlogic Meson GX SoCs. 214ad855eaeSCarlo Caione 215ad855eaeSCarlo Caione This driver can also be built as a module. If so, the module 216ad855eaeSCarlo Caione will be called nvmem_meson_efuse. 217ad855eaeSCarlo Caione 2188caef1faSMartin Blumenstinglconfig MESON_MX_EFUSE 2198caef1faSMartin Blumenstingl tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" 2208caef1faSMartin Blumenstingl depends on ARCH_MESON || COMPILE_TEST 2218caef1faSMartin Blumenstingl help 2228caef1faSMartin Blumenstingl This is a driver to retrieve specific values from the eFuse found on 2238caef1faSMartin Blumenstingl the Amlogic Meson6, Meson8 and Meson8b SoCs. 2248caef1faSMartin Blumenstingl 2258caef1faSMartin Blumenstingl This driver can also be built as a module. If so, the module 2268caef1faSMartin Blumenstingl will be called nvmem_meson_mx_efuse. 2278caef1faSMartin Blumenstingl 228988437aeSOleksij Rempelconfig NVMEM_SNVS_LPGPR 229988437aeSOleksij Rempel tristate "Support for Low Power General Purpose Register" 2302d1c1939SFabio Estevam depends on ARCH_MXC || COMPILE_TEST 231988437aeSOleksij Rempel help 232988437aeSOleksij Rempel This is a driver for Low Power General Purpose Register (LPGPR) available on 23380b820caSAndrey Yurovsky i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. 234988437aeSOleksij Rempel 235988437aeSOleksij Rempel This driver can also be built as a module. If so, the module 236988437aeSOleksij Rempel will be called nvmem-snvs-lpgpr. 237988437aeSOleksij Rempel 2383b51f47bSAndrey Smirnovconfig RAVE_SP_EEPROM 2393b51f47bSAndrey Smirnov tristate "Rave SP EEPROM Support" 2403b51f47bSAndrey Smirnov depends on RAVE_SP_CORE 2413b51f47bSAndrey Smirnov help 2423b51f47bSAndrey Smirnov Say y here to enable Rave SP EEPROM support. 2433b51f47bSAndrey Smirnov 24419c54468SFreeman Liuconfig SC27XX_EFUSE 24519c54468SFreeman Liu tristate "Spreadtrum SC27XX eFuse Support" 24619c54468SFreeman Liu depends on MFD_SC27XX_PMIC || COMPILE_TEST 24719c54468SFreeman Liu depends on HAS_IOMEM 24819c54468SFreeman Liu help 24919c54468SFreeman Liu This is a simple driver to dump specified values of Spreadtrum 25019c54468SFreeman Liu SC27XX PMICs from eFuse. 25119c54468SFreeman Liu 25219c54468SFreeman Liu This driver can also be built as a module. If so, the module 25319c54468SFreeman Liu will be called nvmem-sc27xx-efuse. 25419c54468SFreeman Liu 2554640fa18SNava kishore Manneconfig NVMEM_ZYNQMP 2564640fa18SNava kishore Manne bool "Xilinx ZYNQMP SoC nvmem firmware support" 2574640fa18SNava kishore Manne depends on ARCH_ZYNQMP 2584640fa18SNava kishore Manne help 2594640fa18SNava kishore Manne This is a driver to access hardware related data like 2604640fa18SNava kishore Manne soc revision, IDCODE... etc by using the firmware 2614640fa18SNava kishore Manne interface. 2624640fa18SNava kishore Manne 2634640fa18SNava kishore Manne If sure, say yes. If unsure, say no. 2644640fa18SNava kishore Manne 265096030e7SFreeman Liuconfig SPRD_EFUSE 266096030e7SFreeman Liu tristate "Spreadtrum SoC eFuse Support" 267096030e7SFreeman Liu depends on ARCH_SPRD || COMPILE_TEST 268096030e7SFreeman Liu depends on HAS_IOMEM 269096030e7SFreeman Liu help 270096030e7SFreeman Liu This is a simple driver to dump specified values of Spreadtrum 271096030e7SFreeman Liu SoCs from eFuse. 272096030e7SFreeman Liu 273096030e7SFreeman Liu This driver can also be built as a module. If so, the module 274096030e7SFreeman Liu will be called nvmem-sprd-efuse. 275096030e7SFreeman Liu 2764ab11996SSrinivas Kandagatlaendif 277