Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig NVMEM
0003         bool "NVMEM Support"
0004         help
0005           Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
0006 
0007           This framework is designed to provide a generic interface to NVMEM
0008           from both the Linux Kernel and the userspace.
0009 
0010           If unsure, say no.
0011 
0012 if NVMEM
0013 
0014 config NVMEM_SYSFS
0015         bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
0016         depends on SYSFS
0017         default y
0018         help
0019          Say Y here to add a sysfs interface for NVMEM.
0020 
0021          This interface is mostly used by userspace applications to
0022          read/write directly into nvmem.
0023 
0024 config NVMEM_IMX_IIM
0025         tristate "i.MX IC Identification Module support"
0026         depends on ARCH_MXC || COMPILE_TEST
0027         help
0028           This is a driver for the IC Identification Module (IIM) available on
0029           i.MX SoCs, providing access to 4 Kbits of programmable
0030           eFuses.
0031 
0032           This driver can also be built as a module. If so, the module
0033           will be called nvmem-imx-iim.
0034 
0035 config NVMEM_IMX_OCOTP
0036         tristate "i.MX 6/7/8 On-Chip OTP Controller support"
0037         depends on ARCH_MXC || COMPILE_TEST
0038         depends on HAS_IOMEM
0039         help
0040           This is a driver for the On-Chip OTP Controller (OCOTP) available on
0041           i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
0042           eFuses.
0043 
0044           This driver can also be built as a module. If so, the module
0045           will be called nvmem-imx-ocotp.
0046 
0047 config NVMEM_IMX_OCOTP_SCU
0048         tristate "i.MX8 SCU On-Chip OTP Controller support"
0049         depends on IMX_SCU
0050         depends on HAVE_ARM_SMCCC
0051         help
0052           This is a driver for the SCU On-Chip OTP Controller (OCOTP)
0053           available on i.MX8 SoCs.
0054 
0055 config JZ4780_EFUSE
0056         tristate "JZ4780 EFUSE Memory Support"
0057         depends on MACH_INGENIC || COMPILE_TEST
0058         depends on HAS_IOMEM
0059         depends on OF
0060         select REGMAP_MMIO
0061         help
0062           Say Y here to include support for JZ4780 efuse memory found on
0063           all JZ4780 SoC based devices.
0064           To compile this driver as a module, choose M here: the module
0065           will be called nvmem_jz4780_efuse.
0066 
0067 config NVMEM_LPC18XX_EEPROM
0068         tristate "NXP LPC18XX EEPROM Memory Support"
0069         depends on ARCH_LPC18XX || COMPILE_TEST
0070         depends on HAS_IOMEM
0071         help
0072           Say Y here to include support for NXP LPC18xx EEPROM memory found in
0073           NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
0074           To compile this driver as a module, choose M here: the module
0075           will be called nvmem_lpc18xx_eeprom.
0076 
0077 config NVMEM_LPC18XX_OTP
0078         tristate "NXP LPC18XX OTP Memory Support"
0079         depends on ARCH_LPC18XX || COMPILE_TEST
0080         depends on HAS_IOMEM
0081         help
0082           Say Y here to include support for NXP LPC18xx OTP memory found on
0083           all LPC18xx and LPC43xx devices.
0084           To compile this driver as a module, choose M here: the module
0085           will be called nvmem_lpc18xx_otp.
0086 
0087 config NVMEM_MXS_OCOTP
0088         tristate "Freescale MXS On-Chip OTP Memory Support"
0089         depends on ARCH_MXS || COMPILE_TEST
0090         depends on HAS_IOMEM
0091         help
0092           If you say Y here, you will get readonly access to the
0093           One Time Programmable memory pages that are stored
0094           on the Freescale i.MX23/i.MX28 processor.
0095 
0096           This driver can also be built as a module. If so, the module
0097           will be called nvmem-mxs-ocotp.
0098 
0099 config MTK_EFUSE
0100         tristate "Mediatek SoCs EFUSE support"
0101         depends on ARCH_MEDIATEK || COMPILE_TEST
0102         depends on HAS_IOMEM
0103         help
0104           This is a driver to access hardware related data like sensor
0105           calibration, HDMI impedance etc.
0106 
0107           This driver can also be built as a module. If so, the module
0108           will be called efuse-mtk.
0109 
0110 config MICROCHIP_OTPC
0111         tristate "Microchip OTPC support"
0112         depends on ARCH_AT91 || COMPILE_TEST
0113         help
0114           This driver enable the OTP controller available on Microchip SAMA7G5
0115           SoCs. It controlls the access to the OTP memory connected to it.
0116 
0117 config NVMEM_NINTENDO_OTP
0118         tristate "Nintendo Wii and Wii U OTP Support"
0119         depends on WII || COMPILE_TEST
0120         help
0121           This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
0122 
0123           This memory contains common and per-console keys, signatures and
0124           related data required to access peripherals.
0125 
0126           This driver can also be built as a module. If so, the module
0127           will be called nvmem-nintendo-otp.
0128 
0129 config QCOM_QFPROM
0130         tristate "QCOM QFPROM Support"
0131         depends on ARCH_QCOM || COMPILE_TEST
0132         depends on HAS_IOMEM
0133         help
0134           Say y here to enable QFPROM support. The QFPROM provides access
0135           functions for QFPROM data to rest of the drivers via nvmem interface.
0136 
0137           This driver can also be built as a module. If so, the module
0138           will be called nvmem_qfprom.
0139 
0140 config NVMEM_SPMI_SDAM
0141         tristate "SPMI SDAM Support"
0142         depends on SPMI
0143         help
0144           This driver supports the Shared Direct Access Memory Module on
0145           Qualcomm Technologies, Inc. PMICs. It provides the clients
0146           an interface to read/write to the SDAM module's shared memory.
0147 
0148 config ROCKCHIP_EFUSE
0149         tristate "Rockchip eFuse Support"
0150         depends on ARCH_ROCKCHIP || COMPILE_TEST
0151         depends on HAS_IOMEM
0152         help
0153           This is a simple drive to dump specified values of Rockchip SoC
0154           from eFuse, such as cpu-leakage.
0155 
0156           This driver can also be built as a module. If so, the module
0157           will be called nvmem_rockchip_efuse.
0158 
0159 config ROCKCHIP_OTP
0160         tristate "Rockchip OTP controller support"
0161         depends on ARCH_ROCKCHIP || COMPILE_TEST
0162         depends on HAS_IOMEM
0163         help
0164           This is a simple drive to dump specified values of Rockchip SoC
0165           from otp, such as cpu-leakage.
0166 
0167           This driver can also be built as a module. If so, the module
0168           will be called nvmem_rockchip_otp.
0169 
0170 config NVMEM_BCM_OCOTP
0171         tristate "Broadcom On-Chip OTP Controller support"
0172         depends on ARCH_BCM_IPROC || COMPILE_TEST
0173         depends on HAS_IOMEM
0174         default ARCH_BCM_IPROC
0175         help
0176           Say y here to enable read/write access to the Broadcom OTP
0177           controller.
0178 
0179           This driver can also be built as a module. If so, the module
0180           will be called nvmem-bcm-ocotp.
0181 
0182 config NVMEM_STM32_ROMEM
0183         tristate "STMicroelectronics STM32 factory-programmed memory support"
0184         depends on ARCH_STM32 || COMPILE_TEST
0185         help
0186           Say y here to enable read-only access for STMicroelectronics STM32
0187           factory-programmed memory area.
0188 
0189           This driver can also be built as a module. If so, the module
0190           will be called nvmem-stm32-romem.
0191 
0192 config NVMEM_SUNXI_SID
0193         tristate "Allwinner SoCs SID support"
0194         depends on ARCH_SUNXI
0195         help
0196           This is a driver for the 'security ID' available on various Allwinner
0197           devices.
0198 
0199           This driver can also be built as a module. If so, the module
0200           will be called nvmem_sunxi_sid.
0201 
0202 config UNIPHIER_EFUSE
0203         tristate "UniPhier SoCs eFuse support"
0204         depends on ARCH_UNIPHIER || COMPILE_TEST
0205         depends on HAS_IOMEM
0206         help
0207           This is a simple driver to dump specified values of UniPhier SoC
0208           from eFuse.
0209 
0210           This driver can also be built as a module. If so, the module
0211           will be called nvmem-uniphier-efuse.
0212 
0213 config NVMEM_VF610_OCOTP
0214         tristate "VF610 SoC OCOTP support"
0215         depends on SOC_VF610 || COMPILE_TEST
0216         depends on HAS_IOMEM
0217         help
0218           This is a driver for the 'OCOTP' peripheral available on Vybrid
0219           devices like VF5xx and VF6xx.
0220 
0221           This driver can also be build as a module. If so, the module will
0222           be called nvmem-vf610-ocotp.
0223 
0224 config MESON_EFUSE
0225         tristate "Amlogic Meson GX eFuse Support"
0226         depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
0227         help
0228           This is a driver to retrieve specific values from the eFuse found on
0229           the Amlogic Meson GX SoCs.
0230 
0231           This driver can also be built as a module. If so, the module
0232           will be called nvmem_meson_efuse.
0233 
0234 config MESON_MX_EFUSE
0235         tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
0236         depends on ARCH_MESON || COMPILE_TEST
0237         help
0238           This is a driver to retrieve specific values from the eFuse found on
0239           the Amlogic Meson6, Meson8 and Meson8b SoCs.
0240 
0241           This driver can also be built as a module. If so, the module
0242           will be called nvmem_meson_mx_efuse.
0243 
0244 config NVMEM_SNVS_LPGPR
0245         tristate "Support for Low Power General Purpose Register"
0246         depends on ARCH_MXC || COMPILE_TEST
0247         help
0248           This is a driver for Low Power General Purpose Register (LPGPR) available on
0249           i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
0250 
0251           This driver can also be built as a module. If so, the module
0252           will be called nvmem-snvs-lpgpr.
0253 
0254 config RAVE_SP_EEPROM
0255         tristate "Rave SP EEPROM Support"
0256         depends on RAVE_SP_CORE
0257         help
0258           Say y here to enable Rave SP EEPROM support.
0259 
0260 config SC27XX_EFUSE
0261         tristate "Spreadtrum SC27XX eFuse Support"
0262         depends on MFD_SC27XX_PMIC || COMPILE_TEST
0263         depends on HAS_IOMEM
0264         help
0265           This is a simple driver to dump specified values of Spreadtrum
0266           SC27XX PMICs from eFuse.
0267 
0268           This driver can also be built as a module. If so, the module
0269           will be called nvmem-sc27xx-efuse.
0270 
0271 config NVMEM_ZYNQMP
0272         bool "Xilinx ZYNQMP SoC nvmem firmware support"
0273         depends on ARCH_ZYNQMP
0274         help
0275           This is a driver to access hardware related data like
0276           soc revision, IDCODE... etc by using the firmware
0277           interface.
0278 
0279           If sure, say yes. If unsure, say no.
0280 
0281 config SPRD_EFUSE
0282         tristate "Spreadtrum SoC eFuse Support"
0283         depends on ARCH_SPRD || COMPILE_TEST
0284         depends on HAS_IOMEM
0285         help
0286           This is a simple driver to dump specified values of Spreadtrum
0287           SoCs from eFuse.
0288 
0289           This driver can also be built as a module. If so, the module
0290           will be called nvmem-sprd-efuse.
0291 
0292 config NVMEM_RMEM
0293         tristate "Reserved Memory Based Driver Support"
0294         depends on HAS_IOMEM
0295         help
0296           This driver maps reserved memory into an nvmem device. It might be
0297           useful to expose information left by firmware in memory.
0298 
0299           This driver can also be built as a module. If so, the module
0300           will be called nvmem-rmem.
0301 
0302 config NVMEM_BRCM_NVRAM
0303         tristate "Broadcom's NVRAM support"
0304         depends on ARCH_BCM_5301X || COMPILE_TEST
0305         depends on HAS_IOMEM
0306         help
0307           This driver provides support for Broadcom's NVRAM that can be accessed
0308           using I/O mapping.
0309 
0310 config NVMEM_LAYERSCAPE_SFP
0311         tristate "Layerscape SFP (Security Fuse Processor) support"
0312         depends on ARCH_LAYERSCAPE || COMPILE_TEST
0313         depends on HAS_IOMEM
0314         select REGMAP_MMIO
0315         help
0316           This driver provides support to read the eFuses on Freescale
0317           Layerscape SoC's. For example, the vendor provides a per part
0318           unique ID there.
0319 
0320           This driver can also be built as a module. If so, the module
0321           will be called layerscape-sfp.
0322 
0323 config NVMEM_SUNPLUS_OCOTP
0324         tristate "Sunplus SoC OTP support"
0325         depends on SOC_SP7021 || COMPILE_TEST
0326         depends on HAS_IOMEM
0327         help
0328           This is a driver for the On-chip OTP controller (OCOTP) available
0329           on Sunplus SoCs. It provides access to 128 bytes of one-time
0330           programmable eFuse.
0331 
0332           This driver can also be built as a module. If so, the module
0333           will be called nvmem-sunplus-ocotp.
0334 
0335 config NVMEM_APPLE_EFUSES
0336         tristate "Apple eFuse support"
0337         depends on ARCH_APPLE || COMPILE_TEST
0338         default ARCH_APPLE
0339         help
0340           Say y here to enable support for reading eFuses on Apple SoCs
0341           such as the M1. These are e.g. used to store factory programmed
0342           calibration data required for the PCIe or the USB-C PHY.
0343 
0344           This driver can also be built as a module. If so, the module will
0345           be called nvmem-apple-efuses.
0346 
0347 endif