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 | |
Emmanuel Gil Peyrot | 3683b76 | 2021-08-10 16:30:36 +0100 | [diff] [blame] | 110 | config NVMEM_NINTENDO_OTP |
| 111 | tristate "Nintendo Wii and Wii U OTP Support" |
Geert Uytterhoeven | 7af526c | 2021-09-14 11:29:49 +0200 | [diff] [blame] | 112 | depends on WII || COMPILE_TEST |
Emmanuel Gil Peyrot | 3683b76 | 2021-08-10 16:30:36 +0100 | [diff] [blame] | 113 | help |
| 114 | This is a driver exposing the OTP of a Nintendo Wii or Wii U console. |
| 115 | |
| 116 | This memory contains common and per-console keys, signatures and |
| 117 | related data required to access peripherals. |
| 118 | |
| 119 | This driver can also be built as a module. If so, the module |
| 120 | will be called nvmem-nintendo-otp. |
| 121 | |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 122 | config QCOM_QFPROM |
| 123 | tristate "QCOM QFPROM Support" |
| 124 | depends on ARCH_QCOM || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 125 | depends on HAS_IOMEM |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 126 | help |
| 127 | Say y here to enable QFPROM support. The QFPROM provides access |
| 128 | functions for QFPROM data to rest of the drivers via nvmem interface. |
| 129 | |
| 130 | This driver can also be built as a module. If so, the module |
| 131 | will be called nvmem_qfprom. |
| 132 | |
Anirudh Ghayal | 40ce979 | 2020-01-16 16:11:00 +0000 | [diff] [blame] | 133 | config NVMEM_SPMI_SDAM |
| 134 | tristate "SPMI SDAM Support" |
| 135 | depends on SPMI |
| 136 | help |
| 137 | This driver supports the Shared Direct Access Memory Module on |
| 138 | Qualcomm Technologies, Inc. PMICs. It provides the clients |
| 139 | an interface to read/write to the SDAM module's shared memory. |
| 140 | |
ZhengShunQian | 03a6956 | 2015-09-30 13:56:44 +0100 | [diff] [blame] | 141 | config ROCKCHIP_EFUSE |
| 142 | tristate "Rockchip eFuse Support" |
| 143 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 144 | depends on HAS_IOMEM |
ZhengShunQian | 03a6956 | 2015-09-30 13:56:44 +0100 | [diff] [blame] | 145 | help |
| 146 | This is a simple drive to dump specified values of Rockchip SoC |
| 147 | from eFuse, such as cpu-leakage. |
| 148 | |
| 149 | This driver can also be built as a module. If so, the module |
| 150 | will be called nvmem_rockchip_efuse. |
| 151 | |
Finley Xiao | 755864f | 2019-10-29 11:42:40 +0000 | [diff] [blame] | 152 | config ROCKCHIP_OTP |
| 153 | tristate "Rockchip OTP controller support" |
| 154 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
| 155 | depends on HAS_IOMEM |
| 156 | help |
| 157 | This is a simple drive to dump specified values of Rockchip SoC |
| 158 | from otp, such as cpu-leakage. |
| 159 | |
| 160 | This driver can also be built as a module. If so, the module |
| 161 | will be called nvmem_rockchip_otp. |
| 162 | |
Jonathan Richardson | 9d59c6e | 2016-10-31 14:45:19 +0000 | [diff] [blame] | 163 | config NVMEM_BCM_OCOTP |
| 164 | tristate "Broadcom On-Chip OTP Controller support" |
| 165 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
| 166 | depends on HAS_IOMEM |
| 167 | default ARCH_BCM_IPROC |
| 168 | help |
| 169 | Say y here to enable read/write access to the Broadcom OTP |
| 170 | controller. |
| 171 | |
| 172 | This driver can also be built as a module. If so, the module |
| 173 | will be called nvmem-bcm-ocotp. |
| 174 | |
Fabrice Gasnier | ded1b7f | 2019-04-13 11:32:55 +0100 | [diff] [blame] | 175 | config NVMEM_STM32_ROMEM |
| 176 | tristate "STMicroelectronics STM32 factory-programmed memory support" |
| 177 | depends on ARCH_STM32 || COMPILE_TEST |
| 178 | help |
| 179 | Say y here to enable read-only access for STMicroelectronics STM32 |
| 180 | factory-programmed memory area. |
| 181 | |
| 182 | This driver can also be built as a module. If so, the module |
| 183 | will be called nvmem-stm32-romem. |
| 184 | |
Maxime Ripard | 3d0b16a | 2015-07-27 12:17:09 +0100 | [diff] [blame] | 185 | config NVMEM_SUNXI_SID |
| 186 | tristate "Allwinner SoCs SID support" |
| 187 | depends on ARCH_SUNXI |
Maxime Ripard | 3d0b16a | 2015-07-27 12:17:09 +0100 | [diff] [blame] | 188 | help |
| 189 | This is a driver for the 'security ID' available on various Allwinner |
| 190 | devices. |
| 191 | |
| 192 | This driver can also be built as a module. If so, the module |
| 193 | will be called nvmem_sunxi_sid. |
| 194 | |
Keiji Hayashibara | 71c5dd5 | 2017-10-24 10:54:26 +0100 | [diff] [blame] | 195 | config UNIPHIER_EFUSE |
| 196 | tristate "UniPhier SoCs eFuse support" |
| 197 | depends on ARCH_UNIPHIER || COMPILE_TEST |
| 198 | depends on HAS_IOMEM |
| 199 | help |
| 200 | This is a simple driver to dump specified values of UniPhier SoC |
| 201 | from eFuse. |
| 202 | |
| 203 | This driver can also be built as a module. If so, the module |
| 204 | will be called nvmem-uniphier-efuse. |
| 205 | |
Sanchayan Maity | 22dbdb7 | 2015-09-30 13:54:59 +0100 | [diff] [blame] | 206 | config NVMEM_VF610_OCOTP |
| 207 | tristate "VF610 SoC OCOTP support" |
| 208 | depends on SOC_VF610 || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 209 | depends on HAS_IOMEM |
Sanchayan Maity | 22dbdb7 | 2015-09-30 13:54:59 +0100 | [diff] [blame] | 210 | help |
| 211 | This is a driver for the 'OCOTP' peripheral available on Vybrid |
| 212 | devices like VF5xx and VF6xx. |
| 213 | |
| 214 | This driver can also be build as a module. If so, the module will |
| 215 | be called nvmem-vf610-ocotp. |
| 216 | |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 217 | config MESON_EFUSE |
Martin Blumenstingl | 9593ad3 | 2017-10-09 15:26:40 +0200 | [diff] [blame] | 218 | tristate "Amlogic Meson GX eFuse Support" |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 219 | depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM |
| 220 | help |
| 221 | 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] | 222 | the Amlogic Meson GX SoCs. |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 223 | |
| 224 | This driver can also be built as a module. If so, the module |
| 225 | will be called nvmem_meson_efuse. |
| 226 | |
Martin Blumenstingl | 8caef1f | 2017-10-09 15:26:41 +0200 | [diff] [blame] | 227 | config MESON_MX_EFUSE |
| 228 | tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" |
| 229 | depends on ARCH_MESON || COMPILE_TEST |
| 230 | help |
| 231 | This is a driver to retrieve specific values from the eFuse found on |
| 232 | the Amlogic Meson6, Meson8 and Meson8b SoCs. |
| 233 | |
| 234 | This driver can also be built as a module. If so, the module |
| 235 | will be called nvmem_meson_mx_efuse. |
| 236 | |
Oleksij Rempel | 988437a | 2017-09-17 12:33:43 +0200 | [diff] [blame] | 237 | config NVMEM_SNVS_LPGPR |
| 238 | tristate "Support for Low Power General Purpose Register" |
Fabio Estevam | 2d1c193 | 2019-06-14 15:32:20 +0100 | [diff] [blame] | 239 | depends on ARCH_MXC || COMPILE_TEST |
Oleksij Rempel | 988437a | 2017-09-17 12:33:43 +0200 | [diff] [blame] | 240 | help |
| 241 | 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] | 242 | 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] | 243 | |
| 244 | This driver can also be built as a module. If so, the module |
| 245 | will be called nvmem-snvs-lpgpr. |
| 246 | |
Andrey Smirnov | 3b51f47 | 2018-05-11 12:06:58 +0100 | [diff] [blame] | 247 | config RAVE_SP_EEPROM |
| 248 | tristate "Rave SP EEPROM Support" |
| 249 | depends on RAVE_SP_CORE |
| 250 | help |
| 251 | Say y here to enable Rave SP EEPROM support. |
| 252 | |
Freeman Liu | 19c5446 | 2018-07-11 11:20:41 +0100 | [diff] [blame] | 253 | config SC27XX_EFUSE |
| 254 | tristate "Spreadtrum SC27XX eFuse Support" |
| 255 | depends on MFD_SC27XX_PMIC || COMPILE_TEST |
| 256 | depends on HAS_IOMEM |
| 257 | help |
| 258 | This is a simple driver to dump specified values of Spreadtrum |
| 259 | SC27XX PMICs from eFuse. |
| 260 | |
| 261 | This driver can also be built as a module. If so, the module |
| 262 | will be called nvmem-sc27xx-efuse. |
| 263 | |
Nava kishore Manne | 4640fa1 | 2019-02-06 16:37:21 +0530 | [diff] [blame] | 264 | config NVMEM_ZYNQMP |
| 265 | bool "Xilinx ZYNQMP SoC nvmem firmware support" |
| 266 | depends on ARCH_ZYNQMP |
| 267 | help |
| 268 | This is a driver to access hardware related data like |
| 269 | soc revision, IDCODE... etc by using the firmware |
| 270 | interface. |
| 271 | |
| 272 | If sure, say yes. If unsure, say no. |
| 273 | |
Freeman Liu | 096030e | 2019-10-29 11:42:37 +0000 | [diff] [blame] | 274 | config SPRD_EFUSE |
| 275 | tristate "Spreadtrum SoC eFuse Support" |
| 276 | depends on ARCH_SPRD || COMPILE_TEST |
| 277 | depends on HAS_IOMEM |
| 278 | help |
| 279 | This is a simple driver to dump specified values of Spreadtrum |
| 280 | SoCs from eFuse. |
| 281 | |
| 282 | This driver can also be built as a module. If so, the module |
| 283 | will be called nvmem-sprd-efuse. |
| 284 | |
Nicolas Saenz Julienne | 5a3fa75 | 2021-01-29 17:14:29 +0000 | [diff] [blame] | 285 | config NVMEM_RMEM |
| 286 | tristate "Reserved Memory Based Driver Support" |
Srinivas Kandagatla | cc1bc56 | 2021-03-30 12:12:39 +0100 | [diff] [blame] | 287 | depends on HAS_IOMEM |
Nicolas Saenz Julienne | 5a3fa75 | 2021-01-29 17:14:29 +0000 | [diff] [blame] | 288 | help |
Nicolas Saenz Julienne | b31f1eb | 2021-02-05 10:08:52 +0000 | [diff] [blame] | 289 | 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] | 290 | useful to expose information left by firmware in memory. |
| 291 | |
| 292 | This driver can also be built as a module. If so, the module |
| 293 | will be called nvmem-rmem. |
Rafał Miłecki | 3fef9ed | 2021-03-30 12:12:36 +0100 | [diff] [blame] | 294 | |
| 295 | config NVMEM_BRCM_NVRAM |
| 296 | tristate "Broadcom's NVRAM support" |
| 297 | depends on ARCH_BCM_5301X || COMPILE_TEST |
| 298 | depends on HAS_IOMEM |
| 299 | help |
| 300 | This driver provides support for Broadcom's NVRAM that can be accessed |
| 301 | using I/O mapping. |
| 302 | |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 303 | endif |