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 | |
| 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. |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 14 | |
| 15 | if NVMEM |
| 16 | |
Srinivas Kandagatla | ae0c2d7 | 2019-04-16 10:59:24 +0100 | [diff] [blame] | 17 | config 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 | |
Michael Grzeschik | c066c1c | 2017-03-31 13:44:50 +0100 | [diff] [blame] | 27 | config 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 | |
Philipp Zabel | 3edba6b | 2015-09-30 13:55:47 +0100 | [diff] [blame] | 38 | config NVMEM_IMX_OCOTP |
Lucas Stach | dd4c104 | 2019-04-13 11:32:48 +0100 | [diff] [blame] | 39 | tristate "i.MX 6/7/8 On-Chip OTP Controller support" |
| 40 | depends on ARCH_MXC || COMPILE_TEST |
Srinivas Kandagatla | 63c0c07 | 2016-06-02 12:19:43 +0100 | [diff] [blame] | 41 | depends on HAS_IOMEM |
Philipp Zabel | 3edba6b | 2015-09-30 13:55:47 +0100 | [diff] [blame] | 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 | |
Peng Fan | 67ff708 | 2019-06-14 15:32:19 +0100 | [diff] [blame^] | 50 | config NVMEM_IMX_OCOTP_SCU |
| 51 | tristate "i.MX8 SCU On-Chip OTP Controller support" |
| 52 | depends on IMX_SCU |
| 53 | help |
| 54 | This is a driver for the SCU On-Chip OTP Controller (OCOTP) |
| 55 | available on i.MX8 SoCs. |
| 56 | |
Ariel D'Alessandro | f02f8ae | 2015-12-07 10:57:39 +0000 | [diff] [blame] | 57 | config NVMEM_LPC18XX_EEPROM |
| 58 | tristate "NXP LPC18XX EEPROM Memory Support" |
| 59 | depends on ARCH_LPC18XX || COMPILE_TEST |
Krzysztof Kozlowski | 2ce7aed | 2016-03-31 11:07:03 +0100 | [diff] [blame] | 60 | depends on HAS_IOMEM |
Ariel D'Alessandro | f02f8ae | 2015-12-07 10:57:39 +0000 | [diff] [blame] | 61 | help |
| 62 | Say Y here to include support for NXP LPC18xx EEPROM memory found in |
| 63 | NXP LPC185x/3x and LPC435x/3x/2x/1x devices. |
| 64 | To compile this driver as a module, choose M here: the module |
| 65 | will be called nvmem_lpc18xx_eeprom. |
| 66 | |
Joachim Eastwood | 88806daf | 2016-10-31 14:45:16 +0000 | [diff] [blame] | 67 | config NVMEM_LPC18XX_OTP |
| 68 | tristate "NXP LPC18XX OTP Memory Support" |
| 69 | depends on ARCH_LPC18XX || COMPILE_TEST |
| 70 | depends on HAS_IOMEM |
| 71 | help |
| 72 | Say Y here to include support for NXP LPC18xx OTP memory found on |
| 73 | all LPC18xx and LPC43xx devices. |
| 74 | To compile this driver as a module, choose M here: the module |
| 75 | will be called nvmem_lpc18xx_otp. |
| 76 | |
Stefan Wahren | c01e9a1 | 2015-09-30 13:56:27 +0100 | [diff] [blame] | 77 | config NVMEM_MXS_OCOTP |
| 78 | tristate "Freescale MXS On-Chip OTP Memory Support" |
| 79 | depends on ARCH_MXS || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 80 | depends on HAS_IOMEM |
Stefan Wahren | c01e9a1 | 2015-09-30 13:56:27 +0100 | [diff] [blame] | 81 | help |
| 82 | If you say Y here, you will get readonly access to the |
| 83 | One Time Programmable memory pages that are stored |
| 84 | on the Freescale i.MX23/i.MX28 processor. |
| 85 | |
| 86 | This driver can also be built as a module. If so, the module |
| 87 | will be called nvmem-mxs-ocotp. |
| 88 | |
Andrew-CT Chen | 4c7e4fe | 2015-12-07 10:58:11 +0000 | [diff] [blame] | 89 | config MTK_EFUSE |
| 90 | tristate "Mediatek SoCs EFUSE support" |
| 91 | depends on ARCH_MEDIATEK || COMPILE_TEST |
Krzysztof Kozlowski | 2ce7aed | 2016-03-31 11:07:03 +0100 | [diff] [blame] | 92 | depends on HAS_IOMEM |
Andrew-CT Chen | 4c7e4fe | 2015-12-07 10:58:11 +0000 | [diff] [blame] | 93 | help |
| 94 | This is a driver to access hardware related data like sensor |
| 95 | calibration, HDMI impedance etc. |
| 96 | |
| 97 | This driver can also be built as a module. If so, the module |
| 98 | will be called efuse-mtk. |
| 99 | |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 100 | config QCOM_QFPROM |
| 101 | tristate "QCOM QFPROM Support" |
| 102 | depends on ARCH_QCOM || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 103 | depends on HAS_IOMEM |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 104 | help |
| 105 | Say y here to enable QFPROM support. The QFPROM provides access |
| 106 | functions for QFPROM data to rest of the drivers via nvmem interface. |
| 107 | |
| 108 | This driver can also be built as a module. If so, the module |
| 109 | will be called nvmem_qfprom. |
| 110 | |
ZhengShunQian | 03a6956 | 2015-09-30 13:56:44 +0100 | [diff] [blame] | 111 | config ROCKCHIP_EFUSE |
| 112 | tristate "Rockchip eFuse Support" |
| 113 | depends on ARCH_ROCKCHIP || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 114 | depends on HAS_IOMEM |
ZhengShunQian | 03a6956 | 2015-09-30 13:56:44 +0100 | [diff] [blame] | 115 | help |
| 116 | This is a simple drive to dump specified values of Rockchip SoC |
| 117 | from eFuse, such as cpu-leakage. |
| 118 | |
| 119 | This driver can also be built as a module. If so, the module |
| 120 | will be called nvmem_rockchip_efuse. |
| 121 | |
Jonathan Richardson | 9d59c6e | 2016-10-31 14:45:19 +0000 | [diff] [blame] | 122 | config NVMEM_BCM_OCOTP |
| 123 | tristate "Broadcom On-Chip OTP Controller support" |
| 124 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
| 125 | depends on HAS_IOMEM |
| 126 | default ARCH_BCM_IPROC |
| 127 | help |
| 128 | Say y here to enable read/write access to the Broadcom OTP |
| 129 | controller. |
| 130 | |
| 131 | This driver can also be built as a module. If so, the module |
| 132 | will be called nvmem-bcm-ocotp. |
| 133 | |
Fabrice Gasnier | ded1b7f | 2019-04-13 11:32:55 +0100 | [diff] [blame] | 134 | config NVMEM_STM32_ROMEM |
| 135 | tristate "STMicroelectronics STM32 factory-programmed memory support" |
| 136 | depends on ARCH_STM32 || COMPILE_TEST |
| 137 | help |
| 138 | Say y here to enable read-only access for STMicroelectronics STM32 |
| 139 | factory-programmed memory area. |
| 140 | |
| 141 | This driver can also be built as a module. If so, the module |
| 142 | will be called nvmem-stm32-romem. |
| 143 | |
Maxime Ripard | 3d0b16a | 2015-07-27 12:17:09 +0100 | [diff] [blame] | 144 | config NVMEM_SUNXI_SID |
| 145 | tristate "Allwinner SoCs SID support" |
| 146 | depends on ARCH_SUNXI |
Maxime Ripard | 3d0b16a | 2015-07-27 12:17:09 +0100 | [diff] [blame] | 147 | help |
| 148 | This is a driver for the 'security ID' available on various Allwinner |
| 149 | devices. |
| 150 | |
| 151 | This driver can also be built as a module. If so, the module |
| 152 | will be called nvmem_sunxi_sid. |
| 153 | |
Keiji Hayashibara | 71c5dd5 | 2017-10-24 10:54:26 +0100 | [diff] [blame] | 154 | config UNIPHIER_EFUSE |
| 155 | tristate "UniPhier SoCs eFuse support" |
| 156 | depends on ARCH_UNIPHIER || COMPILE_TEST |
| 157 | depends on HAS_IOMEM |
| 158 | help |
| 159 | This is a simple driver to dump specified values of UniPhier SoC |
| 160 | from eFuse. |
| 161 | |
| 162 | This driver can also be built as a module. If so, the module |
| 163 | will be called nvmem-uniphier-efuse. |
| 164 | |
Sanchayan Maity | 22dbdb7 | 2015-09-30 13:54:59 +0100 | [diff] [blame] | 165 | config NVMEM_VF610_OCOTP |
| 166 | tristate "VF610 SoC OCOTP support" |
| 167 | depends on SOC_VF610 || COMPILE_TEST |
Richard Weinberger | 5685e24 | 2016-02-22 11:23:44 +0000 | [diff] [blame] | 168 | depends on HAS_IOMEM |
Sanchayan Maity | 22dbdb7 | 2015-09-30 13:54:59 +0100 | [diff] [blame] | 169 | help |
| 170 | This is a driver for the 'OCOTP' peripheral available on Vybrid |
| 171 | devices like VF5xx and VF6xx. |
| 172 | |
| 173 | This driver can also be build as a module. If so, the module will |
| 174 | be called nvmem-vf610-ocotp. |
| 175 | |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 176 | config MESON_EFUSE |
Martin Blumenstingl | 9593ad3 | 2017-10-09 15:26:40 +0200 | [diff] [blame] | 177 | tristate "Amlogic Meson GX eFuse Support" |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 178 | depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM |
| 179 | help |
| 180 | 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] | 181 | the Amlogic Meson GX SoCs. |
Carlo Caione | ad855ea | 2016-08-27 15:43:46 +0200 | [diff] [blame] | 182 | |
| 183 | This driver can also be built as a module. If so, the module |
| 184 | will be called nvmem_meson_efuse. |
| 185 | |
Martin Blumenstingl | 8caef1f | 2017-10-09 15:26:41 +0200 | [diff] [blame] | 186 | config MESON_MX_EFUSE |
| 187 | tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" |
| 188 | depends on ARCH_MESON || COMPILE_TEST |
| 189 | help |
| 190 | This is a driver to retrieve specific values from the eFuse found on |
| 191 | the Amlogic Meson6, Meson8 and Meson8b SoCs. |
| 192 | |
| 193 | This driver can also be built as a module. If so, the module |
| 194 | will be called nvmem_meson_mx_efuse. |
| 195 | |
Oleksij Rempel | 988437a | 2017-09-17 12:33:43 +0200 | [diff] [blame] | 196 | config NVMEM_SNVS_LPGPR |
| 197 | tristate "Support for Low Power General Purpose Register" |
Andrey Yurovsky | 80b820c | 2018-03-09 14:47:16 +0000 | [diff] [blame] | 198 | depends on SOC_IMX6 || SOC_IMX7D || COMPILE_TEST |
Oleksij Rempel | 988437a | 2017-09-17 12:33:43 +0200 | [diff] [blame] | 199 | help |
| 200 | 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] | 201 | 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] | 202 | |
| 203 | This driver can also be built as a module. If so, the module |
| 204 | will be called nvmem-snvs-lpgpr. |
| 205 | |
Andrey Smirnov | 3b51f47 | 2018-05-11 12:06:58 +0100 | [diff] [blame] | 206 | config RAVE_SP_EEPROM |
| 207 | tristate "Rave SP EEPROM Support" |
| 208 | depends on RAVE_SP_CORE |
| 209 | help |
| 210 | Say y here to enable Rave SP EEPROM support. |
| 211 | |
Freeman Liu | 19c5446 | 2018-07-11 11:20:41 +0100 | [diff] [blame] | 212 | config SC27XX_EFUSE |
| 213 | tristate "Spreadtrum SC27XX eFuse Support" |
| 214 | depends on MFD_SC27XX_PMIC || COMPILE_TEST |
| 215 | depends on HAS_IOMEM |
| 216 | help |
| 217 | This is a simple driver to dump specified values of Spreadtrum |
| 218 | SC27XX PMICs from eFuse. |
| 219 | |
| 220 | This driver can also be built as a module. If so, the module |
| 221 | will be called nvmem-sc27xx-efuse. |
| 222 | |
Nava kishore Manne | 4640fa1 | 2019-02-06 16:37:21 +0530 | [diff] [blame] | 223 | config NVMEM_ZYNQMP |
| 224 | bool "Xilinx ZYNQMP SoC nvmem firmware support" |
| 225 | depends on ARCH_ZYNQMP |
| 226 | help |
| 227 | This is a driver to access hardware related data like |
| 228 | soc revision, IDCODE... etc by using the firmware |
| 229 | interface. |
| 230 | |
| 231 | If sure, say yes. If unsure, say no. |
| 232 | |
Srinivas Kandagatla | 4ab1199 | 2015-07-27 12:15:00 +0100 | [diff] [blame] | 233 | endif |