1*ec8f24b7SThomas 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 50f02f8aeeSAriel D'Alessandroconfig NVMEM_LPC18XX_EEPROM 51f02f8aeeSAriel D'Alessandro tristate "NXP LPC18XX EEPROM Memory Support" 52f02f8aeeSAriel D'Alessandro depends on ARCH_LPC18XX || COMPILE_TEST 532ce7aed6SKrzysztof Kozlowski depends on HAS_IOMEM 54f02f8aeeSAriel D'Alessandro help 55f02f8aeeSAriel D'Alessandro Say Y here to include support for NXP LPC18xx EEPROM memory found in 56f02f8aeeSAriel D'Alessandro NXP LPC185x/3x and LPC435x/3x/2x/1x devices. 57f02f8aeeSAriel D'Alessandro To compile this driver as a module, choose M here: the module 58f02f8aeeSAriel D'Alessandro will be called nvmem_lpc18xx_eeprom. 59f02f8aeeSAriel D'Alessandro 6088806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_OTP 6188806dafSJoachim Eastwood tristate "NXP LPC18XX OTP Memory Support" 6288806dafSJoachim Eastwood depends on ARCH_LPC18XX || COMPILE_TEST 6388806dafSJoachim Eastwood depends on HAS_IOMEM 6488806dafSJoachim Eastwood help 6588806dafSJoachim Eastwood Say Y here to include support for NXP LPC18xx OTP memory found on 6688806dafSJoachim Eastwood all LPC18xx and LPC43xx devices. 6788806dafSJoachim Eastwood To compile this driver as a module, choose M here: the module 6888806dafSJoachim Eastwood will be called nvmem_lpc18xx_otp. 6988806dafSJoachim Eastwood 70c01e9a11SStefan Wahrenconfig NVMEM_MXS_OCOTP 71c01e9a11SStefan Wahren tristate "Freescale MXS On-Chip OTP Memory Support" 72c01e9a11SStefan Wahren depends on ARCH_MXS || COMPILE_TEST 735685e244SRichard Weinberger depends on HAS_IOMEM 74c01e9a11SStefan Wahren help 75c01e9a11SStefan Wahren If you say Y here, you will get readonly access to the 76c01e9a11SStefan Wahren One Time Programmable memory pages that are stored 77c01e9a11SStefan Wahren on the Freescale i.MX23/i.MX28 processor. 78c01e9a11SStefan Wahren 79c01e9a11SStefan Wahren This driver can also be built as a module. If so, the module 80c01e9a11SStefan Wahren will be called nvmem-mxs-ocotp. 81c01e9a11SStefan Wahren 824c7e4fe3SAndrew-CT Chenconfig MTK_EFUSE 834c7e4fe3SAndrew-CT Chen tristate "Mediatek SoCs EFUSE support" 844c7e4fe3SAndrew-CT Chen depends on ARCH_MEDIATEK || COMPILE_TEST 852ce7aed6SKrzysztof Kozlowski depends on HAS_IOMEM 864c7e4fe3SAndrew-CT Chen help 874c7e4fe3SAndrew-CT Chen This is a driver to access hardware related data like sensor 884c7e4fe3SAndrew-CT Chen calibration, HDMI impedance etc. 894c7e4fe3SAndrew-CT Chen 904c7e4fe3SAndrew-CT Chen This driver can also be built as a module. If so, the module 914c7e4fe3SAndrew-CT Chen will be called efuse-mtk. 924c7e4fe3SAndrew-CT Chen 934ab11996SSrinivas Kandagatlaconfig QCOM_QFPROM 944ab11996SSrinivas Kandagatla tristate "QCOM QFPROM Support" 954ab11996SSrinivas Kandagatla depends on ARCH_QCOM || COMPILE_TEST 965685e244SRichard Weinberger depends on HAS_IOMEM 974ab11996SSrinivas Kandagatla help 984ab11996SSrinivas Kandagatla Say y here to enable QFPROM support. The QFPROM provides access 994ab11996SSrinivas Kandagatla functions for QFPROM data to rest of the drivers via nvmem interface. 1004ab11996SSrinivas Kandagatla 1014ab11996SSrinivas Kandagatla This driver can also be built as a module. If so, the module 1024ab11996SSrinivas Kandagatla will be called nvmem_qfprom. 1034ab11996SSrinivas Kandagatla 10403a69568SZhengShunQianconfig ROCKCHIP_EFUSE 10503a69568SZhengShunQian tristate "Rockchip eFuse Support" 10603a69568SZhengShunQian depends on ARCH_ROCKCHIP || COMPILE_TEST 1075685e244SRichard Weinberger depends on HAS_IOMEM 10803a69568SZhengShunQian help 10903a69568SZhengShunQian This is a simple drive to dump specified values of Rockchip SoC 11003a69568SZhengShunQian from eFuse, such as cpu-leakage. 11103a69568SZhengShunQian 11203a69568SZhengShunQian This driver can also be built as a module. If so, the module 11303a69568SZhengShunQian will be called nvmem_rockchip_efuse. 11403a69568SZhengShunQian 1159d59c6e8SJonathan Richardsonconfig NVMEM_BCM_OCOTP 1169d59c6e8SJonathan Richardson tristate "Broadcom On-Chip OTP Controller support" 1179d59c6e8SJonathan Richardson depends on ARCH_BCM_IPROC || COMPILE_TEST 1189d59c6e8SJonathan Richardson depends on HAS_IOMEM 1199d59c6e8SJonathan Richardson default ARCH_BCM_IPROC 1209d59c6e8SJonathan Richardson help 1219d59c6e8SJonathan Richardson Say y here to enable read/write access to the Broadcom OTP 1229d59c6e8SJonathan Richardson controller. 1239d59c6e8SJonathan Richardson 1249d59c6e8SJonathan Richardson This driver can also be built as a module. If so, the module 1259d59c6e8SJonathan Richardson will be called nvmem-bcm-ocotp. 1269d59c6e8SJonathan Richardson 127ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM 128ded1b7fcSFabrice Gasnier tristate "STMicroelectronics STM32 factory-programmed memory support" 129ded1b7fcSFabrice Gasnier depends on ARCH_STM32 || COMPILE_TEST 130ded1b7fcSFabrice Gasnier help 131ded1b7fcSFabrice Gasnier Say y here to enable read-only access for STMicroelectronics STM32 132ded1b7fcSFabrice Gasnier factory-programmed memory area. 133ded1b7fcSFabrice Gasnier 134ded1b7fcSFabrice Gasnier This driver can also be built as a module. If so, the module 135ded1b7fcSFabrice Gasnier will be called nvmem-stm32-romem. 136ded1b7fcSFabrice Gasnier 1373d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID 1383d0b16a6SMaxime Ripard tristate "Allwinner SoCs SID support" 1393d0b16a6SMaxime Ripard depends on ARCH_SUNXI 1403d0b16a6SMaxime Ripard help 1413d0b16a6SMaxime Ripard This is a driver for the 'security ID' available on various Allwinner 1423d0b16a6SMaxime Ripard devices. 1433d0b16a6SMaxime Ripard 1443d0b16a6SMaxime Ripard This driver can also be built as a module. If so, the module 1453d0b16a6SMaxime Ripard will be called nvmem_sunxi_sid. 1463d0b16a6SMaxime Ripard 14771c5dd50SKeiji Hayashibaraconfig UNIPHIER_EFUSE 14871c5dd50SKeiji Hayashibara tristate "UniPhier SoCs eFuse support" 14971c5dd50SKeiji Hayashibara depends on ARCH_UNIPHIER || COMPILE_TEST 15071c5dd50SKeiji Hayashibara depends on HAS_IOMEM 15171c5dd50SKeiji Hayashibara help 15271c5dd50SKeiji Hayashibara This is a simple driver to dump specified values of UniPhier SoC 15371c5dd50SKeiji Hayashibara from eFuse. 15471c5dd50SKeiji Hayashibara 15571c5dd50SKeiji Hayashibara This driver can also be built as a module. If so, the module 15671c5dd50SKeiji Hayashibara will be called nvmem-uniphier-efuse. 15771c5dd50SKeiji Hayashibara 15822dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP 15922dbdb7cSSanchayan Maity tristate "VF610 SoC OCOTP support" 16022dbdb7cSSanchayan Maity depends on SOC_VF610 || COMPILE_TEST 1615685e244SRichard Weinberger depends on HAS_IOMEM 16222dbdb7cSSanchayan Maity help 16322dbdb7cSSanchayan Maity This is a driver for the 'OCOTP' peripheral available on Vybrid 16422dbdb7cSSanchayan Maity devices like VF5xx and VF6xx. 16522dbdb7cSSanchayan Maity 16622dbdb7cSSanchayan Maity This driver can also be build as a module. If so, the module will 16722dbdb7cSSanchayan Maity be called nvmem-vf610-ocotp. 16822dbdb7cSSanchayan Maity 169ad855eaeSCarlo Caioneconfig MESON_EFUSE 1709593ad32SMartin Blumenstingl tristate "Amlogic Meson GX eFuse Support" 171ad855eaeSCarlo Caione depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM 172ad855eaeSCarlo Caione help 173ad855eaeSCarlo Caione This is a driver to retrieve specific values from the eFuse found on 1749593ad32SMartin Blumenstingl the Amlogic Meson GX SoCs. 175ad855eaeSCarlo Caione 176ad855eaeSCarlo Caione This driver can also be built as a module. If so, the module 177ad855eaeSCarlo Caione will be called nvmem_meson_efuse. 178ad855eaeSCarlo Caione 1798caef1faSMartin Blumenstinglconfig MESON_MX_EFUSE 1808caef1faSMartin Blumenstingl tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" 1818caef1faSMartin Blumenstingl depends on ARCH_MESON || COMPILE_TEST 1828caef1faSMartin Blumenstingl help 1838caef1faSMartin Blumenstingl This is a driver to retrieve specific values from the eFuse found on 1848caef1faSMartin Blumenstingl the Amlogic Meson6, Meson8 and Meson8b SoCs. 1858caef1faSMartin Blumenstingl 1868caef1faSMartin Blumenstingl This driver can also be built as a module. If so, the module 1878caef1faSMartin Blumenstingl will be called nvmem_meson_mx_efuse. 1888caef1faSMartin Blumenstingl 189988437aeSOleksij Rempelconfig NVMEM_SNVS_LPGPR 190988437aeSOleksij Rempel tristate "Support for Low Power General Purpose Register" 19180b820caSAndrey Yurovsky depends on SOC_IMX6 || SOC_IMX7D || COMPILE_TEST 192988437aeSOleksij Rempel help 193988437aeSOleksij Rempel This is a driver for Low Power General Purpose Register (LPGPR) available on 19480b820caSAndrey Yurovsky i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. 195988437aeSOleksij Rempel 196988437aeSOleksij Rempel This driver can also be built as a module. If so, the module 197988437aeSOleksij Rempel will be called nvmem-snvs-lpgpr. 198988437aeSOleksij Rempel 1993b51f47bSAndrey Smirnovconfig RAVE_SP_EEPROM 2003b51f47bSAndrey Smirnov tristate "Rave SP EEPROM Support" 2013b51f47bSAndrey Smirnov depends on RAVE_SP_CORE 2023b51f47bSAndrey Smirnov help 2033b51f47bSAndrey Smirnov Say y here to enable Rave SP EEPROM support. 2043b51f47bSAndrey Smirnov 20519c54468SFreeman Liuconfig SC27XX_EFUSE 20619c54468SFreeman Liu tristate "Spreadtrum SC27XX eFuse Support" 20719c54468SFreeman Liu depends on MFD_SC27XX_PMIC || COMPILE_TEST 20819c54468SFreeman Liu depends on HAS_IOMEM 20919c54468SFreeman Liu help 21019c54468SFreeman Liu This is a simple driver to dump specified values of Spreadtrum 21119c54468SFreeman Liu SC27XX PMICs from eFuse. 21219c54468SFreeman Liu 21319c54468SFreeman Liu This driver can also be built as a module. If so, the module 21419c54468SFreeman Liu will be called nvmem-sc27xx-efuse. 21519c54468SFreeman Liu 2164640fa18SNava kishore Manneconfig NVMEM_ZYNQMP 2174640fa18SNava kishore Manne bool "Xilinx ZYNQMP SoC nvmem firmware support" 2184640fa18SNava kishore Manne depends on ARCH_ZYNQMP 2194640fa18SNava kishore Manne help 2204640fa18SNava kishore Manne This is a driver to access hardware related data like 2214640fa18SNava kishore Manne soc revision, IDCODE... etc by using the firmware 2224640fa18SNava kishore Manne interface. 2234640fa18SNava kishore Manne 2244640fa18SNava kishore Manne If sure, say yes. If unsure, say no. 2254640fa18SNava kishore Manne 2264ab11996SSrinivas Kandagatlaendif 227