Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
menuconfig CONFIG_NVMEM
	bool "NVMEM Support"
	help
	  Support for CONFIG_NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...

	  This framework is designed to provide a generic interface to CONFIG_NVMEM
	  from both the Linux Kernel and the userspace.

	  This driver can also be built as a module. If so, the module
	  will be called nvmem_core.

	  If unsure, say no.

if CONFIG_NVMEM

config CONFIG_NVMEM_SYSFS
	bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
	depends on CONFIG_SYSFS
	default y
	help
	 Say Y here to add a sysfs interface for CONFIG_NVMEM.

	 This interface is mostly used by userspace applications to
	 read/write directly into nvmem.

config CONFIG_NVMEM_IMX_IIM
	tristate "i.MX IC Identification Module support"
	depends on CONFIG_ARCH_MXC || CONFIG_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 CONFIG_NVMEM_IMX_OCOTP
	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
	depends on CONFIG_ARCH_MXC || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_NVMEM_IMX_OCOTP_SCU
	tristate "i.MX8 SCU On-Chip OTP Controller support"
	depends on CONFIG_IMX_SCU
	help
	  This is a driver for the SCU On-Chip OTP Controller (OCOTP)
	  available on i.MX8 SoCs.

config CONFIG_NVMEM_LPC18XX_EEPROM
	tristate "NXP LPC18XX EEPROM Memory Support"
	depends on CONFIG_ARCH_LPC18XX || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_M here: the module
	  will be called nvmem_lpc18xx_eeprom.

config CONFIG_NVMEM_LPC18XX_OTP
	tristate "NXP LPC18XX OTP Memory Support"
	depends on CONFIG_ARCH_LPC18XX || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_M here: the module
	  will be called nvmem_lpc18xx_otp.

config CONFIG_NVMEM_MXS_OCOTP
	tristate "Freescale MXS On-Chip OTP Memory Support"
	depends on CONFIG_ARCH_MXS || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_MTK_EFUSE
	tristate "Mediatek SoCs EFUSE support"
	depends on CONFIG_ARCH_MEDIATEK || CONFIG_COMPILE_TEST
	depends on CONFIG_HAS_IOMEM
	help
	  This is a driver to access hardware related data like sensor
	  calibration, CONFIG_HDMI impedance etc.

	  This driver can also be built as a module. If so, the module
	  will be called efuse-mtk.

config CONFIG_QCOM_QFPROM
	tristate "QCOM QFPROM Support"
	depends on CONFIG_ARCH_QCOM || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_ROCKCHIP_EFUSE
	tristate "Rockchip eFuse Support"
	depends on CONFIG_ARCH_ROCKCHIP || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_NVMEM_BCM_OCOTP
	tristate "Broadcom On-Chip OTP Controller support"
	depends on CONFIG_ARCH_BCM_IPROC || CONFIG_COMPILE_TEST
	depends on CONFIG_HAS_IOMEM
	default CONFIG_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 CONFIG_NVMEM_STM32_ROMEM
	tristate "STMicroelectronics STM32 factory-programmed memory support"
	depends on CONFIG_ARCH_STM32 || CONFIG_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 CONFIG_NVMEM_SUNXI_SID
	tristate "Allwinner SoCs SID support"
	depends on CONFIG_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 CONFIG_UNIPHIER_EFUSE
	tristate "UniPhier SoCs eFuse support"
	depends on CONFIG_ARCH_UNIPHIER || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_NVMEM_VF610_OCOTP
	tristate "VF610 SoC OCOTP support"
	depends on CONFIG_SOC_VF610 || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_MESON_EFUSE
	tristate "Amlogic Meson GX eFuse Support"
	depends on (CONFIG_ARCH_MESON || CONFIG_COMPILE_TEST) && CONFIG_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 CONFIG_MESON_MX_EFUSE
	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
	depends on CONFIG_ARCH_MESON || CONFIG_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 CONFIG_NVMEM_SNVS_LPGPR
	tristate "Support for Low Power General Purpose Register"
	depends on CONFIG_ARCH_MXC || CONFIG_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 CONFIG_RAVE_SP_EEPROM
	tristate "Rave SP EEPROM Support"
	depends on CONFIG_RAVE_SP_CORE
	help
	  Say y here to enable Rave SP EEPROM support.

config CONFIG_SC27XX_EFUSE
	tristate "Spreadtrum SC27XX eFuse Support"
	depends on CONFIG_MFD_SC27XX_PMIC || CONFIG_COMPILE_TEST
	depends on CONFIG_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 CONFIG_NVMEM_ZYNQMP
	bool "Xilinx ZYNQMP SoC nvmem firmware support"
	depends on CONFIG_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.

endif