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_IMX_OCOTP_SCU 51 tristate "i.MX8 SCU On-Chip OTP Controller support" 52 depends on IMX_SCU 53 depends on HAVE_ARM_SMCCC 54 help 55 This is a driver for the SCU On-Chip OTP Controller (OCOTP) 56 available on i.MX8 SoCs. 57 58config JZ4780_EFUSE 59 tristate "JZ4780 EFUSE Memory Support" 60 depends on MACH_INGENIC || COMPILE_TEST 61 depends on HAS_IOMEM 62 depends on OF 63 select REGMAP_MMIO 64 help 65 Say Y here to include support for JZ4780 efuse memory found on 66 all JZ4780 SoC based devices. 67 To compile this driver as a module, choose M here: the module 68 will be called nvmem_jz4780_efuse. 69 70config NVMEM_LPC18XX_EEPROM 71 tristate "NXP LPC18XX EEPROM Memory Support" 72 depends on ARCH_LPC18XX || COMPILE_TEST 73 depends on HAS_IOMEM 74 help 75 Say Y here to include support for NXP LPC18xx EEPROM memory found in 76 NXP LPC185x/3x and LPC435x/3x/2x/1x devices. 77 To compile this driver as a module, choose M here: the module 78 will be called nvmem_lpc18xx_eeprom. 79 80config NVMEM_LPC18XX_OTP 81 tristate "NXP LPC18XX OTP Memory Support" 82 depends on ARCH_LPC18XX || COMPILE_TEST 83 depends on HAS_IOMEM 84 help 85 Say Y here to include support for NXP LPC18xx OTP memory found on 86 all LPC18xx and LPC43xx devices. 87 To compile this driver as a module, choose M here: the module 88 will be called nvmem_lpc18xx_otp. 89 90config NVMEM_MXS_OCOTP 91 tristate "Freescale MXS On-Chip OTP Memory Support" 92 depends on ARCH_MXS || COMPILE_TEST 93 depends on HAS_IOMEM 94 help 95 If you say Y here, you will get readonly access to the 96 One Time Programmable memory pages that are stored 97 on the Freescale i.MX23/i.MX28 processor. 98 99 This driver can also be built as a module. If so, the module 100 will be called nvmem-mxs-ocotp. 101 102config MTK_EFUSE 103 tristate "Mediatek SoCs EFUSE support" 104 depends on ARCH_MEDIATEK || COMPILE_TEST 105 depends on HAS_IOMEM 106 help 107 This is a driver to access hardware related data like sensor 108 calibration, HDMI impedance etc. 109 110 This driver can also be built as a module. If so, the module 111 will be called efuse-mtk. 112 113config QCOM_QFPROM 114 tristate "QCOM QFPROM Support" 115 depends on ARCH_QCOM || COMPILE_TEST 116 depends on HAS_IOMEM 117 help 118 Say y here to enable QFPROM support. The QFPROM provides access 119 functions for QFPROM data to rest of the drivers via nvmem interface. 120 121 This driver can also be built as a module. If so, the module 122 will be called nvmem_qfprom. 123 124config NVMEM_SPMI_SDAM 125 tristate "SPMI SDAM Support" 126 depends on SPMI 127 help 128 This driver supports the Shared Direct Access Memory Module on 129 Qualcomm Technologies, Inc. PMICs. It provides the clients 130 an interface to read/write to the SDAM module's shared memory. 131 132config ROCKCHIP_EFUSE 133 tristate "Rockchip eFuse Support" 134 depends on ARCH_ROCKCHIP || COMPILE_TEST 135 depends on HAS_IOMEM 136 help 137 This is a simple drive to dump specified values of Rockchip SoC 138 from eFuse, such as cpu-leakage. 139 140 This driver can also be built as a module. If so, the module 141 will be called nvmem_rockchip_efuse. 142 143config ROCKCHIP_OTP 144 tristate "Rockchip OTP controller support" 145 depends on ARCH_ROCKCHIP || COMPILE_TEST 146 depends on HAS_IOMEM 147 help 148 This is a simple drive to dump specified values of Rockchip SoC 149 from otp, such as cpu-leakage. 150 151 This driver can also be built as a module. If so, the module 152 will be called nvmem_rockchip_otp. 153 154config NVMEM_BCM_OCOTP 155 tristate "Broadcom On-Chip OTP Controller support" 156 depends on ARCH_BCM_IPROC || COMPILE_TEST 157 depends on HAS_IOMEM 158 default ARCH_BCM_IPROC 159 help 160 Say y here to enable read/write access to the Broadcom OTP 161 controller. 162 163 This driver can also be built as a module. If so, the module 164 will be called nvmem-bcm-ocotp. 165 166config NVMEM_STM32_ROMEM 167 tristate "STMicroelectronics STM32 factory-programmed memory support" 168 depends on ARCH_STM32 || COMPILE_TEST 169 help 170 Say y here to enable read-only access for STMicroelectronics STM32 171 factory-programmed memory area. 172 173 This driver can also be built as a module. If so, the module 174 will be called nvmem-stm32-romem. 175 176config NVMEM_SUNXI_SID 177 tristate "Allwinner SoCs SID support" 178 depends on ARCH_SUNXI 179 help 180 This is a driver for the 'security ID' available on various Allwinner 181 devices. 182 183 This driver can also be built as a module. If so, the module 184 will be called nvmem_sunxi_sid. 185 186config UNIPHIER_EFUSE 187 tristate "UniPhier SoCs eFuse support" 188 depends on ARCH_UNIPHIER || COMPILE_TEST 189 depends on HAS_IOMEM 190 help 191 This is a simple driver to dump specified values of UniPhier SoC 192 from eFuse. 193 194 This driver can also be built as a module. If so, the module 195 will be called nvmem-uniphier-efuse. 196 197config NVMEM_VF610_OCOTP 198 tristate "VF610 SoC OCOTP support" 199 depends on SOC_VF610 || COMPILE_TEST 200 depends on HAS_IOMEM 201 help 202 This is a driver for the 'OCOTP' peripheral available on Vybrid 203 devices like VF5xx and VF6xx. 204 205 This driver can also be build as a module. If so, the module will 206 be called nvmem-vf610-ocotp. 207 208config MESON_EFUSE 209 tristate "Amlogic Meson GX eFuse Support" 210 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM 211 help 212 This is a driver to retrieve specific values from the eFuse found on 213 the Amlogic Meson GX SoCs. 214 215 This driver can also be built as a module. If so, the module 216 will be called nvmem_meson_efuse. 217 218config MESON_MX_EFUSE 219 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" 220 depends on ARCH_MESON || COMPILE_TEST 221 help 222 This is a driver to retrieve specific values from the eFuse found on 223 the Amlogic Meson6, Meson8 and Meson8b SoCs. 224 225 This driver can also be built as a module. If so, the module 226 will be called nvmem_meson_mx_efuse. 227 228config NVMEM_SNVS_LPGPR 229 tristate "Support for Low Power General Purpose Register" 230 depends on ARCH_MXC || COMPILE_TEST 231 help 232 This is a driver for Low Power General Purpose Register (LPGPR) available on 233 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. 234 235 This driver can also be built as a module. If so, the module 236 will be called nvmem-snvs-lpgpr. 237 238config RAVE_SP_EEPROM 239 tristate "Rave SP EEPROM Support" 240 depends on RAVE_SP_CORE 241 help 242 Say y here to enable Rave SP EEPROM support. 243 244config SC27XX_EFUSE 245 tristate "Spreadtrum SC27XX eFuse Support" 246 depends on MFD_SC27XX_PMIC || COMPILE_TEST 247 depends on HAS_IOMEM 248 help 249 This is a simple driver to dump specified values of Spreadtrum 250 SC27XX PMICs from eFuse. 251 252 This driver can also be built as a module. If so, the module 253 will be called nvmem-sc27xx-efuse. 254 255config NVMEM_ZYNQMP 256 bool "Xilinx ZYNQMP SoC nvmem firmware support" 257 depends on ARCH_ZYNQMP 258 help 259 This is a driver to access hardware related data like 260 soc revision, IDCODE... etc by using the firmware 261 interface. 262 263 If sure, say yes. If unsure, say no. 264 265config SPRD_EFUSE 266 tristate "Spreadtrum SoC eFuse Support" 267 depends on ARCH_SPRD || COMPILE_TEST 268 depends on HAS_IOMEM 269 help 270 This is a simple driver to dump specified values of Spreadtrum 271 SoCs from eFuse. 272 273 This driver can also be built as a module. If so, the module 274 will be called nvmem-sprd-efuse. 275 276endif 277