162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenuconfig NVMEM
362306a36Sopenharmony_ci	bool "NVMEM Support"
462306a36Sopenharmony_ci	help
562306a36Sopenharmony_ci	  Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci	  This framework is designed to provide a generic interface to NVMEM
862306a36Sopenharmony_ci	  from both the Linux Kernel and the userspace.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci	  If unsure, say no.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciif NVMEM
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig NVMEM_SYSFS
1562306a36Sopenharmony_ci	bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
1662306a36Sopenharmony_ci	depends on SYSFS
1762306a36Sopenharmony_ci	default y
1862306a36Sopenharmony_ci	help
1962306a36Sopenharmony_ci	 Say Y here to add a sysfs interface for NVMEM.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	 This interface is mostly used by userspace applications to
2262306a36Sopenharmony_ci	 read/write directly into nvmem.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci# Layouts
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cisource "drivers/nvmem/layouts/Kconfig"
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci# Devices
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig NVMEM_APPLE_EFUSES
3162306a36Sopenharmony_ci	tristate "Apple eFuse support"
3262306a36Sopenharmony_ci	depends on ARCH_APPLE || COMPILE_TEST
3362306a36Sopenharmony_ci	default ARCH_APPLE
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  Say y here to enable support for reading eFuses on Apple SoCs
3662306a36Sopenharmony_ci	  such as the M1. These are e.g. used to store factory programmed
3762306a36Sopenharmony_ci	  calibration data required for the PCIe or the USB-C PHY.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will
4062306a36Sopenharmony_ci	  be called nvmem-apple-efuses.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig NVMEM_BCM_OCOTP
4362306a36Sopenharmony_ci	tristate "Broadcom On-Chip OTP Controller support"
4462306a36Sopenharmony_ci	depends on ARCH_BCM_IPROC || COMPILE_TEST
4562306a36Sopenharmony_ci	depends on HAS_IOMEM
4662306a36Sopenharmony_ci	default ARCH_BCM_IPROC
4762306a36Sopenharmony_ci	help
4862306a36Sopenharmony_ci	  Say y here to enable read/write access to the Broadcom OTP
4962306a36Sopenharmony_ci	  controller.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
5262306a36Sopenharmony_ci	  will be called nvmem-bcm-ocotp.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig NVMEM_BRCM_NVRAM
5562306a36Sopenharmony_ci	tristate "Broadcom's NVRAM support"
5662306a36Sopenharmony_ci	depends on ARCH_BCM_5301X || COMPILE_TEST
5762306a36Sopenharmony_ci	depends on HAS_IOMEM
5862306a36Sopenharmony_ci	select GENERIC_NET_UTILS
5962306a36Sopenharmony_ci	help
6062306a36Sopenharmony_ci	  This driver provides support for Broadcom's NVRAM that can be accessed
6162306a36Sopenharmony_ci	  using I/O mapping.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig NVMEM_IMX_IIM
6462306a36Sopenharmony_ci	tristate "i.MX IC Identification Module support"
6562306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
6662306a36Sopenharmony_ci	help
6762306a36Sopenharmony_ci	  This is a driver for the IC Identification Module (IIM) available on
6862306a36Sopenharmony_ci	  i.MX SoCs, providing access to 4 Kbits of programmable
6962306a36Sopenharmony_ci	  eFuses.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
7262306a36Sopenharmony_ci	  will be called nvmem-imx-iim.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciconfig NVMEM_IMX_OCOTP
7562306a36Sopenharmony_ci	tristate "i.MX 6/7/8 On-Chip OTP Controller support"
7662306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
7762306a36Sopenharmony_ci	depends on HAS_IOMEM
7862306a36Sopenharmony_ci	help
7962306a36Sopenharmony_ci	  This is a driver for the On-Chip OTP Controller (OCOTP) available on
8062306a36Sopenharmony_ci	  i.MX6 SoCs, providing access to 4 Kbits of one-time programmable
8162306a36Sopenharmony_ci	  eFuses.
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
8462306a36Sopenharmony_ci	  will be called nvmem-imx-ocotp.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciconfig NVMEM_IMX_OCOTP_ELE
8762306a36Sopenharmony_ci	tristate "i.MX On-Chip OTP Controller support"
8862306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
8962306a36Sopenharmony_ci	depends on HAS_IOMEM
9062306a36Sopenharmony_ci	depends on OF
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  This is a driver for the On-Chip OTP Controller (OCOTP)
9362306a36Sopenharmony_ci	  available on i.MX SoCs which has ELE.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciconfig NVMEM_IMX_OCOTP_SCU
9662306a36Sopenharmony_ci	tristate "i.MX8 SCU On-Chip OTP Controller support"
9762306a36Sopenharmony_ci	depends on IMX_SCU
9862306a36Sopenharmony_ci	depends on HAVE_ARM_SMCCC
9962306a36Sopenharmony_ci	help
10062306a36Sopenharmony_ci	  This is a driver for the SCU On-Chip OTP Controller (OCOTP)
10162306a36Sopenharmony_ci	  available on i.MX8 SoCs.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ciconfig NVMEM_JZ4780_EFUSE
10462306a36Sopenharmony_ci	tristate "JZ4780 EFUSE Memory Support"
10562306a36Sopenharmony_ci	depends on MACH_INGENIC || COMPILE_TEST
10662306a36Sopenharmony_ci	depends on HAS_IOMEM
10762306a36Sopenharmony_ci	depends on OF
10862306a36Sopenharmony_ci	select REGMAP_MMIO
10962306a36Sopenharmony_ci	help
11062306a36Sopenharmony_ci	  Say Y here to include support for JZ4780 efuse memory found on
11162306a36Sopenharmony_ci	  all JZ4780 SoC based devices.
11262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
11362306a36Sopenharmony_ci	  will be called nvmem_jz4780_efuse.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciconfig NVMEM_LAN9662_OTPC
11662306a36Sopenharmony_ci	tristate "Microchip LAN9662 OTP controller support"
11762306a36Sopenharmony_ci	depends on SOC_LAN966 || COMPILE_TEST
11862306a36Sopenharmony_ci	depends on HAS_IOMEM
11962306a36Sopenharmony_ci	help
12062306a36Sopenharmony_ci	  This driver enables the OTP controller available on Microchip LAN9662
12162306a36Sopenharmony_ci	  SoCs. It controls the access to the OTP memory connected to it.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciconfig NVMEM_LAYERSCAPE_SFP
12462306a36Sopenharmony_ci	tristate "Layerscape SFP (Security Fuse Processor) support"
12562306a36Sopenharmony_ci	depends on ARCH_LAYERSCAPE || COMPILE_TEST
12662306a36Sopenharmony_ci	depends on HAS_IOMEM
12762306a36Sopenharmony_ci	select REGMAP_MMIO
12862306a36Sopenharmony_ci	help
12962306a36Sopenharmony_ci	  This driver provides support to read the eFuses on Freescale
13062306a36Sopenharmony_ci	  Layerscape SoC's. For example, the vendor provides a per part
13162306a36Sopenharmony_ci	  unique ID there.
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
13462306a36Sopenharmony_ci	  will be called layerscape-sfp.
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ciconfig NVMEM_LPC18XX_EEPROM
13762306a36Sopenharmony_ci	tristate "NXP LPC18XX EEPROM Memory Support"
13862306a36Sopenharmony_ci	depends on ARCH_LPC18XX || COMPILE_TEST
13962306a36Sopenharmony_ci	depends on HAS_IOMEM
14062306a36Sopenharmony_ci	help
14162306a36Sopenharmony_ci	  Say Y here to include support for NXP LPC18xx EEPROM memory found in
14262306a36Sopenharmony_ci	  NXP LPC185x/3x and LPC435x/3x/2x/1x devices.
14362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
14462306a36Sopenharmony_ci	  will be called nvmem_lpc18xx_eeprom.
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ciconfig NVMEM_LPC18XX_OTP
14762306a36Sopenharmony_ci	tristate "NXP LPC18XX OTP Memory Support"
14862306a36Sopenharmony_ci	depends on ARCH_LPC18XX || COMPILE_TEST
14962306a36Sopenharmony_ci	depends on HAS_IOMEM
15062306a36Sopenharmony_ci	help
15162306a36Sopenharmony_ci	  Say Y here to include support for NXP LPC18xx OTP memory found on
15262306a36Sopenharmony_ci	  all LPC18xx and LPC43xx devices.
15362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
15462306a36Sopenharmony_ci	  will be called nvmem_lpc18xx_otp.
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ciconfig NVMEM_MESON_EFUSE
15762306a36Sopenharmony_ci	tristate "Amlogic Meson GX eFuse Support"
15862306a36Sopenharmony_ci	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
15962306a36Sopenharmony_ci	help
16062306a36Sopenharmony_ci	  This is a driver to retrieve specific values from the eFuse found on
16162306a36Sopenharmony_ci	  the Amlogic Meson GX SoCs.
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
16462306a36Sopenharmony_ci	  will be called nvmem_meson_efuse.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ciconfig NVMEM_MESON_MX_EFUSE
16762306a36Sopenharmony_ci	tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support"
16862306a36Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
16962306a36Sopenharmony_ci	help
17062306a36Sopenharmony_ci	  This is a driver to retrieve specific values from the eFuse found on
17162306a36Sopenharmony_ci	  the Amlogic Meson6, Meson8 and Meson8b SoCs.
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
17462306a36Sopenharmony_ci	  will be called nvmem_meson_mx_efuse.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciconfig NVMEM_MICROCHIP_OTPC
17762306a36Sopenharmony_ci	tristate "Microchip OTPC support"
17862306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
17962306a36Sopenharmony_ci	help
18062306a36Sopenharmony_ci	  This driver enable the OTP controller available on Microchip SAMA7G5
18162306a36Sopenharmony_ci	  SoCs. It controls the access to the OTP memory connected to it.
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ciconfig NVMEM_MTK_EFUSE
18462306a36Sopenharmony_ci	tristate "Mediatek SoCs EFUSE support"
18562306a36Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
18662306a36Sopenharmony_ci	depends on HAS_IOMEM
18762306a36Sopenharmony_ci	help
18862306a36Sopenharmony_ci	  This is a driver to access hardware related data like sensor
18962306a36Sopenharmony_ci	  calibration, HDMI impedance etc.
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
19262306a36Sopenharmony_ci	  will be called efuse-mtk.
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ciconfig NVMEM_MXS_OCOTP
19562306a36Sopenharmony_ci	tristate "Freescale MXS On-Chip OTP Memory Support"
19662306a36Sopenharmony_ci	depends on ARCH_MXS || COMPILE_TEST
19762306a36Sopenharmony_ci	depends on HAS_IOMEM
19862306a36Sopenharmony_ci	help
19962306a36Sopenharmony_ci	  If you say Y here, you will get readonly access to the
20062306a36Sopenharmony_ci	  One Time Programmable memory pages that are stored
20162306a36Sopenharmony_ci	  on the Freescale i.MX23/i.MX28 processor.
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
20462306a36Sopenharmony_ci	  will be called nvmem-mxs-ocotp.
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ciconfig NVMEM_NINTENDO_OTP
20762306a36Sopenharmony_ci	tristate "Nintendo Wii and Wii U OTP Support"
20862306a36Sopenharmony_ci	depends on WII || COMPILE_TEST
20962306a36Sopenharmony_ci	help
21062306a36Sopenharmony_ci	  This is a driver exposing the OTP of a Nintendo Wii or Wii U console.
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci	  This memory contains common and per-console keys, signatures and
21362306a36Sopenharmony_ci	  related data required to access peripherals.
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
21662306a36Sopenharmony_ci	  will be called nvmem-nintendo-otp.
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ciconfig NVMEM_QCOM_QFPROM
21962306a36Sopenharmony_ci	tristate "QCOM QFPROM Support"
22062306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
22162306a36Sopenharmony_ci	depends on HAS_IOMEM
22262306a36Sopenharmony_ci	help
22362306a36Sopenharmony_ci	  Say y here to enable QFPROM support. The QFPROM provides access
22462306a36Sopenharmony_ci	  functions for QFPROM data to rest of the drivers via nvmem interface.
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
22762306a36Sopenharmony_ci	  will be called nvmem_qfprom.
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ciconfig NVMEM_QCOM_SEC_QFPROM
23062306a36Sopenharmony_ci        tristate "QCOM SECURE QFPROM Support"
23162306a36Sopenharmony_ci        depends on ARCH_QCOM || COMPILE_TEST
23262306a36Sopenharmony_ci        depends on HAS_IOMEM
23362306a36Sopenharmony_ci        depends on OF
23462306a36Sopenharmony_ci        select QCOM_SCM
23562306a36Sopenharmony_ci        help
23662306a36Sopenharmony_ci          Say y here to enable secure QFPROM support. The secure QFPROM provides access
23762306a36Sopenharmony_ci          functions for QFPROM data to rest of the drivers via nvmem interface.
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci          This driver can also be built as a module. If so, the module will be called
24062306a36Sopenharmony_ci          nvmem_sec_qfprom.
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ciconfig NVMEM_RAVE_SP_EEPROM
24362306a36Sopenharmony_ci	tristate "Rave SP EEPROM Support"
24462306a36Sopenharmony_ci	depends on RAVE_SP_CORE
24562306a36Sopenharmony_ci	help
24662306a36Sopenharmony_ci	  Say y here to enable Rave SP EEPROM support.
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ciconfig NVMEM_RMEM
24962306a36Sopenharmony_ci	tristate "Reserved Memory Based Driver Support"
25062306a36Sopenharmony_ci	depends on HAS_IOMEM
25162306a36Sopenharmony_ci	help
25262306a36Sopenharmony_ci	  This driver maps reserved memory into an nvmem device. It might be
25362306a36Sopenharmony_ci	  useful to expose information left by firmware in memory.
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
25662306a36Sopenharmony_ci	  will be called nvmem-rmem.
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ciconfig NVMEM_ROCKCHIP_EFUSE
25962306a36Sopenharmony_ci	tristate "Rockchip eFuse Support"
26062306a36Sopenharmony_ci	depends on ARCH_ROCKCHIP || COMPILE_TEST
26162306a36Sopenharmony_ci	depends on HAS_IOMEM
26262306a36Sopenharmony_ci	help
26362306a36Sopenharmony_ci	  This is a simple driver to dump specified values of Rockchip SoC
26462306a36Sopenharmony_ci	  from eFuse, such as cpu-leakage.
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
26762306a36Sopenharmony_ci	  will be called nvmem_rockchip_efuse.
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ciconfig NVMEM_ROCKCHIP_OTP
27062306a36Sopenharmony_ci	tristate "Rockchip OTP controller support"
27162306a36Sopenharmony_ci	depends on ARCH_ROCKCHIP || COMPILE_TEST
27262306a36Sopenharmony_ci	depends on HAS_IOMEM
27362306a36Sopenharmony_ci	help
27462306a36Sopenharmony_ci	  This is a simple driver to dump specified values of Rockchip SoC
27562306a36Sopenharmony_ci	  from OTP, such as cpu-leakage.
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
27862306a36Sopenharmony_ci	  will be called nvmem_rockchip_otp.
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ciconfig NVMEM_SC27XX_EFUSE
28162306a36Sopenharmony_ci	tristate "Spreadtrum SC27XX eFuse Support"
28262306a36Sopenharmony_ci	depends on MFD_SC27XX_PMIC || COMPILE_TEST
28362306a36Sopenharmony_ci	depends on HAS_IOMEM
28462306a36Sopenharmony_ci	help
28562306a36Sopenharmony_ci	  This is a simple driver to dump specified values of Spreadtrum
28662306a36Sopenharmony_ci	  SC27XX PMICs from eFuse.
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
28962306a36Sopenharmony_ci	  will be called nvmem-sc27xx-efuse.
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ciconfig NVMEM_SNVS_LPGPR
29262306a36Sopenharmony_ci	tristate "Support for Low Power General Purpose Register"
29362306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
29462306a36Sopenharmony_ci	help
29562306a36Sopenharmony_ci	  This is a driver for Low Power General Purpose Register (LPGPR) available on
29662306a36Sopenharmony_ci	  i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip.
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
29962306a36Sopenharmony_ci	  will be called nvmem-snvs-lpgpr.
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ciconfig NVMEM_SPMI_SDAM
30262306a36Sopenharmony_ci	tristate "SPMI SDAM Support"
30362306a36Sopenharmony_ci	depends on SPMI
30462306a36Sopenharmony_ci	help
30562306a36Sopenharmony_ci	  This driver supports the Shared Direct Access Memory Module on
30662306a36Sopenharmony_ci	  Qualcomm Technologies, Inc. PMICs. It provides the clients
30762306a36Sopenharmony_ci	  an interface to read/write to the SDAM module's shared memory.
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ciconfig NVMEM_SPRD_EFUSE
31062306a36Sopenharmony_ci	tristate "Spreadtrum SoC eFuse Support"
31162306a36Sopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
31262306a36Sopenharmony_ci	depends on HAS_IOMEM
31362306a36Sopenharmony_ci	help
31462306a36Sopenharmony_ci	  This is a simple driver to dump specified values of Spreadtrum
31562306a36Sopenharmony_ci	  SoCs from eFuse.
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
31862306a36Sopenharmony_ci	  will be called nvmem-sprd-efuse.
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ciconfig NVMEM_STM32_BSEC_OPTEE_TA
32162306a36Sopenharmony_ci	def_bool NVMEM_STM32_ROMEM && OPTEE
32262306a36Sopenharmony_ci	help
32362306a36Sopenharmony_ci	  Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
32462306a36Sopenharmony_ci	  trusted application STM32MP BSEC.
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci	  This library is a used by stm32-romem driver or included in the module
32762306a36Sopenharmony_ci	  called nvmem-stm32-romem.
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ciconfig NVMEM_STM32_ROMEM
33062306a36Sopenharmony_ci	tristate "STMicroelectronics STM32 factory-programmed memory support"
33162306a36Sopenharmony_ci	depends on ARCH_STM32 || COMPILE_TEST
33262306a36Sopenharmony_ci	depends on OPTEE || !OPTEE
33362306a36Sopenharmony_ci	help
33462306a36Sopenharmony_ci	  Say y here to enable read-only access for STMicroelectronics STM32
33562306a36Sopenharmony_ci	  factory-programmed memory area.
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
33862306a36Sopenharmony_ci	  will be called nvmem-stm32-romem.
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ciconfig NVMEM_SUNPLUS_OCOTP
34162306a36Sopenharmony_ci	tristate "Sunplus SoC OTP support"
34262306a36Sopenharmony_ci	depends on SOC_SP7021 || COMPILE_TEST
34362306a36Sopenharmony_ci	depends on HAS_IOMEM
34462306a36Sopenharmony_ci	help
34562306a36Sopenharmony_ci	  This is a driver for the On-chip OTP controller (OCOTP) available
34662306a36Sopenharmony_ci	  on Sunplus SoCs. It provides access to 128 bytes of one-time
34762306a36Sopenharmony_ci	  programmable eFuse.
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
35062306a36Sopenharmony_ci	  will be called nvmem-sunplus-ocotp.
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ciconfig NVMEM_SUNXI_SID
35362306a36Sopenharmony_ci	tristate "Allwinner SoCs SID support"
35462306a36Sopenharmony_ci	depends on ARCH_SUNXI
35562306a36Sopenharmony_ci	help
35662306a36Sopenharmony_ci	  This is a driver for the 'security ID' available on various Allwinner
35762306a36Sopenharmony_ci	  devices.
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
36062306a36Sopenharmony_ci	  will be called nvmem_sunxi_sid.
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ciconfig NVMEM_U_BOOT_ENV
36362306a36Sopenharmony_ci	tristate "U-Boot environment variables support"
36462306a36Sopenharmony_ci	depends on OF && MTD
36562306a36Sopenharmony_ci	select CRC32
36662306a36Sopenharmony_ci	select GENERIC_NET_UTILS
36762306a36Sopenharmony_ci	help
36862306a36Sopenharmony_ci	  U-Boot stores its setup as environment variables. This driver adds
36962306a36Sopenharmony_ci	  support for verifying & exporting such data. It also exposes variables
37062306a36Sopenharmony_ci	  as NVMEM cells so they can be referenced by other drivers.
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci	  Currently this drivers works only with env variables on top of MTD.
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci	  If compiled as module it will be called nvmem_u-boot-env.
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_ciconfig NVMEM_UNIPHIER_EFUSE
37762306a36Sopenharmony_ci	tristate "UniPhier SoCs eFuse support"
37862306a36Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
37962306a36Sopenharmony_ci	depends on HAS_IOMEM
38062306a36Sopenharmony_ci	help
38162306a36Sopenharmony_ci	  This is a simple driver to dump specified values of UniPhier SoC
38262306a36Sopenharmony_ci	  from eFuse.
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
38562306a36Sopenharmony_ci	  will be called nvmem-uniphier-efuse.
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ciconfig NVMEM_VF610_OCOTP
38862306a36Sopenharmony_ci	tristate "VF610 SoC OCOTP support"
38962306a36Sopenharmony_ci	depends on SOC_VF610 || COMPILE_TEST
39062306a36Sopenharmony_ci	depends on HAS_IOMEM
39162306a36Sopenharmony_ci	help
39262306a36Sopenharmony_ci	  This is a driver for the 'OCOTP' peripheral available on Vybrid
39362306a36Sopenharmony_ci	  devices like VF5xx and VF6xx.
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci	  This driver can also be build as a module. If so, the module will
39662306a36Sopenharmony_ci	  be called nvmem-vf610-ocotp.
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ciconfig NVMEM_ZYNQMP
39962306a36Sopenharmony_ci	tristate "Xilinx ZYNQMP SoC nvmem firmware support"
40062306a36Sopenharmony_ci	depends on ARCH_ZYNQMP
40162306a36Sopenharmony_ci	help
40262306a36Sopenharmony_ci	  This is a driver to access hardware related data like
40362306a36Sopenharmony_ci	  soc revision, IDCODE... etc by using the firmware
40462306a36Sopenharmony_ci	  interface.
40562306a36Sopenharmony_ci
40662306a36Sopenharmony_ci	  If sure, say yes. If unsure, say no.
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ciconfig NVMEM_QORIQ_EFUSE
40962306a36Sopenharmony_ci	tristate "NXP QorIQ eFuse support"
41062306a36Sopenharmony_ci	depends on PPC_85xx || COMPILE_TEST
41162306a36Sopenharmony_ci	depends on HAS_IOMEM
41262306a36Sopenharmony_ci	help
41362306a36Sopenharmony_ci	  This driver provides read support for the eFuses (SFP) on NXP QorIQ
41462306a36Sopenharmony_ci	  series SoC's. This includes secure boot settings, the globally unique
41562306a36Sopenharmony_ci	  NXP ID 'FUIDR' and the OEM unique ID 'OUIDR'.
41662306a36Sopenharmony_ci
41762306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
41862306a36Sopenharmony_ci	  will be called nvmem_qoriq_efuse.
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ciendif
421