xref: /openbmc/linux/drivers/nvmem/Kconfig (revision 74a22e8f)
1menuconfig NVMEM
2	bool "NVMEM Support"
3	help
4	  Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
5
6	  This framework is designed to provide a generic interface to NVMEM
7	  from both the Linux Kernel and the userspace.
8
9	  This driver can also be built as a module. If so, the module
10	  will be called nvmem_core.
11
12	  If unsure, say no.
13
14if NVMEM
15
16config NVMEM_SYSFS
17	bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
18	depends on SYSFS
19	default y
20	help
21	 Say Y here to add a sysfs interface for NVMEM.
22
23	 This interface is mostly used by userspace applications to
24	 read/write directly into nvmem.
25
26config NVMEM_IMX_IIM
27	tristate "i.MX IC Identification Module support"
28	depends on ARCH_MXC || COMPILE_TEST
29	help
30	  This is a driver for the IC Identification Module (IIM) available on
31	  i.MX SoCs, providing access to 4 Kbits of programmable
32	  eFuses.
33
34	  This driver can also be built as a module. If so, the module
35	  will be called nvmem-imx-iim.
36
37config NVMEM_IMX_OCOTP
38	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
39	depends on ARCH_MXC || COMPILE_TEST
40	depends on HAS_IOMEM
41	help
42	  This is a driver for the On-Chip OTP Controller (OCOTP) available on
43	  i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
44	  eFuses.
45
46	  This driver can also be built as a module. If so, the module
47	  will be called nvmem-imx-ocotp.
48
49config NVMEM_LPC18XX_EEPROM
50	tristate "NXP LPC18XX EEPROM Memory Support"
51	depends on ARCH_LPC18XX || COMPILE_TEST
52	depends on HAS_IOMEM
53	help
54	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
55	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
56	  To compile this driver as a module, choose M here: the module
57	  will be called nvmem_lpc18xx_eeprom.
58
59config NVMEM_LPC18XX_OTP
60	tristate "NXP LPC18XX OTP Memory Support"
61	depends on ARCH_LPC18XX || COMPILE_TEST
62	depends on HAS_IOMEM
63	help
64	  Say Y here to include support for NXP LPC18xx OTP memory found on
65	  all LPC18xx and LPC43xx devices.
66	  To compile this driver as a module, choose M here: the module
67	  will be called nvmem_lpc18xx_otp.
68
69config NVMEM_MXS_OCOTP
70	tristate "Freescale MXS On-Chip OTP Memory Support"
71	depends on ARCH_MXS || COMPILE_TEST
72	depends on HAS_IOMEM
73	help
74	  If you say Y here, you will get readonly access to the
75	  One Time Programmable memory pages that are stored
76	  on the Freescale i.MX23/i.MX28 processor.
77
78	  This driver can also be built as a module. If so, the module
79	  will be called nvmem-mxs-ocotp.
80
81config MTK_EFUSE
82	tristate "Mediatek SoCs EFUSE support"
83	depends on ARCH_MEDIATEK || COMPILE_TEST
84	depends on HAS_IOMEM
85	help
86	  This is a driver to access hardware related data like sensor
87	  calibration, HDMI impedance etc.
88
89	  This driver can also be built as a module. If so, the module
90	  will be called efuse-mtk.
91
92config QCOM_QFPROM
93	tristate "QCOM QFPROM Support"
94	depends on ARCH_QCOM || COMPILE_TEST
95	depends on HAS_IOMEM
96	help
97	  Say y here to enable QFPROM support. The QFPROM provides access
98	  functions for QFPROM data to rest of the drivers via nvmem interface.
99
100	  This driver can also be built as a module. If so, the module
101	  will be called nvmem_qfprom.
102
103config ROCKCHIP_EFUSE
104	tristate "Rockchip eFuse Support"
105	depends on ARCH_ROCKCHIP || COMPILE_TEST
106	depends on HAS_IOMEM
107	help
108	  This is a simple drive to dump specified values of Rockchip SoC
109	  from eFuse, such as cpu-leakage.
110
111	  This driver can also be built as a module. If so, the module
112	  will be called nvmem_rockchip_efuse.
113
114config NVMEM_BCM_OCOTP
115	tristate "Broadcom On-Chip OTP Controller support"
116	depends on ARCH_BCM_IPROC || COMPILE_TEST
117	depends on HAS_IOMEM
118	default ARCH_BCM_IPROC
119	help
120	  Say y here to enable read/write access to the Broadcom OTP
121	  controller.
122
123	  This driver can also be built as a module. If so, the module
124	  will be called nvmem-bcm-ocotp.
125
126config NVMEM_STM32_ROMEM
127	tristate "STMicroelectronics STM32 factory-programmed memory support"
128	depends on ARCH_STM32 || COMPILE_TEST
129	help
130	  Say y here to enable read-only access for STMicroelectronics STM32
131	  factory-programmed memory area.
132
133	  This driver can also be built as a module. If so, the module
134	  will be called nvmem-stm32-romem.
135
136config NVMEM_SUNXI_SID
137	tristate "Allwinner SoCs SID support"
138	depends on ARCH_SUNXI
139	help
140	  This is a driver for the 'security ID' available on various Allwinner
141	  devices.
142
143	  This driver can also be built as a module. If so, the module
144	  will be called nvmem_sunxi_sid.
145
146config UNIPHIER_EFUSE
147	tristate "UniPhier SoCs eFuse support"
148	depends on ARCH_UNIPHIER || COMPILE_TEST
149	depends on HAS_IOMEM
150	help
151	  This is a simple driver to dump specified values of UniPhier SoC
152	  from eFuse.
153
154	  This driver can also be built as a module. If so, the module
155	  will be called nvmem-uniphier-efuse.
156
157config NVMEM_VF610_OCOTP
158	tristate "VF610 SoC OCOTP support"
159	depends on SOC_VF610 || COMPILE_TEST
160	depends on HAS_IOMEM
161	help
162	  This is a driver for the 'OCOTP' peripheral available on Vybrid
163	  devices like VF5xx and VF6xx.
164
165	  This driver can also be build as a module. If so, the module will
166	  be called nvmem-vf610-ocotp.
167
168config MESON_EFUSE
169	tristate "Amlogic Meson GX eFuse Support"
170	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
171	help
172	  This is a driver to retrieve specific values from the eFuse found on
173	  the Amlogic Meson GX SoCs.
174
175	  This driver can also be built as a module. If so, the module
176	  will be called nvmem_meson_efuse.
177
178config MESON_MX_EFUSE
179	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
180	depends on ARCH_MESON || COMPILE_TEST
181	help
182	  This is a driver to retrieve specific values from the eFuse found on
183	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
184
185	  This driver can also be built as a module. If so, the module
186	  will be called nvmem_meson_mx_efuse.
187
188config NVMEM_SNVS_LPGPR
189	tristate "Support for Low Power General Purpose Register"
190	depends on SOC_IMX6 || SOC_IMX7D || COMPILE_TEST
191	help
192	  This is a driver for Low Power General Purpose Register (LPGPR) available on
193	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
194
195	  This driver can also be built as a module. If so, the module
196	  will be called nvmem-snvs-lpgpr.
197
198config RAVE_SP_EEPROM
199	tristate "Rave SP EEPROM Support"
200	depends on RAVE_SP_CORE
201	help
202	  Say y here to enable Rave SP EEPROM support.
203
204config SC27XX_EFUSE
205	tristate "Spreadtrum SC27XX eFuse Support"
206	depends on MFD_SC27XX_PMIC || COMPILE_TEST
207	depends on HAS_IOMEM
208	help
209	  This is a simple driver to dump specified values of Spreadtrum
210	  SC27XX PMICs from eFuse.
211
212	  This driver can also be built as a module. If so, the module
213	  will be called nvmem-sc27xx-efuse.
214
215config NVMEM_ZYNQMP
216	bool "Xilinx ZYNQMP SoC nvmem firmware support"
217	depends on ARCH_ZYNQMP
218	help
219	  This is a driver to access hardware related data like
220	  soc revision, IDCODE... etc by using the firmware
221	  interface.
222
223	  If sure, say yes. If unsure, say no.
224
225endif
226