Kconfig 8.5 KB

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