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