| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | menuconfig NVMEM |
| 3 | bool "NVMEM Support" |
| 4 | imply NVMEM_LAYOUTS |
| 5 | help |
| 6 | Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES... |
| 7 | |
| 8 | This framework is designed to provide a generic interface to NVMEM |
| 9 | from both the Linux Kernel and the userspace. |
| 10 | |
| 11 | If unsure, say no. |
| 12 | |
| 13 | if NVMEM |
| 14 | |
| 15 | config NVMEM_SYSFS |
| 16 | bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)" |
| 17 | depends on SYSFS |
| 18 | default y |
| 19 | help |
| 20 | Say Y here to add a sysfs interface for NVMEM. |
| 21 | |
| 22 | This interface is mostly used by userspace applications to |
| 23 | read/write directly into nvmem. |
| 24 | |
| 25 | # Layouts |
| 26 | |
| 27 | source "drivers/nvmem/layouts/Kconfig" |
| 28 | |
| 29 | # Devices |
| 30 | |
| 31 | if NVMEM_SYSFS |
| 32 | |
| 33 | config EEPROM_AT24 |
| 34 | tristate "I2C EEPROMs / RAMs / ROMs from most vendors" |
| 35 | depends on I2C && SYSFS |
| 36 | select REGMAP |
| 37 | select REGMAP_I2C |
| 38 | help |
| 39 | Enable this driver to get read/write support to most I2C EEPROMs |
| 40 | and compatible devices like FRAMs, SRAMs, ROMs etc. After you |
| 41 | configure the driver to know about each chip on your target |
| 42 | board. Use these generic chip names, instead of vendor-specific |
| 43 | ones like at24c64, 24lc02 or fm24c04: |
| 44 | |
| 45 | 24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08, |
| 46 | 24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048 |
| 47 | |
| 48 | Unless you like data loss puzzles, always be sure that any chip |
| 49 | you configure as a 24c32 (32 kbit) or larger is NOT really a |
| 50 | 24c16 (16 kbit) or smaller, and vice versa. Marking the chip |
| 51 | as read-only won't help recover from this. Also, if your chip |
| 52 | has any software write-protect mechanism you may want to review the |
| 53 | code to make sure this driver won't turn it on by accident. |
| 54 | |
| 55 | If you use this with an SMBus adapter instead of an I2C adapter, |
| 56 | full functionality is not available. Only smaller devices are |
| 57 | supported (24c16 and below, max 4 kByte). |
| 58 | |
| 59 | This driver can also be built as a module. If so, the module |
| 60 | will be called at24. |
| 61 | |
| 62 | config EEPROM_AT25 |
| 63 | tristate "SPI EEPROMs (FRAMs) from most vendors" |
| 64 | depends on SPI && SYSFS |
| 65 | select SPI_MEM |
| 66 | help |
| 67 | Enable this driver to get read/write support to most SPI EEPROMs |
| 68 | and Cypress FRAMs, |
| 69 | after you configure the board init code to know about each eeprom |
| 70 | on your target board. |
| 71 | |
| 72 | This driver can also be built as a module. If so, the module |
| 73 | will be called at25. |
| 74 | |
| 75 | config EEPROM_93XX46 |
| 76 | tristate "Microwire EEPROM 93XX46 support" |
| 77 | depends on SPI && SYSFS |
| 78 | select REGMAP |
| 79 | help |
| 80 | Driver for the microwire EEPROM chipsets 93xx46x. The driver |
| 81 | supports both read and write commands and also the command to |
| 82 | erase the whole EEPROM. |
| 83 | |
| 84 | This driver can also be built as a module. If so, the module |
| 85 | will be called eeprom_93xx46. |
| 86 | |
| 87 | If unsure, say N. |
| 88 | |
| 89 | config EEPROM_EE1004 |
| 90 | tristate "SPD EEPROMs on DDR4 memory modules" |
| 91 | depends on I2C && SYSFS |
| 92 | help |
| 93 | Enable this driver to get read support to SPD EEPROMs following |
| 94 | the JEDEC EE1004 standard. These are typically found on DDR4 |
| 95 | SDRAM memory modules. |
| 96 | |
| 97 | This driver can also be built as a module. If so, the module |
| 98 | will be called ee1004. |
| 99 | |
| 100 | config EEPROM_M24LR |
| 101 | tristate "STMicroelectronics M24LR RFID/NFC EEPROM support" |
| 102 | depends on I2C && SYSFS |
| 103 | select REGMAP_I2C |
| 104 | help |
| 105 | This enables support for STMicroelectronics M24LR RFID/NFC EEPROM |
| 106 | chips. These dual-interface devices expose two I2C addresses: |
| 107 | one for EEPROM memory access and another for control and system |
| 108 | configuration (e.g. UID, password handling). |
| 109 | |
| 110 | This driver provides a sysfs interface for control functions and |
| 111 | integrates with the nvmem subsystem for EEPROM access. |
| 112 | |
| 113 | To compile this driver as a module, choose M here: the |
| 114 | module will be called m24lr. |
| 115 | |
| 116 | endif # NVMEM_SYSFS |
| 117 | |
| 118 | config NVMEM_AIROHA_SMC_EFUSES |
| 119 | tristate "Airoha SMC eFuse support" |
| 120 | depends on ARM64 |
| 121 | depends on ARCH_AIROHA || COMPILE_TEST |
| 122 | depends on HAVE_ARM_SMCCC |
| 123 | default ARCH_AIROHA |
| 124 | help |
| 125 | Say y here to enable support for reading eFuses on Airoha AN7581 |
| 126 | SoCs. These are e.g. used to store factory programmed |
| 127 | calibration data required for the PCIe or the USB-C PHY or Thermal. |
| 128 | |
| 129 | This driver can also be built as a module. If so, the module will |
| 130 | be called nvmem-airoha-smc-efuses. |
| 131 | |
| 132 | config NVMEM_AN8855_EFUSE |
| 133 | tristate "Airoha AN8855 eFuse support" |
| 134 | depends on COMPILE_TEST |
| 135 | help |
| 136 | Say y here to enable support for reading eFuses on Airoha AN8855 |
| 137 | Switch. These are e.g. used to store factory programmed |
| 138 | calibration data required for the PHY. |
| 139 | |
| 140 | This driver can also be built as a module. If so, the module will |
| 141 | be called nvmem-an8855-efuse. |
| 142 | |
| 143 | config NVMEM_APPLE_EFUSES |
| 144 | tristate "Apple eFuse support" |
| 145 | depends on ARCH_APPLE || COMPILE_TEST |
| 146 | help |
| 147 | Say y here to enable support for reading eFuses on Apple SoCs |
| 148 | such as the M1. These are e.g. used to store factory programmed |
| 149 | calibration data required for the PCIe or the USB-C PHY. |
| 150 | |
| 151 | This driver can also be built as a module. If so, the module will |
| 152 | be called nvmem-apple-efuses. |
| 153 | |
| 154 | config NVMEM_APPLE_SPMI |
| 155 | tristate "Apple SPMI NVMEM" |
| 156 | depends on ARCH_APPLE || COMPILE_TEST |
| 157 | depends on SPMI |
| 158 | select REGMAP_SPMI |
| 159 | help |
| 160 | Say y here to build a driver to expose NVMEM cells for a set of power |
| 161 | and RTC-related settings on a SPMI-attached PMIC present on Apple |
| 162 | devices, such as Apple Silicon Macs. |
| 163 | |
| 164 | This driver can also be built as a module. If so, the module |
| 165 | will be called apple-nvmem-spmi. |
| 166 | |
| 167 | config NVMEM_BCM_OCOTP |
| 168 | tristate "Broadcom On-Chip OTP Controller support" |
| 169 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
| 170 | depends on HAS_IOMEM |
| 171 | default ARCH_BCM_IPROC |
| 172 | help |
| 173 | Say y here to enable read/write access to the Broadcom OTP |
| 174 | controller. |
| 175 | |
| 176 | This driver can also be built as a module. If so, the module |
| 177 | will be called nvmem-bcm-ocotp. |
| 178 | |
| 179 | config NVMEM_BRCM_NVRAM |
| 180 | tristate "Broadcom's NVRAM support" |
| 181 | depends on ARCH_BCM_5301X || COMPILE_TEST |
| 182 | depends on HAS_IOMEM |
| 183 | select GENERIC_NET_UTILS |
| 184 | help |
| 185 | This driver provides support for Broadcom's NVRAM that can be accessed |
| 186 | using I/O mapping. |
| 187 | |
| 188 | config NVMEM_IMX_IIM |
| 189 | tristate "i.MX IC Identification Module support" |
| 190 | depends on ARCH_MXC || COMPILE_TEST |
| 191 | help |
| 192 | This is a driver for the IC Identification Module (IIM) available on |
| 193 | i.MX SoCs, providing access to 4 Kbits of programmable |
| 194 | eFuses. |
| 195 | |
| 196 | This driver can also be built as a module. If so, the module |
| 197 | will be called nvmem-imx-iim. |
| 198 | |
| 199 | config NVMEM_IMX_OCOTP |
| 200 | tristate "i.MX 6/7/8 On-Chip OTP Controller support" |
| 201 | depends on ARCH_MXC || COMPILE_TEST |
| 202 | depends on HAS_IOMEM |
| 203 | help |
| 204 | This is a driver for the On-Chip OTP Controller (OCOTP) available on |
| 205 | i.MX6 SoCs, providing access to 4 Kbits of one-time programmable |
| 206 | eFuses. |
| 207 | |
| 208 | This driver can also be built as a module. If so, the module |
| 209 | will be called nvmem-imx-ocotp. |
| 210 | |
| 211 | config NVMEM_IMX_OCOTP_ELE |
| 212 | tristate "i.MX On-Chip OTP Controller support" |
| 213 | depends on ARCH_MXC || COMPILE_TEST |
| 214 | depends on HAS_IOMEM |
| 215 | depends on OF |
| 216 | help |
| 217 | This is a driver for the On-Chip OTP Controller (OCOTP) |
| 218 | available on i.MX SoCs which has ELE. |
| 219 | |
| 220 | config NVMEM_IMX_OCOTP_SCU |
| 221 | tristate "i.MX8 SCU On-Chip OTP Controller support" |
| 222 | depends on IMX_SCU |
| 223 | depends on HAVE_ARM_SMCCC |
| 224 | help |
| 225 | This is a driver for the SCU On-Chip OTP Controller (OCOTP) |
| 226 | available on i.MX8 SoCs. |
| 227 | |
| 228 | config NVMEM_JZ4780_EFUSE |
| 229 | tristate "JZ4780 EFUSE Memory Support" |
| 230 | depends on MACH_INGENIC || COMPILE_TEST |
| 231 | depends on HAS_IOMEM |
| 232 | depends on OF |
| 233 | select REGMAP_MMIO |
| 234 | help |
| 235 | Say Y here to include support for JZ4780 efuse memory found on |
| 236 | all JZ4780 SoC based devices. |
| 237 | To compile this driver as a module, choose M here: the module |
| 238 | will be called nvmem_jz4780_efuse. |
| 239 | |
| 240 | config NVMEM_LAN9662_OTPC |
| 241 | tristate "Microchip LAN9662 OTP controller support" |
| 242 | depends on SOC_LAN966 || ARCH_LAN969X || COMPILE_TEST |
| 243 | depends on HAS_IOMEM |
| 244 | help |
| 245 | This driver enables the OTP controller available on Microchip LAN9662 |
| 246 | SoCs. It controls the access to the OTP memory connected to it. |
| 247 | |
| 248 | config NVMEM_LAYERSCAPE_SFP |
| 249 | tristate "Layerscape SFP (Security Fuse Processor) support" |
| 250 | depends on ARCH_LAYERSCAPE || COMPILE_TEST |
| 251 | depends on HAS_IOMEM |
| 252 | select REGMAP_MMIO |
| 253 | help |
| 254 | This driver provides support to read the eFuses on Freescale |
| 255 | Layerscape SoC's. For example, the vendor provides a per part |
| 256 | unique ID there. |
| 257 | |
| 258 | This driver can also be built as a module. If so, the module |
| 259 | will be called layerscape-sfp. |
| 260 | |
| 261 | config NVMEM_LPC18XX_EEPROM |
| 262 | tristate "NXP LPC18XX EEPROM Memory Support" |
| 263 | depends on ARCH_LPC18XX || COMPILE_TEST |
| 264 | depends on HAS_IOMEM |
| 265 | help |
| 266 | Say Y here to include support for NXP LPC18xx EEPROM memory found in |
| 267 | NXP LPC185x/3x and LPC435x/3x/2x/1x devices. |
| 268 | To compile this driver as a module, choose M here: the module |
| 269 | will be called nvmem_lpc18xx_eeprom. |
| 270 | |
| 271 | config NVMEM_LPC18XX_OTP |
| 272 | tristate "NXP LPC18XX OTP Memory Support" |
| 273 | depends on ARCH_LPC18XX || COMPILE_TEST |
| 274 | depends on HAS_IOMEM |
| 275 | help |
| 276 | Say Y here to include support for NXP LPC18xx OTP memory found on |
| 277 | all LPC18xx and LPC43xx devices. |
| 278 | To compile this driver as a module, choose M here: the module |
| 279 | will be called nvmem_lpc18xx_otp. |
| 280 | |
| 281 | config NVMEM_MAX77759 |
| 282 | tristate "Maxim Integrated MAX77759 NVMEM Support" |
| 283 | depends on MFD_MAX77759 |
| 284 | default MFD_MAX77759 |
| 285 | help |
| 286 | Say Y here to include support for the user-accessible storage found |
| 287 | in Maxim Integrated MAX77759 PMICs. This IC provides space for 30 |
| 288 | bytes of storage. |
| 289 | |
| 290 | This driver can also be built as a module. If so, the module |
| 291 | will be called nvmem-max77759. |
| 292 | |
| 293 | config NVMEM_MESON_EFUSE |
| 294 | tristate "Amlogic Meson GX eFuse Support" |
| 295 | depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM |
| 296 | help |
| 297 | This is a driver to retrieve specific values from the eFuse found on |
| 298 | the Amlogic Meson GX SoCs. |
| 299 | |
| 300 | This driver can also be built as a module. If so, the module |
| 301 | will be called nvmem_meson_efuse. |
| 302 | |
| 303 | config NVMEM_MESON_MX_EFUSE |
| 304 | tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" |
| 305 | depends on ARCH_MESON || COMPILE_TEST |
| 306 | help |
| 307 | This is a driver to retrieve specific values from the eFuse found on |
| 308 | the Amlogic Meson6, Meson8 and Meson8b SoCs. |
| 309 | |
| 310 | This driver can also be built as a module. If so, the module |
| 311 | will be called nvmem_meson_mx_efuse. |
| 312 | |
| 313 | config NVMEM_MICROCHIP_OTPC |
| 314 | tristate "Microchip OTPC support" |
| 315 | depends on ARCH_AT91 || COMPILE_TEST |
| 316 | help |
| 317 | This driver enable the OTP controller available on Microchip SAMA7G5 |
| 318 | SoCs. It controls the access to the OTP memory connected to it. |
| 319 | |
| 320 | config NVMEM_MTK_EFUSE |
| 321 | tristate "Mediatek SoCs EFUSE support" |
| 322 | depends on ARCH_MEDIATEK || COMPILE_TEST |
| 323 | depends on HAS_IOMEM |
| 324 | help |
| 325 | This is a driver to access hardware related data like sensor |
| 326 | calibration, HDMI impedance etc. |
| 327 | |
| 328 | This driver can also be built as a module. If so, the module |
| 329 | will be called efuse-mtk. |
| 330 | |
| 331 | config NVMEM_MXS_OCOTP |
| 332 | tristate "Freescale MXS On-Chip OTP Memory Support" |
| 333 | depends on ARCH_MXS || COMPILE_TEST |
| 334 | depends on HAS_IOMEM |
| 335 | help |
| 336 | If you say Y here, you will get readonly access to the |
| 337 | One Time Programmable memory pages that are stored |
| 338 | on the Freescale i.MX23/i.MX28 processor. |
| 339 | |
| 340 | This driver can also be built as a module. If so, the module |
| 341 | will be called nvmem-mxs-ocotp. |
| 342 | |
| 343 | config NVMEM_NINTENDO_OTP |
| 344 | tristate "Nintendo Wii and Wii U OTP Support" |
| 345 | depends on WII || COMPILE_TEST |
| 346 | help |
| 347 | This is a driver exposing the OTP of a Nintendo Wii or Wii U console. |
| 348 | |
| 349 | This memory contains common and per-console keys, signatures and |
| 350 | related data required to access peripherals. |
| 351 | |
| 352 | This driver can also be built as a module. If so, the module |
| 353 | will be called nvmem-nintendo-otp. |
| 354 | |
| 355 | config NVMEM_S32G_OCOTP |
| 356 | tristate "S32G SoC OCOTP support" |
| 357 | depends on ARCH_S32 |
| 358 | help |
| 359 | This is a driver for the 'OCOTP' peripheral available on S32G |
| 360 | platforms. |
| 361 | |
| 362 | If you say Y here, you will get support for the One Time |
| 363 | Programmable memory pages. |
| 364 | |
| 365 | config NVMEM_QCOM_QFPROM |
| 366 | tristate "Qualcomm QFPROM Support" |
| 367 | depends on ARCH_QCOM || COMPILE_TEST |
| 368 | depends on HAS_IOMEM |
| 369 | help |
| 370 | Say y here to enable QFPROM support. The QFPROM provides access |
| 371 | functions for QFPROM data to rest of the drivers via nvmem interface. |
| 372 | |
| 373 | This driver can also be built as a module. If so, the module |
| 374 | will be called nvmem_qfprom. |
| 375 | |
| 376 | config NVMEM_QCOM_SEC_QFPROM |
| 377 | tristate "Qualcomm SECURE QFPROM Support" |
| 378 | depends on ARCH_QCOM || COMPILE_TEST |
| 379 | depends on HAS_IOMEM |
| 380 | depends on OF |
| 381 | select QCOM_SCM |
| 382 | help |
| 383 | Say y here to enable secure QFPROM support. The secure QFPROM provides access |
| 384 | functions for QFPROM data to rest of the drivers via nvmem interface. |
| 385 | |
| 386 | This driver can also be built as a module. If so, the module will be called |
| 387 | nvmem_sec_qfprom. |
| 388 | |
| 389 | config NVMEM_QNAP_MCU_EEPROM |
| 390 | tristate "QNAP MCU EEPROM Support" |
| 391 | depends on MFD_QNAP_MCU |
| 392 | help |
| 393 | Say y here to enable support for accessing the EEPROM attached to |
| 394 | QNAP MCU devices. This EEPROM contains additional runtime device |
| 395 | information, like MAC addresses for ethernet devices that do not |
| 396 | contain their own mac storage. |
| 397 | |
| 398 | config NVMEM_RAVE_SP_EEPROM |
| 399 | tristate "Rave SP EEPROM Support" |
| 400 | depends on RAVE_SP_CORE |
| 401 | help |
| 402 | Say y here to enable Rave SP EEPROM support. |
| 403 | |
| 404 | config NVMEM_RCAR_EFUSE |
| 405 | tristate "Renesas R-Car Gen4 E-FUSE support" |
| 406 | depends on (ARCH_RENESAS && ARM64) || COMPILE_TEST |
| 407 | help |
| 408 | Enable support for reading the fuses in the E-FUSE or OTP |
| 409 | non-volatile memory block on Renesas R-Car Gen4 SoCs. |
| 410 | |
| 411 | This driver can also be built as a module. If so, the module |
| 412 | will be called nvmem-rcar-efuse. |
| 413 | |
| 414 | config NVMEM_RMEM |
| 415 | tristate "Reserved Memory Based Driver Support" |
| 416 | depends on HAS_IOMEM |
| 417 | select CRC32 |
| 418 | help |
| 419 | This driver maps reserved memory into an nvmem device. It might be |
| 420 | useful to expose information left by firmware in memory. |
| 421 | |
| 422 | This driver can also be built as a module. If so, the module |
| 423 | will be called nvmem-rmem. |
| 424 | |
| 425 | config NVMEM_ROCKCHIP_EFUSE |
| 426 | tristate "Rockchip eFuse Support" |
| 427 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
| 428 | depends on HAS_IOMEM |
| 429 | help |
| 430 | This is a simple driver to dump specified values of Rockchip SoC |
| 431 | from eFuse, such as cpu-leakage. |
| 432 | |
| 433 | This driver can also be built as a module. If so, the module |
| 434 | will be called nvmem_rockchip_efuse. |
| 435 | |
| 436 | config NVMEM_ROCKCHIP_OTP |
| 437 | tristate "Rockchip OTP controller support" |
| 438 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
| 439 | depends on HAS_IOMEM |
| 440 | help |
| 441 | This is a simple driver to dump specified values of Rockchip SoC |
| 442 | from OTP, such as cpu-leakage. |
| 443 | |
| 444 | This driver can also be built as a module. If so, the module |
| 445 | will be called nvmem_rockchip_otp. |
| 446 | |
| 447 | config NVMEM_SC27XX_EFUSE |
| 448 | tristate "Spreadtrum SC27XX eFuse Support" |
| 449 | depends on MFD_SC27XX_PMIC || COMPILE_TEST |
| 450 | depends on HAS_IOMEM |
| 451 | help |
| 452 | This is a simple driver to dump specified values of Spreadtrum |
| 453 | SC27XX PMICs from eFuse. |
| 454 | |
| 455 | This driver can also be built as a module. If so, the module |
| 456 | will be called nvmem-sc27xx-efuse. |
| 457 | |
| 458 | config NVMEM_SNVS_LPGPR |
| 459 | tristate "Support for Low Power General Purpose Register" |
| 460 | depends on ARCH_MXC || COMPILE_TEST |
| 461 | help |
| 462 | This is a driver for Low Power General Purpose Register (LPGPR) available on |
| 463 | i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. |
| 464 | |
| 465 | This driver can also be built as a module. If so, the module |
| 466 | will be called nvmem-snvs-lpgpr. |
| 467 | |
| 468 | config NVMEM_SPMI_SDAM |
| 469 | tristate "SPMI SDAM Support" |
| 470 | depends on SPMI |
| 471 | help |
| 472 | This driver supports the Shared Direct Access Memory Module on |
| 473 | Qualcomm Technologies, Inc. PMICs. It provides the clients |
| 474 | an interface to read/write to the SDAM module's shared memory. |
| 475 | |
| 476 | config NVMEM_SPRD_EFUSE |
| 477 | tristate "Spreadtrum SoC eFuse Support" |
| 478 | depends on ARCH_SPRD || COMPILE_TEST |
| 479 | depends on HAS_IOMEM |
| 480 | help |
| 481 | This is a simple driver to dump specified values of Spreadtrum |
| 482 | SoCs from eFuse. |
| 483 | |
| 484 | This driver can also be built as a module. If so, the module |
| 485 | will be called nvmem-sprd-efuse. |
| 486 | |
| 487 | config NVMEM_STM32_BSEC_OPTEE_TA |
| 488 | def_bool NVMEM_STM32_ROMEM && OPTEE |
| 489 | help |
| 490 | Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE |
| 491 | trusted application STM32MP BSEC. |
| 492 | |
| 493 | This library is a used by stm32-romem driver or included in the module |
| 494 | called nvmem-stm32-romem. |
| 495 | |
| 496 | config NVMEM_STM32_ROMEM |
| 497 | tristate "STMicroelectronics STM32 factory-programmed memory support" |
| 498 | depends on ARCH_STM32 || COMPILE_TEST |
| 499 | depends on OPTEE || !OPTEE |
| 500 | help |
| 501 | Say y here to enable read-only access for STMicroelectronics STM32 |
| 502 | factory-programmed memory area. |
| 503 | |
| 504 | This driver can also be built as a module. If so, the module |
| 505 | will be called nvmem-stm32-romem. |
| 506 | |
| 507 | config NVMEM_SUNPLUS_OCOTP |
| 508 | tristate "Sunplus SoC OTP support" |
| 509 | depends on SOC_SP7021 || COMPILE_TEST |
| 510 | depends on HAS_IOMEM |
| 511 | help |
| 512 | This is a driver for the On-chip OTP controller (OCOTP) available |
| 513 | on Sunplus SoCs. It provides access to 128 bytes of one-time |
| 514 | programmable eFuse. |
| 515 | |
| 516 | This driver can also be built as a module. If so, the module |
| 517 | will be called nvmem-sunplus-ocotp. |
| 518 | |
| 519 | config NVMEM_SUNXI_SID |
| 520 | tristate "Allwinner SoCs SID support" |
| 521 | depends on ARCH_SUNXI |
| 522 | help |
| 523 | This is a driver for the 'security ID' available on various Allwinner |
| 524 | devices. |
| 525 | |
| 526 | This driver can also be built as a module. If so, the module |
| 527 | will be called nvmem_sunxi_sid. |
| 528 | |
| 529 | config NVMEM_U_BOOT_ENV |
| 530 | tristate "U-Boot environment variables support" |
| 531 | depends on OF && MTD |
| 532 | select NVMEM_LAYOUT_U_BOOT_ENV |
| 533 | help |
| 534 | U-Boot stores its setup as environment variables. This driver adds |
| 535 | support for verifying & exporting such data. It also exposes variables |
| 536 | as NVMEM cells so they can be referenced by other drivers. |
| 537 | |
| 538 | Currently this drivers works only with env variables on top of MTD. |
| 539 | |
| 540 | If compiled as module it will be called nvmem_u-boot-env. |
| 541 | |
| 542 | config NVMEM_UNIPHIER_EFUSE |
| 543 | tristate "UniPhier SoCs eFuse support" |
| 544 | depends on ARCH_UNIPHIER || COMPILE_TEST |
| 545 | depends on HAS_IOMEM |
| 546 | help |
| 547 | This is a simple driver to dump specified values of UniPhier SoC |
| 548 | from eFuse. |
| 549 | |
| 550 | This driver can also be built as a module. If so, the module |
| 551 | will be called nvmem-uniphier-efuse. |
| 552 | |
| 553 | config NVMEM_VF610_OCOTP |
| 554 | tristate "VF610 SoC OCOTP support" |
| 555 | depends on SOC_VF610 || COMPILE_TEST |
| 556 | depends on HAS_IOMEM |
| 557 | help |
| 558 | This is a driver for the 'OCOTP' peripheral available on Vybrid |
| 559 | devices like VF5xx and VF6xx. |
| 560 | |
| 561 | This driver can also be build as a module. If so, the module will |
| 562 | be called nvmem-vf610-ocotp. |
| 563 | |
| 564 | config NVMEM_ZYNQMP |
| 565 | tristate "Xilinx ZYNQMP SoC nvmem firmware support" |
| 566 | depends on ARCH_ZYNQMP |
| 567 | help |
| 568 | This is a driver to access hardware related data like |
| 569 | soc revision, IDCODE... etc by using the firmware |
| 570 | interface. |
| 571 | |
| 572 | If sure, say yes. If unsure, say no. |
| 573 | |
| 574 | config NVMEM_QORIQ_EFUSE |
| 575 | tristate "NXP QorIQ eFuse support" |
| 576 | depends on PPC_85xx || COMPILE_TEST |
| 577 | depends on HAS_IOMEM |
| 578 | help |
| 579 | This driver provides read support for the eFuses (SFP) on NXP QorIQ |
| 580 | series SoC's. This includes secure boot settings, the globally unique |
| 581 | NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'. |
| 582 | |
| 583 | This driver can also be built as a module. If so, the module |
| 584 | will be called nvmem_qoriq_efuse. |
| 585 | |
| 586 | endif # NVMEM |