18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenuconfig NVMEM 38c2ecf20Sopenharmony_ci bool "NVMEM Support" 48c2ecf20Sopenharmony_ci help 58c2ecf20Sopenharmony_ci Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES... 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci This framework is designed to provide a generic interface to NVMEM 88c2ecf20Sopenharmony_ci from both the Linux Kernel and the userspace. 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci If unsure, say no. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciif NVMEM 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciconfig NVMEM_SYSFS 158c2ecf20Sopenharmony_ci bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)" 168c2ecf20Sopenharmony_ci depends on SYSFS 178c2ecf20Sopenharmony_ci default y 188c2ecf20Sopenharmony_ci help 198c2ecf20Sopenharmony_ci Say Y here to add a sysfs interface for NVMEM. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci This interface is mostly used by userspace applications to 228c2ecf20Sopenharmony_ci read/write directly into nvmem. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciconfig NVMEM_IMX_IIM 258c2ecf20Sopenharmony_ci tristate "i.MX IC Identification Module support" 268c2ecf20Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 278c2ecf20Sopenharmony_ci help 288c2ecf20Sopenharmony_ci This is a driver for the IC Identification Module (IIM) available on 298c2ecf20Sopenharmony_ci i.MX SoCs, providing access to 4 Kbits of programmable 308c2ecf20Sopenharmony_ci eFuses. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 338c2ecf20Sopenharmony_ci will be called nvmem-imx-iim. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciconfig NVMEM_IMX_OCOTP 368c2ecf20Sopenharmony_ci tristate "i.MX 6/7/8 On-Chip OTP Controller support" 378c2ecf20Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 388c2ecf20Sopenharmony_ci depends on HAS_IOMEM 398c2ecf20Sopenharmony_ci help 408c2ecf20Sopenharmony_ci This is a driver for the On-Chip OTP Controller (OCOTP) available on 418c2ecf20Sopenharmony_ci i.MX6 SoCs, providing access to 4 Kbits of one-time programmable 428c2ecf20Sopenharmony_ci eFuses. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 458c2ecf20Sopenharmony_ci will be called nvmem-imx-ocotp. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig NVMEM_IMX_OCOTP_SCU 488c2ecf20Sopenharmony_ci tristate "i.MX8 SCU On-Chip OTP Controller support" 498c2ecf20Sopenharmony_ci depends on IMX_SCU 508c2ecf20Sopenharmony_ci depends on HAVE_ARM_SMCCC 518c2ecf20Sopenharmony_ci help 528c2ecf20Sopenharmony_ci This is a driver for the SCU On-Chip OTP Controller (OCOTP) 538c2ecf20Sopenharmony_ci available on i.MX8 SoCs. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ciconfig JZ4780_EFUSE 568c2ecf20Sopenharmony_ci tristate "JZ4780 EFUSE Memory Support" 578c2ecf20Sopenharmony_ci depends on MACH_INGENIC || COMPILE_TEST 588c2ecf20Sopenharmony_ci depends on HAS_IOMEM 598c2ecf20Sopenharmony_ci depends on OF 608c2ecf20Sopenharmony_ci select REGMAP_MMIO 618c2ecf20Sopenharmony_ci help 628c2ecf20Sopenharmony_ci Say Y here to include support for JZ4780 efuse memory found on 638c2ecf20Sopenharmony_ci all JZ4780 SoC based devices. 648c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 658c2ecf20Sopenharmony_ci will be called nvmem_jz4780_efuse. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ciconfig NVMEM_LPC18XX_EEPROM 688c2ecf20Sopenharmony_ci tristate "NXP LPC18XX EEPROM Memory Support" 698c2ecf20Sopenharmony_ci depends on ARCH_LPC18XX || COMPILE_TEST 708c2ecf20Sopenharmony_ci depends on HAS_IOMEM 718c2ecf20Sopenharmony_ci help 728c2ecf20Sopenharmony_ci Say Y here to include support for NXP LPC18xx EEPROM memory found in 738c2ecf20Sopenharmony_ci NXP LPC185x/3x and LPC435x/3x/2x/1x devices. 748c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 758c2ecf20Sopenharmony_ci will be called nvmem_lpc18xx_eeprom. 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ciconfig NVMEM_LPC18XX_OTP 788c2ecf20Sopenharmony_ci tristate "NXP LPC18XX OTP Memory Support" 798c2ecf20Sopenharmony_ci depends on ARCH_LPC18XX || COMPILE_TEST 808c2ecf20Sopenharmony_ci depends on HAS_IOMEM 818c2ecf20Sopenharmony_ci help 828c2ecf20Sopenharmony_ci Say Y here to include support for NXP LPC18xx OTP memory found on 838c2ecf20Sopenharmony_ci all LPC18xx and LPC43xx devices. 848c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 858c2ecf20Sopenharmony_ci will be called nvmem_lpc18xx_otp. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ciconfig NVMEM_MXS_OCOTP 888c2ecf20Sopenharmony_ci tristate "Freescale MXS On-Chip OTP Memory Support" 898c2ecf20Sopenharmony_ci depends on ARCH_MXS || COMPILE_TEST 908c2ecf20Sopenharmony_ci depends on HAS_IOMEM 918c2ecf20Sopenharmony_ci help 928c2ecf20Sopenharmony_ci If you say Y here, you will get readonly access to the 938c2ecf20Sopenharmony_ci One Time Programmable memory pages that are stored 948c2ecf20Sopenharmony_ci on the Freescale i.MX23/i.MX28 processor. 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 978c2ecf20Sopenharmony_ci will be called nvmem-mxs-ocotp. 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ciconfig MTK_EFUSE 1008c2ecf20Sopenharmony_ci tristate "Mediatek SoCs EFUSE support" 1018c2ecf20Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 1028c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1038c2ecf20Sopenharmony_ci help 1048c2ecf20Sopenharmony_ci This is a driver to access hardware related data like sensor 1058c2ecf20Sopenharmony_ci calibration, HDMI impedance etc. 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1088c2ecf20Sopenharmony_ci will be called efuse-mtk. 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ciconfig QCOM_QFPROM 1118c2ecf20Sopenharmony_ci tristate "QCOM QFPROM Support" 1128c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 1138c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1148c2ecf20Sopenharmony_ci help 1158c2ecf20Sopenharmony_ci Say y here to enable QFPROM support. The QFPROM provides access 1168c2ecf20Sopenharmony_ci functions for QFPROM data to rest of the drivers via nvmem interface. 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1198c2ecf20Sopenharmony_ci will be called nvmem_qfprom. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciconfig NVMEM_SPMI_SDAM 1228c2ecf20Sopenharmony_ci tristate "SPMI SDAM Support" 1238c2ecf20Sopenharmony_ci depends on SPMI 1248c2ecf20Sopenharmony_ci help 1258c2ecf20Sopenharmony_ci This driver supports the Shared Direct Access Memory Module on 1268c2ecf20Sopenharmony_ci Qualcomm Technologies, Inc. PMICs. It provides the clients 1278c2ecf20Sopenharmony_ci an interface to read/write to the SDAM module's shared memory. 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ciconfig ROCKCHIP_EFUSE 1308c2ecf20Sopenharmony_ci tristate "Rockchip eFuse Support" 1318c2ecf20Sopenharmony_ci depends on ARCH_ROCKCHIP || COMPILE_TEST 1328c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1338c2ecf20Sopenharmony_ci help 1348c2ecf20Sopenharmony_ci This is a simple drive to dump specified values of Rockchip SoC 1358c2ecf20Sopenharmony_ci from eFuse, such as cpu-leakage. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1388c2ecf20Sopenharmony_ci will be called nvmem_rockchip_efuse. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ciconfig ROCKCHIP_OTP 1418c2ecf20Sopenharmony_ci tristate "Rockchip OTP controller support" 1428c2ecf20Sopenharmony_ci depends on ARCH_ROCKCHIP || COMPILE_TEST 1438c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1448c2ecf20Sopenharmony_ci help 1458c2ecf20Sopenharmony_ci This is a simple drive to dump specified values of Rockchip SoC 1468c2ecf20Sopenharmony_ci from otp, such as cpu-leakage. 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1498c2ecf20Sopenharmony_ci will be called nvmem_rockchip_otp. 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ciconfig NVMEM_BCM_OCOTP 1528c2ecf20Sopenharmony_ci tristate "Broadcom On-Chip OTP Controller support" 1538c2ecf20Sopenharmony_ci depends on ARCH_BCM_IPROC || COMPILE_TEST 1548c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1558c2ecf20Sopenharmony_ci default ARCH_BCM_IPROC 1568c2ecf20Sopenharmony_ci help 1578c2ecf20Sopenharmony_ci Say y here to enable read/write access to the Broadcom OTP 1588c2ecf20Sopenharmony_ci controller. 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1618c2ecf20Sopenharmony_ci will be called nvmem-bcm-ocotp. 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ciconfig NVMEM_STM32_ROMEM 1648c2ecf20Sopenharmony_ci tristate "STMicroelectronics STM32 factory-programmed memory support" 1658c2ecf20Sopenharmony_ci depends on ARCH_STM32 || COMPILE_TEST 1668c2ecf20Sopenharmony_ci help 1678c2ecf20Sopenharmony_ci Say y here to enable read-only access for STMicroelectronics STM32 1688c2ecf20Sopenharmony_ci factory-programmed memory area. 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1718c2ecf20Sopenharmony_ci will be called nvmem-stm32-romem. 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ciconfig NVMEM_SUNXI_SID 1748c2ecf20Sopenharmony_ci tristate "Allwinner SoCs SID support" 1758c2ecf20Sopenharmony_ci depends on ARCH_SUNXI 1768c2ecf20Sopenharmony_ci help 1778c2ecf20Sopenharmony_ci This is a driver for the 'security ID' available on various Allwinner 1788c2ecf20Sopenharmony_ci devices. 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1818c2ecf20Sopenharmony_ci will be called nvmem_sunxi_sid. 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ciconfig UNIPHIER_EFUSE 1848c2ecf20Sopenharmony_ci tristate "UniPhier SoCs eFuse support" 1858c2ecf20Sopenharmony_ci depends on ARCH_UNIPHIER || COMPILE_TEST 1868c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1878c2ecf20Sopenharmony_ci help 1888c2ecf20Sopenharmony_ci This is a simple driver to dump specified values of UniPhier SoC 1898c2ecf20Sopenharmony_ci from eFuse. 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1928c2ecf20Sopenharmony_ci will be called nvmem-uniphier-efuse. 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ciconfig NVMEM_VF610_OCOTP 1958c2ecf20Sopenharmony_ci tristate "VF610 SoC OCOTP support" 1968c2ecf20Sopenharmony_ci depends on SOC_VF610 || COMPILE_TEST 1978c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1988c2ecf20Sopenharmony_ci help 1998c2ecf20Sopenharmony_ci This is a driver for the 'OCOTP' peripheral available on Vybrid 2008c2ecf20Sopenharmony_ci devices like VF5xx and VF6xx. 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci This driver can also be build as a module. If so, the module will 2038c2ecf20Sopenharmony_ci be called nvmem-vf610-ocotp. 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ciconfig MESON_EFUSE 2068c2ecf20Sopenharmony_ci tristate "Amlogic Meson GX eFuse Support" 2078c2ecf20Sopenharmony_ci depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM 2088c2ecf20Sopenharmony_ci help 2098c2ecf20Sopenharmony_ci This is a driver to retrieve specific values from the eFuse found on 2108c2ecf20Sopenharmony_ci the Amlogic Meson GX SoCs. 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 2138c2ecf20Sopenharmony_ci will be called nvmem_meson_efuse. 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ciconfig MESON_MX_EFUSE 2168c2ecf20Sopenharmony_ci tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" 2178c2ecf20Sopenharmony_ci depends on ARCH_MESON || COMPILE_TEST 2188c2ecf20Sopenharmony_ci help 2198c2ecf20Sopenharmony_ci This is a driver to retrieve specific values from the eFuse found on 2208c2ecf20Sopenharmony_ci the Amlogic Meson6, Meson8 and Meson8b SoCs. 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 2238c2ecf20Sopenharmony_ci will be called nvmem_meson_mx_efuse. 2248c2ecf20Sopenharmony_ci 2258c2ecf20Sopenharmony_ciconfig NVMEM_SNVS_LPGPR 2268c2ecf20Sopenharmony_ci tristate "Support for Low Power General Purpose Register" 2278c2ecf20Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 2288c2ecf20Sopenharmony_ci help 2298c2ecf20Sopenharmony_ci This is a driver for Low Power General Purpose Register (LPGPR) available on 2308c2ecf20Sopenharmony_ci i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 2338c2ecf20Sopenharmony_ci will be called nvmem-snvs-lpgpr. 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ciconfig RAVE_SP_EEPROM 2368c2ecf20Sopenharmony_ci tristate "Rave SP EEPROM Support" 2378c2ecf20Sopenharmony_ci depends on RAVE_SP_CORE 2388c2ecf20Sopenharmony_ci help 2398c2ecf20Sopenharmony_ci Say y here to enable Rave SP EEPROM support. 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ciconfig SC27XX_EFUSE 2428c2ecf20Sopenharmony_ci tristate "Spreadtrum SC27XX eFuse Support" 2438c2ecf20Sopenharmony_ci depends on MFD_SC27XX_PMIC || COMPILE_TEST 2448c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2458c2ecf20Sopenharmony_ci help 2468c2ecf20Sopenharmony_ci This is a simple driver to dump specified values of Spreadtrum 2478c2ecf20Sopenharmony_ci SC27XX PMICs from eFuse. 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 2508c2ecf20Sopenharmony_ci will be called nvmem-sc27xx-efuse. 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ciconfig NVMEM_ZYNQMP 2538c2ecf20Sopenharmony_ci bool "Xilinx ZYNQMP SoC nvmem firmware support" 2548c2ecf20Sopenharmony_ci depends on ARCH_ZYNQMP 2558c2ecf20Sopenharmony_ci help 2568c2ecf20Sopenharmony_ci This is a driver to access hardware related data like 2578c2ecf20Sopenharmony_ci soc revision, IDCODE... etc by using the firmware 2588c2ecf20Sopenharmony_ci interface. 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci If sure, say yes. If unsure, say no. 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ciconfig SPRD_EFUSE 2638c2ecf20Sopenharmony_ci tristate "Spreadtrum SoC eFuse Support" 2648c2ecf20Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 2658c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2668c2ecf20Sopenharmony_ci help 2678c2ecf20Sopenharmony_ci This is a simple driver to dump specified values of Spreadtrum 2688c2ecf20Sopenharmony_ci SoCs from eFuse. 2698c2ecf20Sopenharmony_ci 2708c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 2718c2ecf20Sopenharmony_ci will be called nvmem-sprd-efuse. 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ciendif 274