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 ROCKCHIP_EFUSE 113 tristate "Rockchip eFuse Support" 114 depends on ARCH_ROCKCHIP || COMPILE_TEST 115 depends on HAS_IOMEM 116 help 117 This is a simple drive to dump specified values of Rockchip SoC 118 from eFuse, such as cpu-leakage. 119 120 This driver can also be built as a module. If so, the module 121 will be called nvmem_rockchip_efuse. 122 123config ROCKCHIP_OTP 124 tristate "Rockchip OTP controller support" 125 depends on ARCH_ROCKCHIP || COMPILE_TEST 126 depends on HAS_IOMEM 127 help 128 This is a simple drive to dump specified values of Rockchip SoC 129 from otp, such as cpu-leakage. 130 131 This driver can also be built as a module. If so, the module 132 will be called nvmem_rockchip_otp. 133 134config NVMEM_BCM_OCOTP 135 tristate "Broadcom On-Chip OTP Controller support" 136 depends on ARCH_BCM_IPROC || COMPILE_TEST 137 depends on HAS_IOMEM 138 default ARCH_BCM_IPROC 139 help 140 Say y here to enable read/write access to the Broadcom OTP 141 controller. 142 143 This driver can also be built as a module. If so, the module 144 will be called nvmem-bcm-ocotp. 145 146config NVMEM_STM32_ROMEM 147 tristate "STMicroelectronics STM32 factory-programmed memory support" 148 depends on ARCH_STM32 || COMPILE_TEST 149 help 150 Say y here to enable read-only access for STMicroelectronics STM32 151 factory-programmed memory area. 152 153 This driver can also be built as a module. If so, the module 154 will be called nvmem-stm32-romem. 155 156config NVMEM_SUNXI_SID 157 tristate "Allwinner SoCs SID support" 158 depends on ARCH_SUNXI 159 help 160 This is a driver for the 'security ID' available on various Allwinner 161 devices. 162 163 This driver can also be built as a module. If so, the module 164 will be called nvmem_sunxi_sid. 165 166config UNIPHIER_EFUSE 167 tristate "UniPhier SoCs eFuse support" 168 depends on ARCH_UNIPHIER || COMPILE_TEST 169 depends on HAS_IOMEM 170 help 171 This is a simple driver to dump specified values of UniPhier SoC 172 from eFuse. 173 174 This driver can also be built as a module. If so, the module 175 will be called nvmem-uniphier-efuse. 176 177config NVMEM_VF610_OCOTP 178 tristate "VF610 SoC OCOTP support" 179 depends on SOC_VF610 || COMPILE_TEST 180 depends on HAS_IOMEM 181 help 182 This is a driver for the 'OCOTP' peripheral available on Vybrid 183 devices like VF5xx and VF6xx. 184 185 This driver can also be build as a module. If so, the module will 186 be called nvmem-vf610-ocotp. 187 188config MESON_EFUSE 189 tristate "Amlogic Meson GX eFuse Support" 190 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM 191 help 192 This is a driver to retrieve specific values from the eFuse found on 193 the Amlogic Meson GX SoCs. 194 195 This driver can also be built as a module. If so, the module 196 will be called nvmem_meson_efuse. 197 198config MESON_MX_EFUSE 199 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" 200 depends on ARCH_MESON || COMPILE_TEST 201 help 202 This is a driver to retrieve specific values from the eFuse found on 203 the Amlogic Meson6, Meson8 and Meson8b SoCs. 204 205 This driver can also be built as a module. If so, the module 206 will be called nvmem_meson_mx_efuse. 207 208config NVMEM_SNVS_LPGPR 209 tristate "Support for Low Power General Purpose Register" 210 depends on ARCH_MXC || COMPILE_TEST 211 help 212 This is a driver for Low Power General Purpose Register (LPGPR) available on 213 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. 214 215 This driver can also be built as a module. If so, the module 216 will be called nvmem-snvs-lpgpr. 217 218config RAVE_SP_EEPROM 219 tristate "Rave SP EEPROM Support" 220 depends on RAVE_SP_CORE 221 help 222 Say y here to enable Rave SP EEPROM support. 223 224config SC27XX_EFUSE 225 tristate "Spreadtrum SC27XX eFuse Support" 226 depends on MFD_SC27XX_PMIC || COMPILE_TEST 227 depends on HAS_IOMEM 228 help 229 This is a simple driver to dump specified values of Spreadtrum 230 SC27XX PMICs from eFuse. 231 232 This driver can also be built as a module. If so, the module 233 will be called nvmem-sc27xx-efuse. 234 235config NVMEM_ZYNQMP 236 bool "Xilinx ZYNQMP SoC nvmem firmware support" 237 depends on ARCH_ZYNQMP 238 help 239 This is a driver to access hardware related data like 240 soc revision, IDCODE... etc by using the firmware 241 interface. 242 243 If sure, say yes. If unsure, say no. 244 245config SPRD_EFUSE 246 tristate "Spreadtrum SoC eFuse Support" 247 depends on ARCH_SPRD || COMPILE_TEST 248 depends on HAS_IOMEM 249 help 250 This is a simple driver to dump specified values of Spreadtrum 251 SoCs from eFuse. 252 253 This driver can also be built as a module. If so, the module 254 will be called nvmem-sprd-efuse. 255 256endif 257