xref: /linux/drivers/nvmem/Kconfig (revision ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1)
1*ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2eace75cfSSrinivas Kandagatlamenuconfig NVMEM
32a37ce25SArnd Bergmann	bool "NVMEM Support"
4eace75cfSSrinivas Kandagatla	help
5eace75cfSSrinivas Kandagatla	  Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
6eace75cfSSrinivas Kandagatla
7eace75cfSSrinivas Kandagatla	  This framework is designed to provide a generic interface to NVMEM
8eace75cfSSrinivas Kandagatla	  from both the Linux Kernel and the userspace.
9eace75cfSSrinivas Kandagatla
10eace75cfSSrinivas Kandagatla	  This driver can also be built as a module. If so, the module
11eace75cfSSrinivas Kandagatla	  will be called nvmem_core.
12eace75cfSSrinivas Kandagatla
13eace75cfSSrinivas Kandagatla	  If unsure, say no.
144ab11996SSrinivas Kandagatla
154ab11996SSrinivas Kandagatlaif NVMEM
164ab11996SSrinivas Kandagatla
17ae0c2d72SSrinivas Kandagatlaconfig NVMEM_SYSFS
18ae0c2d72SSrinivas Kandagatla	bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
19ae0c2d72SSrinivas Kandagatla	depends on SYSFS
20ae0c2d72SSrinivas Kandagatla	default y
21ae0c2d72SSrinivas Kandagatla	help
22ae0c2d72SSrinivas Kandagatla	 Say Y here to add a sysfs interface for NVMEM.
23ae0c2d72SSrinivas Kandagatla
24ae0c2d72SSrinivas Kandagatla	 This interface is mostly used by userspace applications to
25ae0c2d72SSrinivas Kandagatla	 read/write directly into nvmem.
26ae0c2d72SSrinivas Kandagatla
27c066c1c0SMichael Grzeschikconfig NVMEM_IMX_IIM
28c066c1c0SMichael Grzeschik	tristate "i.MX IC Identification Module support"
29c066c1c0SMichael Grzeschik	depends on ARCH_MXC || COMPILE_TEST
30c066c1c0SMichael Grzeschik	help
31c066c1c0SMichael Grzeschik	  This is a driver for the IC Identification Module (IIM) available on
32c066c1c0SMichael Grzeschik	  i.MX SoCs, providing access to 4 Kbits of programmable
33c066c1c0SMichael Grzeschik	  eFuses.
34c066c1c0SMichael Grzeschik
35c066c1c0SMichael Grzeschik	  This driver can also be built as a module. If so, the module
36c066c1c0SMichael Grzeschik	  will be called nvmem-imx-iim.
37c066c1c0SMichael Grzeschik
383edba6b4SPhilipp Zabelconfig NVMEM_IMX_OCOTP
39dd4c1047SLucas Stach	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
40dd4c1047SLucas Stach	depends on ARCH_MXC || COMPILE_TEST
4163c0c076SSrinivas Kandagatla	depends on HAS_IOMEM
423edba6b4SPhilipp Zabel	help
433edba6b4SPhilipp Zabel	  This is a driver for the On-Chip OTP Controller (OCOTP) available on
443edba6b4SPhilipp Zabel	  i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
453edba6b4SPhilipp Zabel	  eFuses.
463edba6b4SPhilipp Zabel
473edba6b4SPhilipp Zabel	  This driver can also be built as a module. If so, the module
483edba6b4SPhilipp Zabel	  will be called nvmem-imx-ocotp.
493edba6b4SPhilipp Zabel
50f02f8aeeSAriel D'Alessandroconfig NVMEM_LPC18XX_EEPROM
51f02f8aeeSAriel D'Alessandro	tristate "NXP LPC18XX EEPROM Memory Support"
52f02f8aeeSAriel D'Alessandro	depends on ARCH_LPC18XX || COMPILE_TEST
532ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
54f02f8aeeSAriel D'Alessandro	help
55f02f8aeeSAriel D'Alessandro	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
56f02f8aeeSAriel D'Alessandro	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
57f02f8aeeSAriel D'Alessandro	  To compile this driver as a module, choose M here: the module
58f02f8aeeSAriel D'Alessandro	  will be called nvmem_lpc18xx_eeprom.
59f02f8aeeSAriel D'Alessandro
6088806dafSJoachim Eastwoodconfig NVMEM_LPC18XX_OTP
6188806dafSJoachim Eastwood	tristate "NXP LPC18XX OTP Memory Support"
6288806dafSJoachim Eastwood	depends on ARCH_LPC18XX || COMPILE_TEST
6388806dafSJoachim Eastwood	depends on HAS_IOMEM
6488806dafSJoachim Eastwood	help
6588806dafSJoachim Eastwood	  Say Y here to include support for NXP LPC18xx OTP memory found on
6688806dafSJoachim Eastwood	  all LPC18xx and LPC43xx devices.
6788806dafSJoachim Eastwood	  To compile this driver as a module, choose M here: the module
6888806dafSJoachim Eastwood	  will be called nvmem_lpc18xx_otp.
6988806dafSJoachim Eastwood
70c01e9a11SStefan Wahrenconfig NVMEM_MXS_OCOTP
71c01e9a11SStefan Wahren	tristate "Freescale MXS On-Chip OTP Memory Support"
72c01e9a11SStefan Wahren	depends on ARCH_MXS || COMPILE_TEST
735685e244SRichard Weinberger	depends on HAS_IOMEM
74c01e9a11SStefan Wahren	help
75c01e9a11SStefan Wahren	  If you say Y here, you will get readonly access to the
76c01e9a11SStefan Wahren	  One Time Programmable memory pages that are stored
77c01e9a11SStefan Wahren	  on the Freescale i.MX23/i.MX28 processor.
78c01e9a11SStefan Wahren
79c01e9a11SStefan Wahren	  This driver can also be built as a module. If so, the module
80c01e9a11SStefan Wahren	  will be called nvmem-mxs-ocotp.
81c01e9a11SStefan Wahren
824c7e4fe3SAndrew-CT Chenconfig MTK_EFUSE
834c7e4fe3SAndrew-CT Chen	tristate "Mediatek SoCs EFUSE support"
844c7e4fe3SAndrew-CT Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
852ce7aed6SKrzysztof Kozlowski	depends on HAS_IOMEM
864c7e4fe3SAndrew-CT Chen	help
874c7e4fe3SAndrew-CT Chen	  This is a driver to access hardware related data like sensor
884c7e4fe3SAndrew-CT Chen	  calibration, HDMI impedance etc.
894c7e4fe3SAndrew-CT Chen
904c7e4fe3SAndrew-CT Chen	  This driver can also be built as a module. If so, the module
914c7e4fe3SAndrew-CT Chen	  will be called efuse-mtk.
924c7e4fe3SAndrew-CT Chen
934ab11996SSrinivas Kandagatlaconfig QCOM_QFPROM
944ab11996SSrinivas Kandagatla	tristate "QCOM QFPROM Support"
954ab11996SSrinivas Kandagatla	depends on ARCH_QCOM || COMPILE_TEST
965685e244SRichard Weinberger	depends on HAS_IOMEM
974ab11996SSrinivas Kandagatla	help
984ab11996SSrinivas Kandagatla	  Say y here to enable QFPROM support. The QFPROM provides access
994ab11996SSrinivas Kandagatla	  functions for QFPROM data to rest of the drivers via nvmem interface.
1004ab11996SSrinivas Kandagatla
1014ab11996SSrinivas Kandagatla	  This driver can also be built as a module. If so, the module
1024ab11996SSrinivas Kandagatla	  will be called nvmem_qfprom.
1034ab11996SSrinivas Kandagatla
10403a69568SZhengShunQianconfig ROCKCHIP_EFUSE
10503a69568SZhengShunQian	tristate "Rockchip eFuse Support"
10603a69568SZhengShunQian	depends on ARCH_ROCKCHIP || COMPILE_TEST
1075685e244SRichard Weinberger	depends on HAS_IOMEM
10803a69568SZhengShunQian	help
10903a69568SZhengShunQian	  This is a simple drive to dump specified values of Rockchip SoC
11003a69568SZhengShunQian	  from eFuse, such as cpu-leakage.
11103a69568SZhengShunQian
11203a69568SZhengShunQian	  This driver can also be built as a module. If so, the module
11303a69568SZhengShunQian	  will be called nvmem_rockchip_efuse.
11403a69568SZhengShunQian
1159d59c6e8SJonathan Richardsonconfig NVMEM_BCM_OCOTP
1169d59c6e8SJonathan Richardson	tristate "Broadcom On-Chip OTP Controller support"
1179d59c6e8SJonathan Richardson	depends on ARCH_BCM_IPROC || COMPILE_TEST
1189d59c6e8SJonathan Richardson	depends on HAS_IOMEM
1199d59c6e8SJonathan Richardson	default ARCH_BCM_IPROC
1209d59c6e8SJonathan Richardson	help
1219d59c6e8SJonathan Richardson	  Say y here to enable read/write access to the Broadcom OTP
1229d59c6e8SJonathan Richardson	  controller.
1239d59c6e8SJonathan Richardson
1249d59c6e8SJonathan Richardson	  This driver can also be built as a module. If so, the module
1259d59c6e8SJonathan Richardson	  will be called nvmem-bcm-ocotp.
1269d59c6e8SJonathan Richardson
127ded1b7fcSFabrice Gasnierconfig NVMEM_STM32_ROMEM
128ded1b7fcSFabrice Gasnier	tristate "STMicroelectronics STM32 factory-programmed memory support"
129ded1b7fcSFabrice Gasnier	depends on ARCH_STM32 || COMPILE_TEST
130ded1b7fcSFabrice Gasnier	help
131ded1b7fcSFabrice Gasnier	  Say y here to enable read-only access for STMicroelectronics STM32
132ded1b7fcSFabrice Gasnier	  factory-programmed memory area.
133ded1b7fcSFabrice Gasnier
134ded1b7fcSFabrice Gasnier	  This driver can also be built as a module. If so, the module
135ded1b7fcSFabrice Gasnier	  will be called nvmem-stm32-romem.
136ded1b7fcSFabrice Gasnier
1373d0b16a6SMaxime Ripardconfig NVMEM_SUNXI_SID
1383d0b16a6SMaxime Ripard	tristate "Allwinner SoCs SID support"
1393d0b16a6SMaxime Ripard	depends on ARCH_SUNXI
1403d0b16a6SMaxime Ripard	help
1413d0b16a6SMaxime Ripard	  This is a driver for the 'security ID' available on various Allwinner
1423d0b16a6SMaxime Ripard	  devices.
1433d0b16a6SMaxime Ripard
1443d0b16a6SMaxime Ripard	  This driver can also be built as a module. If so, the module
1453d0b16a6SMaxime Ripard	  will be called nvmem_sunxi_sid.
1463d0b16a6SMaxime Ripard
14771c5dd50SKeiji Hayashibaraconfig UNIPHIER_EFUSE
14871c5dd50SKeiji Hayashibara	tristate "UniPhier SoCs eFuse support"
14971c5dd50SKeiji Hayashibara	depends on ARCH_UNIPHIER || COMPILE_TEST
15071c5dd50SKeiji Hayashibara	depends on HAS_IOMEM
15171c5dd50SKeiji Hayashibara	help
15271c5dd50SKeiji Hayashibara	  This is a simple driver to dump specified values of UniPhier SoC
15371c5dd50SKeiji Hayashibara	  from eFuse.
15471c5dd50SKeiji Hayashibara
15571c5dd50SKeiji Hayashibara	  This driver can also be built as a module. If so, the module
15671c5dd50SKeiji Hayashibara	  will be called nvmem-uniphier-efuse.
15771c5dd50SKeiji Hayashibara
15822dbdb7cSSanchayan Maityconfig NVMEM_VF610_OCOTP
15922dbdb7cSSanchayan Maity	tristate "VF610 SoC OCOTP support"
16022dbdb7cSSanchayan Maity	depends on SOC_VF610 || COMPILE_TEST
1615685e244SRichard Weinberger	depends on HAS_IOMEM
16222dbdb7cSSanchayan Maity	help
16322dbdb7cSSanchayan Maity	  This is a driver for the 'OCOTP' peripheral available on Vybrid
16422dbdb7cSSanchayan Maity	  devices like VF5xx and VF6xx.
16522dbdb7cSSanchayan Maity
16622dbdb7cSSanchayan Maity	  This driver can also be build as a module. If so, the module will
16722dbdb7cSSanchayan Maity	  be called nvmem-vf610-ocotp.
16822dbdb7cSSanchayan Maity
169ad855eaeSCarlo Caioneconfig MESON_EFUSE
1709593ad32SMartin Blumenstingl	tristate "Amlogic Meson GX eFuse Support"
171ad855eaeSCarlo Caione	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
172ad855eaeSCarlo Caione	help
173ad855eaeSCarlo Caione	  This is a driver to retrieve specific values from the eFuse found on
1749593ad32SMartin Blumenstingl	  the Amlogic Meson GX SoCs.
175ad855eaeSCarlo Caione
176ad855eaeSCarlo Caione	  This driver can also be built as a module. If so, the module
177ad855eaeSCarlo Caione	  will be called nvmem_meson_efuse.
178ad855eaeSCarlo Caione
1798caef1faSMartin Blumenstinglconfig MESON_MX_EFUSE
1808caef1faSMartin Blumenstingl	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
1818caef1faSMartin Blumenstingl	depends on ARCH_MESON || COMPILE_TEST
1828caef1faSMartin Blumenstingl	help
1838caef1faSMartin Blumenstingl	  This is a driver to retrieve specific values from the eFuse found on
1848caef1faSMartin Blumenstingl	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
1858caef1faSMartin Blumenstingl
1868caef1faSMartin Blumenstingl	  This driver can also be built as a module. If so, the module
1878caef1faSMartin Blumenstingl	  will be called nvmem_meson_mx_efuse.
1888caef1faSMartin Blumenstingl
189988437aeSOleksij Rempelconfig NVMEM_SNVS_LPGPR
190988437aeSOleksij Rempel	tristate "Support for Low Power General Purpose Register"
19180b820caSAndrey Yurovsky	depends on SOC_IMX6 || SOC_IMX7D || COMPILE_TEST
192988437aeSOleksij Rempel	help
193988437aeSOleksij Rempel	  This is a driver for Low Power General Purpose Register (LPGPR) available on
19480b820caSAndrey Yurovsky	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
195988437aeSOleksij Rempel
196988437aeSOleksij Rempel	  This driver can also be built as a module. If so, the module
197988437aeSOleksij Rempel	  will be called nvmem-snvs-lpgpr.
198988437aeSOleksij Rempel
1993b51f47bSAndrey Smirnovconfig RAVE_SP_EEPROM
2003b51f47bSAndrey Smirnov	tristate "Rave SP EEPROM Support"
2013b51f47bSAndrey Smirnov	depends on RAVE_SP_CORE
2023b51f47bSAndrey Smirnov	help
2033b51f47bSAndrey Smirnov	  Say y here to enable Rave SP EEPROM support.
2043b51f47bSAndrey Smirnov
20519c54468SFreeman Liuconfig SC27XX_EFUSE
20619c54468SFreeman Liu	tristate "Spreadtrum SC27XX eFuse Support"
20719c54468SFreeman Liu	depends on MFD_SC27XX_PMIC || COMPILE_TEST
20819c54468SFreeman Liu	depends on HAS_IOMEM
20919c54468SFreeman Liu	help
21019c54468SFreeman Liu	  This is a simple driver to dump specified values of Spreadtrum
21119c54468SFreeman Liu	  SC27XX PMICs from eFuse.
21219c54468SFreeman Liu
21319c54468SFreeman Liu	  This driver can also be built as a module. If so, the module
21419c54468SFreeman Liu	  will be called nvmem-sc27xx-efuse.
21519c54468SFreeman Liu
2164640fa18SNava kishore Manneconfig NVMEM_ZYNQMP
2174640fa18SNava kishore Manne	bool "Xilinx ZYNQMP SoC nvmem firmware support"
2184640fa18SNava kishore Manne	depends on ARCH_ZYNQMP
2194640fa18SNava kishore Manne	help
2204640fa18SNava kishore Manne	  This is a driver to access hardware related data like
2214640fa18SNava kishore Manne	  soc revision, IDCODE... etc by using the firmware
2224640fa18SNava kishore Manne	  interface.
2234640fa18SNava kishore Manne
2244640fa18SNava kishore Manne	  If sure, say yes. If unsure, say no.
2254640fa18SNava kishore Manne
2264ab11996SSrinivas Kandagatlaendif
227