blob: d2b0374dff80ed5a6f012e38035addab1d77651e [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Srinivas Kandagatlaeace75c2015-07-27 12:13:19 +01002menuconfig NVMEM
Arnd Bergmann2a37ce22018-04-04 12:38:40 +02003 bool "NVMEM Support"
Srinivas Kandagatlaeace75c2015-07-27 12:13:19 +01004 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 Kandagatla4ab11992015-07-27 12:15:00 +010014
15if NVMEM
16
Srinivas Kandagatlaae0c2d72019-04-16 10:59:24 +010017config 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 Grzeschikc066c1c2017-03-31 13:44:50 +010027config 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 Zabel3edba6b2015-09-30 13:55:47 +010038config NVMEM_IMX_OCOTP
Lucas Stachdd4c1042019-04-13 11:32:48 +010039 tristate "i.MX 6/7/8 On-Chip OTP Controller support"
40 depends on ARCH_MXC || COMPILE_TEST
Srinivas Kandagatla63c0c072016-06-02 12:19:43 +010041 depends on HAS_IOMEM
Philipp Zabel3edba6b2015-09-30 13:55:47 +010042 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 Fan67ff7082019-06-14 15:32:19 +010050config 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'Alessandrof02f8ae2015-12-07 10:57:39 +000057config NVMEM_LPC18XX_EEPROM
58 tristate "NXP LPC18XX EEPROM Memory Support"
59 depends on ARCH_LPC18XX || COMPILE_TEST
Krzysztof Kozlowski2ce7aed2016-03-31 11:07:03 +010060 depends on HAS_IOMEM
Ariel D'Alessandrof02f8ae2015-12-07 10:57:39 +000061 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 Eastwood88806daf2016-10-31 14:45:16 +000067config 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 Wahrenc01e9a12015-09-30 13:56:27 +010077config NVMEM_MXS_OCOTP
78 tristate "Freescale MXS On-Chip OTP Memory Support"
79 depends on ARCH_MXS || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +000080 depends on HAS_IOMEM
Stefan Wahrenc01e9a12015-09-30 13:56:27 +010081 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 Chen4c7e4fe2015-12-07 10:58:11 +000089config MTK_EFUSE
90 tristate "Mediatek SoCs EFUSE support"
91 depends on ARCH_MEDIATEK || COMPILE_TEST
Krzysztof Kozlowski2ce7aed2016-03-31 11:07:03 +010092 depends on HAS_IOMEM
Andrew-CT Chen4c7e4fe2015-12-07 10:58:11 +000093 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 Kandagatla4ab11992015-07-27 12:15:00 +0100100config QCOM_QFPROM
101 tristate "QCOM QFPROM Support"
102 depends on ARCH_QCOM || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000103 depends on HAS_IOMEM
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +0100104 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
ZhengShunQian03a69562015-09-30 13:56:44 +0100111config ROCKCHIP_EFUSE
112 tristate "Rockchip eFuse Support"
113 depends on ARCH_ROCKCHIP || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000114 depends on HAS_IOMEM
ZhengShunQian03a69562015-09-30 13:56:44 +0100115 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 Richardson9d59c6e2016-10-31 14:45:19 +0000122config 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 Gasnierded1b7f2019-04-13 11:32:55 +0100134config 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 Ripard3d0b16a2015-07-27 12:17:09 +0100144config NVMEM_SUNXI_SID
145 tristate "Allwinner SoCs SID support"
146 depends on ARCH_SUNXI
Maxime Ripard3d0b16a2015-07-27 12:17:09 +0100147 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 Hayashibara71c5dd52017-10-24 10:54:26 +0100154config 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 Maity22dbdb72015-09-30 13:54:59 +0100165config NVMEM_VF610_OCOTP
166 tristate "VF610 SoC OCOTP support"
167 depends on SOC_VF610 || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000168 depends on HAS_IOMEM
Sanchayan Maity22dbdb72015-09-30 13:54:59 +0100169 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 Caionead855ea2016-08-27 15:43:46 +0200176config MESON_EFUSE
Martin Blumenstingl9593ad32017-10-09 15:26:40 +0200177 tristate "Amlogic Meson GX eFuse Support"
Carlo Caionead855ea2016-08-27 15:43:46 +0200178 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 Blumenstingl9593ad32017-10-09 15:26:40 +0200181 the Amlogic Meson GX SoCs.
Carlo Caionead855ea2016-08-27 15:43:46 +0200182
183 This driver can also be built as a module. If so, the module
184 will be called nvmem_meson_efuse.
185
Martin Blumenstingl8caef1f2017-10-09 15:26:41 +0200186config 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 Rempel988437a2017-09-17 12:33:43 +0200196config NVMEM_SNVS_LPGPR
197 tristate "Support for Low Power General Purpose Register"
Andrey Yurovsky80b820c2018-03-09 14:47:16 +0000198 depends on SOC_IMX6 || SOC_IMX7D || COMPILE_TEST
Oleksij Rempel988437a2017-09-17 12:33:43 +0200199 help
200 This is a driver for Low Power General Purpose Register (LPGPR) available on
Andrey Yurovsky80b820c2018-03-09 14:47:16 +0000201 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
Oleksij Rempel988437a2017-09-17 12:33:43 +0200202
203 This driver can also be built as a module. If so, the module
204 will be called nvmem-snvs-lpgpr.
205
Andrey Smirnov3b51f472018-05-11 12:06:58 +0100206config 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 Liu19c54462018-07-11 11:20:41 +0100212config 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 Manne4640fa12019-02-06 16:37:21 +0530223config 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 Kandagatla4ab11992015-07-27 12:15:00 +0100233endif