forked from Minki/linux
ae0c2d7255
Many nvmem providers are not very keen on having default sysfs nvmem entry, as most of the usecases for them are inside kernel itself. And in some cases read/writes to some areas in nvmem are restricted and trapped at secure monitor level, so accessing them from userspace would result in board reboots. This patch adds new NVMEM_SYSFS Kconfig to make binary sysfs entry an optional one. This provision will give more flexibility to users. This patch also moves existing sysfs code to a new file so that its not compiled in when its not really required. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Gaurav Kohli <gkohli@codeaurora.org> Tested-by: Gaurav Kohli <gkohli@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
226 lines
6.8 KiB
Plaintext
226 lines
6.8 KiB
Plaintext
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.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called nvmem_core.
|
|
|
|
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_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 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 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 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 SOC_IMX6 || SOC_IMX7D || 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.
|
|
|
|
endif
|