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