# SPDX-License-Identifier: GPL-2.0-only menuconfig NVMEM bool "NVMEM Support" help Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES... This framework is designed to provide a generic interface to NVMEM from both the Linux Kernel and the userspace. If unsure, say no. if NVMEM config NVMEM_SYSFS bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)" depends on SYSFS default y help Say Y here to add a sysfs interface for NVMEM. This interface is mostly used by userspace applications to read/write directly into nvmem. config NVMEM_IMX_IIM tristate "i.MX IC Identification Module support" depends on ARCH_MXC || COMPILE_TEST help This is a driver for the IC Identification Module (IIM) available on i.MX SoCs, providing access to 4 Kbits of programmable eFuses. This driver can also be built as a module. If so, the module will be called nvmem-imx-iim. config NVMEM_IMX_OCOTP tristate "i.MX 6/7/8 On-Chip OTP Controller support" depends on ARCH_MXC || COMPILE_TEST depends on HAS_IOMEM help This is a driver for the On-Chip OTP Controller (OCOTP) available on i.MX6 SoCs, providing access to 4 Kbits of one-time programmable eFuses. This driver can also be built as a module. If so, the module will be called nvmem-imx-ocotp. config NVMEM_IMX_OCOTP_SCU tristate "i.MX8 SCU On-Chip OTP Controller support" depends on IMX_SCU depends on HAVE_ARM_SMCCC help This is a driver for the SCU On-Chip OTP Controller (OCOTP) available on i.MX8 SoCs. config JZ4780_EFUSE tristate "JZ4780 EFUSE Memory Support" depends on MACH_INGENIC || COMPILE_TEST depends on HAS_IOMEM depends on OF select REGMAP_MMIO help Say Y here to include support for JZ4780 efuse memory found on all JZ4780 SoC based devices. To compile this driver as a module, choose M here: the module will be called nvmem_jz4780_efuse. config NVMEM_LPC18XX_EEPROM tristate "NXP LPC18XX EEPROM Memory Support" depends on ARCH_LPC18XX || COMPILE_TEST depends on HAS_IOMEM help Say Y here to include support for NXP LPC18xx EEPROM memory found in NXP LPC185x/3x and LPC435x/3x/2x/1x devices. To compile this driver as a module, choose M here: the module will be called nvmem_lpc18xx_eeprom. config NVMEM_LPC18XX_OTP tristate "NXP LPC18XX OTP Memory Support" depends on ARCH_LPC18XX || COMPILE_TEST depends on HAS_IOMEM help Say Y here to include support for NXP LPC18xx OTP memory found on all LPC18xx and LPC43xx devices. To compile this driver as a module, choose M here: the module will be called nvmem_lpc18xx_otp. config NVMEM_MXS_OCOTP tristate "Freescale MXS On-Chip OTP Memory Support" depends on ARCH_MXS || COMPILE_TEST depends on HAS_IOMEM help If you say Y here, you will get readonly access to the One Time Programmable memory pages that are stored on the Freescale i.MX23/i.MX28 processor. This driver can also be built as a module. If so, the module will be called nvmem-mxs-ocotp. config MTK_EFUSE tristate "Mediatek SoCs EFUSE support" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM help This is a driver to access hardware related data like sensor calibration, HDMI impedance etc. This driver can also be built as a module. If so, the module will be called efuse-mtk. config NVMEM_NINTENDO_OTP tristate "Nintendo Wii and Wii U OTP Support" depends on WII || COMPILE_TEST help This is a driver exposing the OTP of a Nintendo Wii or Wii U console. This memory contains common and per-console keys, signatures and related data required to access peripherals. This driver can also be built as a module. If so, the module will be called nvmem-nintendo-otp. config QCOM_QFPROM tristate "QCOM QFPROM Support" depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM help Say y here to enable QFPROM support. The QFPROM provides access functions for QFPROM data to rest of the drivers via nvmem interface. This driver can also be built as a module. If so, the module will be called nvmem_qfprom. config NVMEM_SPMI_SDAM tristate "SPMI SDAM Support" depends on SPMI help This driver supports the Shared Direct Access Memory Module on Qualcomm Technologies, Inc. PMICs. It provides the clients an interface to read/write to the SDAM module's shared memory. config ROCKCHIP_EFUSE tristate "Rockchip eFuse Support" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on HAS_IOMEM help This is a simple drive to dump specified values of Rockchip SoC from eFuse, such as cpu-leakage. This driver can also be built as a module. If so, the module will be called nvmem_rockchip_efuse. config ROCKCHIP_OTP tristate "Rockchip OTP controller support" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on HAS_IOMEM help This is a simple drive to dump specified values of Rockchip SoC from otp, such as cpu-leakage. This driver can also be built as a module. If so, the module will be called nvmem_rockchip_otp. config NVMEM_BCM_OCOTP tristate "Broadcom On-Chip OTP Controller support" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on HAS_IOMEM default ARCH_BCM_IPROC help Say y here to enable read/write access to the Broadcom OTP controller. This driver can also be built as a module. If so, the module will be called nvmem-bcm-ocotp. config NVMEM_STM32_ROMEM tristate "STMicroelectronics STM32 factory-programmed memory support" depends on ARCH_STM32 || COMPILE_TEST help Say y here to enable read-only access for STMicroelectronics STM32 factory-programmed memory area. This driver can also be built as a module. If so, the module will be called nvmem-stm32-romem. config NVMEM_SUNXI_SID tristate "Allwinner SoCs SID support" depends on ARCH_SUNXI help This is a driver for the 'security ID' available on various Allwinner devices. This driver can also be built as a module. If so, the module will be called nvmem_sunxi_sid. config UNIPHIER_EFUSE tristate "UniPhier SoCs eFuse support" depends on ARCH_UNIPHIER || COMPILE_TEST depends on HAS_IOMEM help This is a simple driver to dump specified values of UniPhier SoC from eFuse. This driver can also be built as a module. If so, the module will be called nvmem-uniphier-efuse. config NVMEM_VF610_OCOTP tristate "VF610 SoC OCOTP support" depends on SOC_VF610 || COMPILE_TEST depends on HAS_IOMEM help This is a driver for the 'OCOTP' peripheral available on Vybrid devices like VF5xx and VF6xx. This driver can also be build as a module. If so, the module will be called nvmem-vf610-ocotp. config MESON_EFUSE tristate "Amlogic Meson GX eFuse Support" depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM help This is a driver to retrieve specific values from the eFuse found on the Amlogic Meson GX SoCs. This driver can also be built as a module. If so, the module will be called nvmem_meson_efuse. config MESON_MX_EFUSE tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" depends on ARCH_MESON || COMPILE_TEST help This is a driver to retrieve specific values from the eFuse found on the Amlogic Meson6, Meson8 and Meson8b SoCs. This driver can also be built as a module. If so, the module will be called nvmem_meson_mx_efuse. config NVMEM_SNVS_LPGPR tristate "Support for Low Power General Purpose Register" depends on ARCH_MXC || COMPILE_TEST help This is a driver for Low Power General Purpose Register (LPGPR) available on i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. This driver can also be built as a module. If so, the module will be called nvmem-snvs-lpgpr. config RAVE_SP_EEPROM tristate "Rave SP EEPROM Support" depends on RAVE_SP_CORE help Say y here to enable Rave SP EEPROM support. config SC27XX_EFUSE tristate "Spreadtrum SC27XX eFuse Support" depends on MFD_SC27XX_PMIC || COMPILE_TEST depends on HAS_IOMEM help This is a simple driver to dump specified values of Spreadtrum SC27XX PMICs from eFuse. This driver can also be built as a module. If so, the module will be called nvmem-sc27xx-efuse. config NVMEM_ZYNQMP bool "Xilinx ZYNQMP SoC nvmem firmware support" depends on ARCH_ZYNQMP help This is a driver to access hardware related data like soc revision, IDCODE... etc by using the firmware interface. If sure, say yes. If unsure, say no. config SPRD_EFUSE tristate "Spreadtrum SoC eFuse Support" depends on ARCH_SPRD || COMPILE_TEST depends on HAS_IOMEM help This is a simple driver to dump specified values of Spreadtrum SoCs from eFuse. This driver can also be built as a module. If so, the module will be called nvmem-sprd-efuse. config NVMEM_RMEM tristate "Reserved Memory Based Driver Support" depends on HAS_IOMEM help This driver maps reserved memory into an nvmem device. It might be useful to expose information left by firmware in memory. This driver can also be built as a module. If so, the module will be called nvmem-rmem. config NVMEM_BRCM_NVRAM tristate "Broadcom's NVRAM support" depends on ARCH_BCM_5301X || COMPILE_TEST depends on HAS_IOMEM help This driver provides support for Broadcom's NVRAM that can be accessed using I/O mapping. config NVMEM_LAYERSCAPE_SFP tristate "Layerscape SFP (Security Fuse Processor) support" depends on ARCH_LAYERSCAPE || COMPILE_TEST depends on HAS_IOMEM help This driver provides support to read the eFuses on Freescale Layerscape SoC's. For example, the vendor provides a per part unique ID there. This driver can also be built as a module. If so, the module will be called layerscape-sfp. endif