blob: afa4335e0a20976c5f1e9bdb5b02affbd1f8f83a [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
Ariel D'Alessandrof02f8ae2015-12-07 10:57:39 +000050config NVMEM_LPC18XX_EEPROM
51 tristate "NXP LPC18XX EEPROM Memory Support"
52 depends on ARCH_LPC18XX || COMPILE_TEST
Krzysztof Kozlowski2ce7aed2016-03-31 11:07:03 +010053 depends on HAS_IOMEM
Ariel D'Alessandrof02f8ae2015-12-07 10:57:39 +000054 help
55 Say Y here to include support for NXP LPC18xx EEPROM memory found in
56 NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
57 To compile this driver as a module, choose M here: the module
58 will be called nvmem_lpc18xx_eeprom.
59
Joachim Eastwood88806daf2016-10-31 14:45:16 +000060config NVMEM_LPC18XX_OTP
61 tristate "NXP LPC18XX OTP Memory Support"
62 depends on ARCH_LPC18XX || COMPILE_TEST
63 depends on HAS_IOMEM
64 help
65 Say Y here to include support for NXP LPC18xx OTP memory found on
66 all LPC18xx and LPC43xx devices.
67 To compile this driver as a module, choose M here: the module
68 will be called nvmem_lpc18xx_otp.
69
Stefan Wahrenc01e9a12015-09-30 13:56:27 +010070config NVMEM_MXS_OCOTP
71 tristate "Freescale MXS On-Chip OTP Memory Support"
72 depends on ARCH_MXS || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +000073 depends on HAS_IOMEM
Stefan Wahrenc01e9a12015-09-30 13:56:27 +010074 help
75 If you say Y here, you will get readonly access to the
76 One Time Programmable memory pages that are stored
77 on the Freescale i.MX23/i.MX28 processor.
78
79 This driver can also be built as a module. If so, the module
80 will be called nvmem-mxs-ocotp.
81
Andrew-CT Chen4c7e4fe2015-12-07 10:58:11 +000082config MTK_EFUSE
83 tristate "Mediatek SoCs EFUSE support"
84 depends on ARCH_MEDIATEK || COMPILE_TEST
Krzysztof Kozlowski2ce7aed2016-03-31 11:07:03 +010085 depends on HAS_IOMEM
Andrew-CT Chen4c7e4fe2015-12-07 10:58:11 +000086 help
87 This is a driver to access hardware related data like sensor
88 calibration, HDMI impedance etc.
89
90 This driver can also be built as a module. If so, the module
91 will be called efuse-mtk.
92
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +010093config QCOM_QFPROM
94 tristate "QCOM QFPROM Support"
95 depends on ARCH_QCOM || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +000096 depends on HAS_IOMEM
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +010097 help
98 Say y here to enable QFPROM support. The QFPROM provides access
99 functions for QFPROM data to rest of the drivers via nvmem interface.
100
101 This driver can also be built as a module. If so, the module
102 will be called nvmem_qfprom.
103
ZhengShunQian03a69562015-09-30 13:56:44 +0100104config ROCKCHIP_EFUSE
105 tristate "Rockchip eFuse Support"
106 depends on ARCH_ROCKCHIP || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000107 depends on HAS_IOMEM
ZhengShunQian03a69562015-09-30 13:56:44 +0100108 help
109 This is a simple drive to dump specified values of Rockchip SoC
110 from eFuse, such as cpu-leakage.
111
112 This driver can also be built as a module. If so, the module
113 will be called nvmem_rockchip_efuse.
114
Jonathan Richardson9d59c6e2016-10-31 14:45:19 +0000115config NVMEM_BCM_OCOTP
116 tristate "Broadcom On-Chip OTP Controller support"
117 depends on ARCH_BCM_IPROC || COMPILE_TEST
118 depends on HAS_IOMEM
119 default ARCH_BCM_IPROC
120 help
121 Say y here to enable read/write access to the Broadcom OTP
122 controller.
123
124 This driver can also be built as a module. If so, the module
125 will be called nvmem-bcm-ocotp.
126
Fabrice Gasnierded1b7f2019-04-13 11:32:55 +0100127config NVMEM_STM32_ROMEM
128 tristate "STMicroelectronics STM32 factory-programmed memory support"
129 depends on ARCH_STM32 || COMPILE_TEST
130 help
131 Say y here to enable read-only access for STMicroelectronics STM32
132 factory-programmed memory area.
133
134 This driver can also be built as a module. If so, the module
135 will be called nvmem-stm32-romem.
136
Maxime Ripard3d0b16a2015-07-27 12:17:09 +0100137config NVMEM_SUNXI_SID
138 tristate "Allwinner SoCs SID support"
139 depends on ARCH_SUNXI
Maxime Ripard3d0b16a2015-07-27 12:17:09 +0100140 help
141 This is a driver for the 'security ID' available on various Allwinner
142 devices.
143
144 This driver can also be built as a module. If so, the module
145 will be called nvmem_sunxi_sid.
146
Keiji Hayashibara71c5dd52017-10-24 10:54:26 +0100147config UNIPHIER_EFUSE
148 tristate "UniPhier SoCs eFuse support"
149 depends on ARCH_UNIPHIER || COMPILE_TEST
150 depends on HAS_IOMEM
151 help
152 This is a simple driver to dump specified values of UniPhier SoC
153 from eFuse.
154
155 This driver can also be built as a module. If so, the module
156 will be called nvmem-uniphier-efuse.
157
Sanchayan Maity22dbdb72015-09-30 13:54:59 +0100158config NVMEM_VF610_OCOTP
159 tristate "VF610 SoC OCOTP support"
160 depends on SOC_VF610 || COMPILE_TEST
Richard Weinberger5685e242016-02-22 11:23:44 +0000161 depends on HAS_IOMEM
Sanchayan Maity22dbdb72015-09-30 13:54:59 +0100162 help
163 This is a driver for the 'OCOTP' peripheral available on Vybrid
164 devices like VF5xx and VF6xx.
165
166 This driver can also be build as a module. If so, the module will
167 be called nvmem-vf610-ocotp.
168
Carlo Caionead855ea2016-08-27 15:43:46 +0200169config MESON_EFUSE
Martin Blumenstingl9593ad32017-10-09 15:26:40 +0200170 tristate "Amlogic Meson GX eFuse Support"
Carlo Caionead855ea2016-08-27 15:43:46 +0200171 depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
172 help
173 This is a driver to retrieve specific values from the eFuse found on
Martin Blumenstingl9593ad32017-10-09 15:26:40 +0200174 the Amlogic Meson GX SoCs.
Carlo Caionead855ea2016-08-27 15:43:46 +0200175
176 This driver can also be built as a module. If so, the module
177 will be called nvmem_meson_efuse.
178
Martin Blumenstingl8caef1f2017-10-09 15:26:41 +0200179config MESON_MX_EFUSE
180 tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
181 depends on ARCH_MESON || COMPILE_TEST
182 help
183 This is a driver to retrieve specific values from the eFuse found on
184 the Amlogic Meson6, Meson8 and Meson8b SoCs.
185
186 This driver can also be built as a module. If so, the module
187 will be called nvmem_meson_mx_efuse.
188
Oleksij Rempel988437a2017-09-17 12:33:43 +0200189config NVMEM_SNVS_LPGPR
190 tristate "Support for Low Power General Purpose Register"
Andrey Yurovsky80b820c2018-03-09 14:47:16 +0000191 depends on SOC_IMX6 || SOC_IMX7D || COMPILE_TEST
Oleksij Rempel988437a2017-09-17 12:33:43 +0200192 help
193 This is a driver for Low Power General Purpose Register (LPGPR) available on
Andrey Yurovsky80b820c2018-03-09 14:47:16 +0000194 i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
Oleksij Rempel988437a2017-09-17 12:33:43 +0200195
196 This driver can also be built as a module. If so, the module
197 will be called nvmem-snvs-lpgpr.
198
Andrey Smirnov3b51f472018-05-11 12:06:58 +0100199config RAVE_SP_EEPROM
200 tristate "Rave SP EEPROM Support"
201 depends on RAVE_SP_CORE
202 help
203 Say y here to enable Rave SP EEPROM support.
204
Freeman Liu19c54462018-07-11 11:20:41 +0100205config SC27XX_EFUSE
206 tristate "Spreadtrum SC27XX eFuse Support"
207 depends on MFD_SC27XX_PMIC || COMPILE_TEST
208 depends on HAS_IOMEM
209 help
210 This is a simple driver to dump specified values of Spreadtrum
211 SC27XX PMICs from eFuse.
212
213 This driver can also be built as a module. If so, the module
214 will be called nvmem-sc27xx-efuse.
215
Nava kishore Manne4640fa12019-02-06 16:37:21 +0530216config NVMEM_ZYNQMP
217 bool "Xilinx ZYNQMP SoC nvmem firmware support"
218 depends on ARCH_ZYNQMP
219 help
220 This is a driver to access hardware related data like
221 soc revision, IDCODE... etc by using the firmware
222 interface.
223
224 If sure, say yes. If unsure, say no.
225
Srinivas Kandagatla4ab11992015-07-27 12:15:00 +0100226endif