Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Srinivas Kandagatla | eace75c | 2015-07-27 12:13:19 +0100 | [diff] [blame] | 2 | menuconfig NVMEM |
Arnd Bergmann | 2a37ce2 | 2018-04-04 12:38:40 +0200 | [diff] [blame] | 3 | bool "NVMEM Support" |
Srinivas Kandagatla | eace75c | 2015-07-27 12:13:19 +0100 | [diff] [blame] | 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 | |
Srinivas Kandagatla | eace75c | 2015-07-27 12:13:19 +0100 | [diff] [blame] | 10 | If unsure, say no. |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 11 | |
| 12 | if NVMEM |
| 13 | |
Srinivas Kandagatla | ae0c2d7 | 2019-04-16 10:59:24 +0100 | [diff] [blame] | 14 | config NVMEM_SYSFS |
| 15 | bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)" |
| 16 | depends on SYSFS |
| 17 | default y |
| 18 | help |
| 19 | Say Y here to add a sysfs interface for NVMEM. |
| 20 | |
| 21 | This interface is mostly used by userspace applications to |
| 22 | read/write directly into nvmem. |
| 23 | |
Michael Grzeschik | c066c1c | 2017-03-31 13:44:50 +0100 | [diff] [blame] | 24 | config NVMEM_IMX_IIM |
| 25 | tristate "i.MX IC Identification Module support" |
| 26 | depends on ARCH_MXC || COMPILE_TEST |
| 27 | help |
| 28 | This is a driver for the IC Identification Module (IIM) available on |
| 29 | i.MX SoCs, providing access to 4 Kbits of programmable |
| 30 | eFuses. |
| 31 | |
| 32 | This driver can also be built as a module. If so, the module |
| 33 | will be called nvmem-imx-iim. |
| 34 | |
Philipp Zabel | 3edba6b | 2015-09-30 13:55:47 +0100 | [diff] [blame] | 35 | config NVMEM_IMX_OCOTP |
Lucas Stach | dd4c104 | 2019-04-13 11:32:48 +0100 | [diff] [blame] | 36 | tristate "i.MX 6/7/8 On-Chip OTP Controller support" |
| 37 | depends on ARCH_MXC || COMPILE_TEST |
Srinivas Kandagatla | 63c0c07 | 2016-06-02 12:19:43 +0100 | [diff] [blame] | 38 | depends on HAS_IOMEM |
Philipp Zabel | 3edba6b | 2015-09-30 13:55:47 +0100 | [diff] [blame] | 39 | help |
| 40 | This is a driver for the On-Chip OTP Controller (OCOTP) available on |
| 41 | i.MX6 SoCs, providing access to 4 Kbits of one-time programmable |
| 42 | eFuses. |
| 43 | |
| 44 | This driver can also be built as a module. If so, the module |
| 45 | will be called nvmem-imx-ocotp. |
| 46 | |
Peng Fan | 67ff708 | 2019-06-14 15:32:19 +0100 | [diff] [blame] | 47 | config NVMEM_IMX_OCOTP_SCU |
| 48 | tristate "i.MX8 SCU On-Chip OTP Controller support" |
| 49 | depends on IMX_SCU |
Srinivas Kandagatla | b210fac | 2019-10-29 11:42:38 +0000 | [diff] [blame] | 50 | depends on HAVE_ARM_SMCCC |
Peng Fan | 67ff708 | 2019-06-14 15:32:19 +0100 | [diff] [blame] | 51 | help |
| 52 | This is a driver for the SCU On-Chip OTP Controller (OCOTP) |
| 53 | available on i.MX8 SoCs. |
| 54 | |
PrasannaKumar Muralidharan | 4a2addc | 2020-03-10 13:22:55 +0000 | [diff] [blame] | 55 | config JZ4780_EFUSE |
| 56 | tristate "JZ4780 EFUSE Memory Support" |
| 57 | depends on MACH_INGENIC || COMPILE_TEST |
| 58 | depends on HAS_IOMEM |
| 59 | depends on OF |
| 60 | select REGMAP_MMIO |
| 61 | help |
| 62 | Say Y here to include support for JZ4780 efuse memory found on |
| 63 | all JZ4780 SoC based devices. |
| 64 | To compile this driver as a module, choose M here: the module |
| 65 | will be called nvmem_jz4780_efuse. |
| 66 | |
Ariel D'Alessandro | f02f8ae | 2015-12-07 10:57:39 +0000 | [diff] [blame] | 67 | config NVMEM_LPC18XX_EEPROM |
| 68 | tristate "NXP LPC18XX EEPROM Memory Support" |
| 69 | depends on ARCH_LPC18XX || COMPILE_TEST |
Krzysztof Kozlowski | 2ce7aed | 2016-03-31 11:07:03 +0100 | [diff] [blame] | 70 | depends on HAS_IOMEM |
Ariel D'Alessandro | f02f8ae | 2015-12-07 10:57:39 +0000 | [diff] [blame] | 71 | help |
| 72 | Say Y here to include support for NXP LPC18xx EEPROM memory found in |
| 73 | NXP LPC185x/3x and LPC435x/3x/2x/1x devices. |
| 74 | To compile this driver as a module, choose M here: the module |
| 75 | will be called nvmem_lpc18xx_eeprom. |
| 76 | |
Joachim Eastwood | 88806daf | 2016-10-31 14:45:16 +0000 | [diff] [blame] | 77 | config NVMEM_LPC18XX_OTP |
| 78 | tristate "NXP LPC18XX OTP Memory Support" |
| 79 | depends on ARCH_LPC18XX || COMPILE_TEST |
| 80 | depends on HAS_IOMEM |
| 81 | help |
| 82 | Say Y here to include support for NXP LPC18xx OTP memory found on |
| 83 | all LPC18xx and LPC43xx devices. |
| 84 | To compile this driver as a module, choose M here: the module |
| 85 | will be called nvmem_lpc18xx_otp. |
| 86 | |
Stefan Wahren | c01e9a1 | 2015-09-30 13:56:27 +0100 | [diff] [blame] | 87 | config NVMEM_MXS_OCOTP |
| 88 | tristate "Freescale MXS On-Chip OTP Memory Support" |
| 89 | depends on ARCH_MXS || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 90 | depends on HAS_IOMEM |
Stefan Wahren | c01e9a1 | 2015-09-30 13:56:27 +0100 | [diff] [blame] | 91 | help |
| 92 | If you say Y here, you will get readonly access to the |
| 93 | One Time Programmable memory pages that are stored |
| 94 | on the Freescale i.MX23/i.MX28 processor. |
| 95 | |
| 96 | This driver can also be built as a module. If so, the module |
| 97 | will be called nvmem-mxs-ocotp. |
| 98 | |
Andrew-CT Chen | 4c7e4fe | 2015-12-07 10:58:11 +0000 | [diff] [blame] | 99 | config MTK_EFUSE |
| 100 | tristate "Mediatek SoCs EFUSE support" |
| 101 | depends on ARCH_MEDIATEK || COMPILE_TEST |
Krzysztof Kozlowski | 2ce7aed | 2016-03-31 11:07:03 +0100 | [diff] [blame] | 102 | depends on HAS_IOMEM |
Andrew-CT Chen | 4c7e4fe | 2015-12-07 10:58:11 +0000 | [diff] [blame] | 103 | help |
| 104 | This is a driver to access hardware related data like sensor |
| 105 | calibration, HDMI impedance etc. |
| 106 | |
| 107 | This driver can also be built as a module. If so, the module |
| 108 | will be called efuse-mtk. |
| 109 | |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 110 | config QCOM_QFPROM |
| 111 | tristate "QCOM QFPROM Support" |
| 112 | depends on ARCH_QCOM || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 113 | depends on HAS_IOMEM |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 114 | help |
| 115 | Say y here to enable QFPROM support. The QFPROM provides access |
| 116 | functions for QFPROM data to rest of the drivers via nvmem interface. |
| 117 | |
| 118 | This driver can also be built as a module. If so, the module |
| 119 | will be called nvmem_qfprom. |
| 120 | |
Anirudh Ghayal | 40ce979 | 2020-01-16 16:11:00 +0000 | [diff] [blame] | 121 | config NVMEM_SPMI_SDAM |
| 122 | tristate "SPMI SDAM Support" |
| 123 | depends on SPMI |
| 124 | help |
| 125 | This driver supports the Shared Direct Access Memory Module on |
| 126 | Qualcomm Technologies, Inc. PMICs. It provides the clients |
| 127 | an interface to read/write to the SDAM module's shared memory. |
| 128 | |
ZhengShunQian | 03a6956 | 2015-09-30 13:56:44 +0100 | [diff] [blame] | 129 | config ROCKCHIP_EFUSE |
| 130 | tristate "Rockchip eFuse Support" |
| 131 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 132 | depends on HAS_IOMEM |
ZhengShunQian | 03a6956 | 2015-09-30 13:56:44 +0100 | [diff] [blame] | 133 | help |
| 134 | This is a simple drive to dump specified values of Rockchip SoC |
| 135 | from eFuse, such as cpu-leakage. |
| 136 | |
| 137 | This driver can also be built as a module. If so, the module |
| 138 | will be called nvmem_rockchip_efuse. |
| 139 | |
Finley Xiao | 755864f | 2019-10-29 11:42:40 +0000 | [diff] [blame] | 140 | config ROCKCHIP_OTP |
| 141 | tristate "Rockchip OTP controller support" |
| 142 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
| 143 | depends on HAS_IOMEM |
| 144 | help |
| 145 | This is a simple drive to dump specified values of Rockchip SoC |
| 146 | from otp, such as cpu-leakage. |
| 147 | |
| 148 | This driver can also be built as a module. If so, the module |
| 149 | will be called nvmem_rockchip_otp. |
| 150 | |
Jonathan Richardson | 9d59c6e | 2016-10-31 14:45:19 +0000 | [diff] [blame] | 151 | config NVMEM_BCM_OCOTP |
| 152 | tristate "Broadcom On-Chip OTP Controller support" |
| 153 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
| 154 | depends on HAS_IOMEM |
| 155 | default ARCH_BCM_IPROC |
| 156 | help |
| 157 | Say y here to enable read/write access to the Broadcom OTP |
| 158 | controller. |
| 159 | |
| 160 | This driver can also be built as a module. If so, the module |
| 161 | will be called nvmem-bcm-ocotp. |
| 162 | |
Fabrice Gasnier | ded1b7f | 2019-04-13 11:32:55 +0100 | [diff] [blame] | 163 | config NVMEM_STM32_ROMEM |
| 164 | tristate "STMicroelectronics STM32 factory-programmed memory support" |
| 165 | depends on ARCH_STM32 || COMPILE_TEST |
| 166 | help |
| 167 | Say y here to enable read-only access for STMicroelectronics STM32 |
| 168 | factory-programmed memory area. |
| 169 | |
| 170 | This driver can also be built as a module. If so, the module |
| 171 | will be called nvmem-stm32-romem. |
| 172 | |
Maxime Ripard | 3d0b16a | 2015-07-27 12:17:09 +0100 | [diff] [blame] | 173 | config NVMEM_SUNXI_SID |
| 174 | tristate "Allwinner SoCs SID support" |
| 175 | depends on ARCH_SUNXI |
Maxime Ripard | 3d0b16a | 2015-07-27 12:17:09 +0100 | [diff] [blame] | 176 | help |
| 177 | This is a driver for the 'security ID' available on various Allwinner |
| 178 | devices. |
| 179 | |
| 180 | This driver can also be built as a module. If so, the module |
| 181 | will be called nvmem_sunxi_sid. |
| 182 | |
Keiji Hayashibara | 71c5dd5 | 2017-10-24 10:54:26 +0100 | [diff] [blame] | 183 | config UNIPHIER_EFUSE |
| 184 | tristate "UniPhier SoCs eFuse support" |
| 185 | depends on ARCH_UNIPHIER || COMPILE_TEST |
| 186 | depends on HAS_IOMEM |
| 187 | help |
| 188 | This is a simple driver to dump specified values of UniPhier SoC |
| 189 | from eFuse. |
| 190 | |
| 191 | This driver can also be built as a module. If so, the module |
| 192 | will be called nvmem-uniphier-efuse. |
| 193 | |
Sanchayan Maity | 22dbdb7 | 2015-09-30 13:54:59 +0100 | [diff] [blame] | 194 | config NVMEM_VF610_OCOTP |
| 195 | tristate "VF610 SoC OCOTP support" |
| 196 | depends on SOC_VF610 || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 197 | depends on HAS_IOMEM |
Sanchayan Maity | 22dbdb7 | 2015-09-30 13:54:59 +0100 | [diff] [blame] | 198 | help |
| 199 | This is a driver for the 'OCOTP' peripheral available on Vybrid |
| 200 | devices like VF5xx and VF6xx. |
| 201 | |
| 202 | This driver can also be build as a module. If so, the module will |
| 203 | be called nvmem-vf610-ocotp. |
| 204 | |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 205 | config MESON_EFUSE |
Martin Blumenstingl | 9593ad3 | 2017-10-09 15:26:40 +0200 | [diff] [blame] | 206 | tristate "Amlogic Meson GX eFuse Support" |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 207 | depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM |
| 208 | help |
| 209 | This is a driver to retrieve specific values from the eFuse found on |
Martin Blumenstingl | 9593ad3 | 2017-10-09 15:26:40 +0200 | [diff] [blame] | 210 | the Amlogic Meson GX SoCs. |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 211 | |
| 212 | This driver can also be built as a module. If so, the module |
| 213 | will be called nvmem_meson_efuse. |
| 214 | |
Martin Blumenstingl | 8caef1f | 2017-10-09 15:26:41 +0200 | [diff] [blame] | 215 | config MESON_MX_EFUSE |
| 216 | tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" |
| 217 | depends on ARCH_MESON || COMPILE_TEST |
| 218 | help |
| 219 | This is a driver to retrieve specific values from the eFuse found on |
| 220 | the Amlogic Meson6, Meson8 and Meson8b SoCs. |
| 221 | |
| 222 | This driver can also be built as a module. If so, the module |
| 223 | will be called nvmem_meson_mx_efuse. |
| 224 | |
Oleksij Rempel | 988437a | 2017-09-17 12:33:43 +0200 | [diff] [blame] | 225 | config NVMEM_SNVS_LPGPR |
| 226 | tristate "Support for Low Power General Purpose Register" |
Fabio Estevam | 2d1c193 | 2019-06-14 15:32:20 +0100 | [diff] [blame] | 227 | depends on ARCH_MXC || COMPILE_TEST |
Oleksij Rempel | 988437a | 2017-09-17 12:33:43 +0200 | [diff] [blame] | 228 | help |
| 229 | This is a driver for Low Power General Purpose Register (LPGPR) available on |
Andrey Yurovsky | 80b820c | 2018-03-09 14:47:16 +0000 | [diff] [blame] | 230 | i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. |
Oleksij Rempel | 988437a | 2017-09-17 12:33:43 +0200 | [diff] [blame] | 231 | |
| 232 | This driver can also be built as a module. If so, the module |
| 233 | will be called nvmem-snvs-lpgpr. |
| 234 | |
Andrey Smirnov | 3b51f47 | 2018-05-11 12:06:58 +0100 | [diff] [blame] | 235 | config RAVE_SP_EEPROM |
| 236 | tristate "Rave SP EEPROM Support" |
| 237 | depends on RAVE_SP_CORE |
| 238 | help |
| 239 | Say y here to enable Rave SP EEPROM support. |
| 240 | |
Freeman Liu | 19c5446 | 2018-07-11 11:20:41 +0100 | [diff] [blame] | 241 | config SC27XX_EFUSE |
| 242 | tristate "Spreadtrum SC27XX eFuse Support" |
| 243 | depends on MFD_SC27XX_PMIC || COMPILE_TEST |
| 244 | depends on HAS_IOMEM |
| 245 | help |
| 246 | This is a simple driver to dump specified values of Spreadtrum |
| 247 | SC27XX PMICs from eFuse. |
| 248 | |
| 249 | This driver can also be built as a module. If so, the module |
| 250 | will be called nvmem-sc27xx-efuse. |
| 251 | |
Nava kishore Manne | 4640fa1 | 2019-02-06 16:37:21 +0530 | [diff] [blame] | 252 | config NVMEM_ZYNQMP |
| 253 | bool "Xilinx ZYNQMP SoC nvmem firmware support" |
| 254 | depends on ARCH_ZYNQMP |
| 255 | help |
| 256 | This is a driver to access hardware related data like |
| 257 | soc revision, IDCODE... etc by using the firmware |
| 258 | interface. |
| 259 | |
| 260 | If sure, say yes. If unsure, say no. |
| 261 | |
Freeman Liu | 096030e | 2019-10-29 11:42:37 +0000 | [diff] [blame] | 262 | config SPRD_EFUSE |
| 263 | tristate "Spreadtrum SoC eFuse Support" |
| 264 | depends on ARCH_SPRD || COMPILE_TEST |
| 265 | depends on HAS_IOMEM |
| 266 | help |
| 267 | This is a simple driver to dump specified values of Spreadtrum |
| 268 | SoCs from eFuse. |
| 269 | |
| 270 | This driver can also be built as a module. If so, the module |
| 271 | will be called nvmem-sprd-efuse. |
| 272 | |
Nicolas Saenz Julienne | 5a3fa75 | 2021-01-29 17:14:29 +0000 | [diff] [blame] | 273 | config NVMEM_RMEM |
| 274 | tristate "Reserved Memory Based Driver Support" |
Srinivas Kandagatla | cc1bc56 | 2021-03-30 12:12:39 +0100 | [diff] [blame^] | 275 | depends on HAS_IOMEM |
Nicolas Saenz Julienne | 5a3fa75 | 2021-01-29 17:14:29 +0000 | [diff] [blame] | 276 | help |
Nicolas Saenz Julienne | b31f1eb | 2021-02-05 10:08:52 +0000 | [diff] [blame] | 277 | This driver maps reserved memory into an nvmem device. It might be |
Nicolas Saenz Julienne | 5a3fa75 | 2021-01-29 17:14:29 +0000 | [diff] [blame] | 278 | useful to expose information left by firmware in memory. |
| 279 | |
| 280 | This driver can also be built as a module. If so, the module |
| 281 | will be called nvmem-rmem. |
Rafał Miłecki | 3fef9ed | 2021-03-30 12:12:36 +0100 | [diff] [blame] | 282 | |
| 283 | config NVMEM_BRCM_NVRAM |
| 284 | tristate "Broadcom's NVRAM support" |
| 285 | depends on ARCH_BCM_5301X || COMPILE_TEST |
| 286 | depends on HAS_IOMEM |
| 287 | help |
| 288 | This driver provides support for Broadcom's NVRAM that can be accessed |
| 289 | using I/O mapping. |
| 290 | |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 291 | endif |