1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig NVMEM 3 bool "NVMEM Support" 4 help 5 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES... 6 7 This framework is designed to provide a generic interface to NVMEM 8 from both the Linux Kernel and the userspace. 9 10 This driver can also be built as a module. If so, the module 11 will be called nvmem_core. 12 13 If unsure, say no. 14 15if NVMEM 16 17config NVMEM_SYSFS 18 bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)" 19 depends on SYSFS 20 default y 21 help 22 Say Y here to add a sysfs interface for NVMEM. 23 24 This interface is mostly used by userspace applications to 25 read/write directly into nvmem. 26 27config NVMEM_IMX_IIM 28 tristate "i.MX IC Identification Module support" 29 depends on ARCH_MXC || COMPILE_TEST 30 help 31 This is a driver for the IC Identification Module (IIM) available on 32 i.MX SoCs, providing access to 4 Kbits of programmable 33 eFuses. 34 35 This driver can also be built as a module. If so, the module 36 will be called nvmem-imx-iim. 37 38config NVMEM_IMX_OCOTP 39 tristate "i.MX 6/7/8 On-Chip OTP Controller support" 40 depends on ARCH_MXC || COMPILE_TEST 41 depends on HAS_IOMEM 42 help 43 This is a driver for the On-Chip OTP Controller (OCOTP) available on 44 i.MX6 SoCs, providing access to 4 Kbits of one-time programmable 45 eFuses. 46 47 This driver can also be built as a module. If so, the module 48 will be called nvmem-imx-ocotp. 49 50config NVMEM_LPC18XX_EEPROM 51 tristate "NXP LPC18XX EEPROM Memory Support" 52 depends on ARCH_LPC18XX || COMPILE_TEST 53 depends on HAS_IOMEM 54 help 55 Say Y here to include support for NXP LPC18xx EEPROM memory found in 56 NXP LPC185x/3x and LPC435x/3x/2x/1x devices. 57 To compile this driver as a module, choose M here: the module 58 will be called nvmem_lpc18xx_eeprom. 59 60config NVMEM_LPC18XX_OTP 61 tristate "NXP LPC18XX OTP Memory Support" 62 depends on ARCH_LPC18XX || COMPILE_TEST 63 depends on HAS_IOMEM 64 help 65 Say Y here to include support for NXP LPC18xx OTP memory found on 66 all LPC18xx and LPC43xx devices. 67 To compile this driver as a module, choose M here: the module 68 will be called nvmem_lpc18xx_otp. 69 70config NVMEM_MXS_OCOTP 71 tristate "Freescale MXS On-Chip OTP Memory Support" 72 depends on ARCH_MXS || COMPILE_TEST 73 depends on HAS_IOMEM 74 help 75 If you say Y here, you will get readonly access to the 76 One Time Programmable memory pages that are stored 77 on the Freescale i.MX23/i.MX28 processor. 78 79 This driver can also be built as a module. If so, the module 80 will be called nvmem-mxs-ocotp. 81 82config MTK_EFUSE 83 tristate "Mediatek SoCs EFUSE support" 84 depends on ARCH_MEDIATEK || COMPILE_TEST 85 depends on HAS_IOMEM 86 help 87 This is a driver to access hardware related data like sensor 88 calibration, HDMI impedance etc. 89 90 This driver can also be built as a module. If so, the module 91 will be called efuse-mtk. 92 93config QCOM_QFPROM 94 tristate "QCOM QFPROM Support" 95 depends on ARCH_QCOM || COMPILE_TEST 96 depends on HAS_IOMEM 97 help 98 Say y here to enable QFPROM support. The QFPROM provides access 99 functions for QFPROM data to rest of the drivers via nvmem interface. 100 101 This driver can also be built as a module. If so, the module 102 will be called nvmem_qfprom. 103 104config ROCKCHIP_EFUSE 105 tristate "Rockchip eFuse Support" 106 depends on ARCH_ROCKCHIP || COMPILE_TEST 107 depends on HAS_IOMEM 108 help 109 This is a simple drive to dump specified values of Rockchip SoC 110 from eFuse, such as cpu-leakage. 111 112 This driver can also be built as a module. If so, the module 113 will be called nvmem_rockchip_efuse. 114 115config NVMEM_BCM_OCOTP 116 tristate "Broadcom On-Chip OTP Controller support" 117 depends on ARCH_BCM_IPROC || COMPILE_TEST 118 depends on HAS_IOMEM 119 default ARCH_BCM_IPROC 120 help 121 Say y here to enable read/write access to the Broadcom OTP 122 controller. 123 124 This driver can also be built as a module. If so, the module 125 will be called nvmem-bcm-ocotp. 126 127config NVMEM_STM32_ROMEM 128 tristate "STMicroelectronics STM32 factory-programmed memory support" 129 depends on ARCH_STM32 || COMPILE_TEST 130 help 131 Say y here to enable read-only access for STMicroelectronics STM32 132 factory-programmed memory area. 133 134 This driver can also be built as a module. If so, the module 135 will be called nvmem-stm32-romem. 136 137config NVMEM_SUNXI_SID 138 tristate "Allwinner SoCs SID support" 139 depends on ARCH_SUNXI 140 help 141 This is a driver for the 'security ID' available on various Allwinner 142 devices. 143 144 This driver can also be built as a module. If so, the module 145 will be called nvmem_sunxi_sid. 146 147config UNIPHIER_EFUSE 148 tristate "UniPhier SoCs eFuse support" 149 depends on ARCH_UNIPHIER || COMPILE_TEST 150 depends on HAS_IOMEM 151 help 152 This is a simple driver to dump specified values of UniPhier SoC 153 from eFuse. 154 155 This driver can also be built as a module. If so, the module 156 will be called nvmem-uniphier-efuse. 157 158config NVMEM_VF610_OCOTP 159 tristate "VF610 SoC OCOTP support" 160 depends on SOC_VF610 || COMPILE_TEST 161 depends on HAS_IOMEM 162 help 163 This is a driver for the 'OCOTP' peripheral available on Vybrid 164 devices like VF5xx and VF6xx. 165 166 This driver can also be build as a module. If so, the module will 167 be called nvmem-vf610-ocotp. 168 169config MESON_EFUSE 170 tristate "Amlogic Meson GX eFuse Support" 171 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM 172 help 173 This is a driver to retrieve specific values from the eFuse found on 174 the Amlogic Meson GX SoCs. 175 176 This driver can also be built as a module. If so, the module 177 will be called nvmem_meson_efuse. 178 179config MESON_MX_EFUSE 180 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" 181 depends on ARCH_MESON || COMPILE_TEST 182 help 183 This is a driver to retrieve specific values from the eFuse found on 184 the Amlogic Meson6, Meson8 and Meson8b SoCs. 185 186 This driver can also be built as a module. If so, the module 187 will be called nvmem_meson_mx_efuse. 188 189config NVMEM_SNVS_LPGPR 190 tristate "Support for Low Power General Purpose Register" 191 depends on SOC_IMX6 || SOC_IMX7D || COMPILE_TEST 192 help 193 This is a driver for Low Power General Purpose Register (LPGPR) available on 194 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. 195 196 This driver can also be built as a module. If so, the module 197 will be called nvmem-snvs-lpgpr. 198 199config RAVE_SP_EEPROM 200 tristate "Rave SP EEPROM Support" 201 depends on RAVE_SP_CORE 202 help 203 Say y here to enable Rave SP EEPROM support. 204 205config SC27XX_EFUSE 206 tristate "Spreadtrum SC27XX eFuse Support" 207 depends on MFD_SC27XX_PMIC || COMPILE_TEST 208 depends on HAS_IOMEM 209 help 210 This is a simple driver to dump specified values of Spreadtrum 211 SC27XX PMICs from eFuse. 212 213 This driver can also be built as a module. If so, the module 214 will be called nvmem-sc27xx-efuse. 215 216config NVMEM_ZYNQMP 217 bool "Xilinx ZYNQMP SoC nvmem firmware support" 218 depends on ARCH_ZYNQMP 219 help 220 This is a driver to access hardware related data like 221 soc revision, IDCODE... etc by using the firmware 222 interface. 223 224 If sure, say yes. If unsure, say no. 225 226endif 227