Kconfig 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. config DM_REGULATOR
  2. bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)"
  3. depends on DM
  4. ---help---
  5. This config enables the driver model regulator support.
  6. UCLASS_REGULATOR - designed to provide a common API for basic regulator's
  7. functions, like get/set Voltage or Current value, enable state, etc...
  8. Note:
  9. When enabling this, please read the description, found in the files:
  10. - 'include/power/pmic.h'
  11. - 'include/power/regulator.h'
  12. - 'drivers/power/pmic/pmic-uclass.c'
  13. - 'drivers/power/pmic/regulator-uclass.c'
  14. It's important to call the device_bind() with the proper node offset,
  15. when binding the regulator devices. The pmic_bind_childs() can be used
  16. for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
  17. otherwise. Detailed information can be found in the header file.
  18. config SPL_DM_REGULATOR
  19. bool "Enable regulators for SPL"
  20. depends on DM_REGULATOR && SPL_POWER
  21. ---help---
  22. Regulators are seldom needed in SPL. Even if they are accessed, some
  23. code space can be saved by accessing the PMIC registers directly.
  24. Enable this option if you need regulators in SPL and can cope with
  25. the extra code size.
  26. config REGULATOR_ACT8846
  27. bool "Enable driver for ACT8846 regulator"
  28. depends on DM_REGULATOR && PMIC_ACT8846
  29. ---help---
  30. Enable support for the regulator functions of the ACT8846 PMIC. The
  31. driver implements get/set api for the various BUCKS and LDOS supported
  32. by the PMIC device. This driver is controlled by a device tree node
  33. which includes voltage limits.
  34. config REGULATOR_AS3722
  35. bool "Enable driver for AS7322 regulator"
  36. depends on DM_REGULATOR && PMIC_AS3722
  37. help
  38. Enable support for the regulator functions of the AS3722. The
  39. driver implements enable/disable for step-down bucks and LDOs,
  40. but does not yet support change voltages. Currently this must be
  41. done using direct register writes to the PMIC.
  42. config DM_REGULATOR_BD71837
  43. bool "Enable Driver Model for ROHM BD71837/BD71847 regulators"
  44. depends on DM_REGULATOR && DM_PMIC_BD71837
  45. help
  46. This config enables implementation of driver-model regulator uclass
  47. features for regulators on ROHM BD71837 and BD71847 PMICs.
  48. BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version
  49. containing 6 bucks and 6 LDOs. The driver implements get/set api for
  50. value and enable.
  51. config SPL_DM_REGULATOR_BD71837
  52. bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL"
  53. depends on DM_REGULATOR_BD71837
  54. help
  55. This config enables implementation of driver-model regulator uclass
  56. features for regulators on ROHM BD71837 and BD71847 in SPL.
  57. config DM_REGULATOR_DA9063
  58. bool "Enable Driver Model for REGULATOR DA9063"
  59. depends on DM_REGULATOR && DM_PMIC_DA9063
  60. help
  61. This config enables implementation of driver-model regulator uclass
  62. features for REGULATOR DA9063.
  63. The driver implements get/set api for value, enable and mode for all
  64. regulators. It also implements the get/set api for current for the
  65. buck regulators.
  66. config SPL_DM_REGULATOR_DA9063
  67. bool "Enable Driver Model for REGULATOR DA9063 in SPL"
  68. depends on DM_REGULATOR && DM_PMIC_DA9063 && SPL
  69. help
  70. This config enables implementation of driver-model regulator uclass
  71. features for REGULATOR DA9063.
  72. The driver implements get/set api for value, enable and mode for all
  73. regulators. It also implements the get/set api for current for the
  74. buck regulators.
  75. config DM_REGULATOR_PFUZE100
  76. bool "Enable Driver Model for REGULATOR PFUZE100"
  77. depends on DM_REGULATOR && DM_PMIC_PFUZE100
  78. ---help---
  79. This config enables implementation of driver-model regulator uclass
  80. features for REGULATOR PFUZE100. The driver implements get/set api for:
  81. value, enable and mode.
  82. config REGULATOR_PWM
  83. bool "Enable driver for PWM regulators"
  84. depends on DM_REGULATOR
  85. ---help---
  86. Enable support for the PWM regulator functions which voltage are
  87. controlled by PWM duty ratio. Some of Rockchip board using this kind
  88. of regulator. The driver implements get/set api for the various BUCKS.
  89. This driver is controlled by a device tree node
  90. which includes voltage limits.
  91. config SPL_REGULATOR_PWM
  92. bool "Enable Driver for PWM regulators in SPL"
  93. depends on REGULATOR_PWM
  94. help
  95. This config enables implementation of driver-model regulator uclass
  96. features for PWM regulators in SPL.
  97. config DM_REGULATOR_MAX77686
  98. bool "Enable Driver Model for REGULATOR MAX77686"
  99. depends on DM_REGULATOR && DM_PMIC_MAX77686
  100. ---help---
  101. This config enables implementation of driver-model regulator uclass
  102. features for REGULATOR MAX77686. The driver implements get/set api for:
  103. value, enable and mode.
  104. config DM_REGULATOR_FAN53555
  105. bool "Enable Driver Model for REGULATOR FAN53555"
  106. depends on DM_PMIC_FAN53555
  107. help
  108. This config enables implementation of driver-model regulator
  109. uclass features for the FAN53555 regulator. The FAN53555 is
  110. a (family of) single-output regulators that supports
  111. transitioning between two different output voltages based on
  112. an voltage selection pin.
  113. The driver implements a get/set api for the voltage of the
  114. 'normal mode' voltage only. Switching to 'suspend mode'
  115. (i.e. the alternate voltage), disabling output via software,
  116. or switching the mode is not supported by this driver (at
  117. this time).
  118. config DM_REGULATOR_COMMON
  119. bool
  120. depends on DM_REGULATOR
  121. config SPL_DM_REGULATOR_COMMON
  122. bool
  123. depends on DM_REGULATOR
  124. config DM_REGULATOR_FIXED
  125. bool "Enable Driver Model for REGULATOR Fixed value"
  126. depends on DM_REGULATOR
  127. select DM_REGULATOR_COMMON
  128. ---help---
  129. This config enables implementation of driver-model regulator uclass
  130. features for fixed value regulators. The driver implements get/set api
  131. for enable and get only for voltage value.
  132. config SPL_DM_REGULATOR_FIXED
  133. bool "Enable Driver Model for REGULATOR Fixed value in SPL"
  134. depends on DM_REGULATOR_FIXED
  135. select SPL_DM_REGULATOR_COMMON
  136. ---help---
  137. This config enables implementation of driver-model regulator uclass
  138. features for fixed value regulators in SPL.
  139. config DM_REGULATOR_GPIO
  140. bool "Enable Driver Model for GPIO REGULATOR"
  141. depends on DM_REGULATOR && DM_GPIO
  142. select DM_REGULATOR_COMMON
  143. ---help---
  144. This config enables implementation of driver-model regulator uclass
  145. features for gpio regulators. The driver implements get/set for
  146. voltage value.
  147. config SPL_DM_REGULATOR_GPIO
  148. bool "Enable Driver Model for GPIO REGULATOR in SPL"
  149. depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT
  150. select SPL_DM_REGULATOR_COMMON
  151. ---help---
  152. This config enables implementation of driver-model regulator uclass
  153. features for gpio regulators in SPL.
  154. config REGULATOR_RK8XX
  155. bool "Enable driver for RK8XX regulators"
  156. depends on DM_REGULATOR && PMIC_RK8XX
  157. ---help---
  158. Enable support for the regulator functions of the RK8XX PMIC. The
  159. driver implements get/set api for the various BUCKS and LDOs supported
  160. by the PMIC device. This driver is controlled by a device tree node
  161. which includes voltage limits.
  162. config DM_REGULATOR_S2MPS11
  163. bool "Enable driver for S2MPS11 regulator"
  164. depends on DM_REGULATOR && PMIC_S2MPS11
  165. ---help---
  166. This enables implementation of driver-model regulator uclass
  167. features for REGULATOR S2MPS11.
  168. The driver implements get/set api for: value and enable.
  169. config REGULATOR_S5M8767
  170. bool "Enable support for S5M8767 regulator"
  171. depends on DM_REGULATOR && PMIC_S5M8767
  172. ---help---
  173. This enables the regulator features of the S5M8767, allowing voltages
  174. to be set, etc. The driver is not fully complete but supports most
  175. common requirements, including all LDOs and BUCKs. This allows many
  176. supplies to be set automatically using the device tree values.
  177. config DM_REGULATOR_SANDBOX
  178. bool "Enable Driver Model for Sandbox PMIC regulator"
  179. depends on DM_REGULATOR && DM_PMIC_SANDBOX
  180. ---help---
  181. Enable the regulator driver for emulated Sandbox PMIC.
  182. The emulated PMIC device depends on two drivers:
  183. - sandbox PMIC I/O driver - implements dm pmic operations
  184. - sandbox PMIC regulator driver - implements dm regulator operations
  185. - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
  186. The regulator driver provides uclass operations for sandbox PMIC's
  187. regulators. The driver implements get/set api for: voltage, current,
  188. operation mode and enable state.
  189. The driver supports LDO and BUCK regulators.
  190. The Sandbox PMIC info:
  191. * I/O interface:
  192. - I2C chip address: 0x40
  193. - first register address: 0x0
  194. - register count: 0x10
  195. * Adjustable outputs:
  196. - 2x LDO
  197. - 2x BUCK
  198. - Each, with a different operating conditions (header).
  199. * Reset values:
  200. - set by i2c emul driver's probe() (defaults in header)
  201. A detailed information can be found in header: '<power/sandbox_pmic.h>'
  202. Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
  203. config REGULATOR_TPS65090
  204. bool "Enable driver for TPS65090 PMIC regulators"
  205. depends on PMIC_TPS65090
  206. ---help---
  207. The TPS65090 provides several FETs (Field-effect Transistors,
  208. effectively switches) which are supported by this driver as
  209. regulators, one for each FET. The standard regulator interface is
  210. supported, but it is only possible to turn the regulators on or off.
  211. There is no voltage/current control.
  212. config DM_REGULATOR_PALMAS
  213. bool "Enable driver for PALMAS PMIC regulators"
  214. depends on PMIC_PALMAS
  215. ---help---
  216. This enables implementation of driver-model regulator uclass
  217. features for REGULATOR PALMAS and the family of PALMAS PMICs.
  218. The driver implements get/set api for: value and enable.
  219. config DM_REGULATOR_PBIAS
  220. bool "Enable driver for PBIAS regulator"
  221. depends on DM_REGULATOR
  222. select REGMAP
  223. select SYSCON
  224. ---help---
  225. This enables implementation of driver-model regulator uclass
  226. features for pseudo-regulator PBIAS found in the OMAP SOCs.
  227. This pseudo-regulator is used to provide a BIAS voltage to MMC1
  228. signal pads and must be configured properly during a voltage switch.
  229. Voltage switching is required by some operating modes of SDcards and
  230. eMMC.
  231. config DM_REGULATOR_LP873X
  232. bool "Enable driver for LP873X PMIC regulators"
  233. depends on PMIC_LP873X
  234. ---help---
  235. This enables implementation of driver-model regulator uclass
  236. features for REGULATOR LP873X and the family of LP873X PMICs.
  237. The driver implements get/set api for: value and enable.
  238. config DM_REGULATOR_LP87565
  239. bool "Enable driver for LP87565 PMIC regulators"
  240. depends on PMIC_LP87565
  241. ---help---
  242. This enables implementation of driver-model regulator uclass
  243. features for REGULATOR LP87565 and the family of LP87565 PMICs.
  244. LP87565 series of PMICs have 4 single phase BUCKs that can also
  245. be configured in multi phase modes. The driver implements
  246. get/set api for value and enable.
  247. config DM_REGULATOR_STM32_VREFBUF
  248. bool "Enable driver for STMicroelectronics STM32 VREFBUF"
  249. depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
  250. help
  251. This driver supports STMicroelectronics STM32 VREFBUF (voltage
  252. reference buffer) which can be used as voltage reference for
  253. internal ADCs, DACs and also for external components through
  254. dedicated Vref+ pin.
  255. config DM_REGULATOR_TPS65910
  256. bool "Enable driver for TPS65910 PMIC regulators"
  257. depends on DM_PMIC_TPS65910
  258. ---help---
  259. The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
  260. regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
  261. the get/set api for value and enable.
  262. config DM_REGULATOR_TPS62360
  263. bool "Enable driver for TPS6236x Power Regulator"
  264. depends on DM_REGULATOR
  265. help
  266. The TPS6236X DC/DC step down converter provides a single output
  267. power line peaking at 3A current. This driver supports all four
  268. variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
  269. implements the get/set api for value only, as the power line is
  270. always on.
  271. config DM_REGULATOR_STPMIC1
  272. bool "Enable driver for STPMIC1 regulators"
  273. depends on DM_REGULATOR && PMIC_STPMIC1
  274. ---help---
  275. Enable support for the regulator functions of the STPMIC1 PMIC. The
  276. driver implements get/set api for the various BUCKS and LDOs supported
  277. by the PMIC device. This driver is controlled by a device tree node
  278. which includes voltage limits.
  279. config DM_REGULATOR_ANATOP
  280. bool "Enable driver for ANATOP regulators"
  281. depends on DM_REGULATOR
  282. select REGMAP
  283. select SYSCON
  284. help
  285. Enable support for the Freescale i.MX on-chip ANATOP LDO
  286. regulators. It is recommended that this option be enabled on
  287. i.MX6 platform.
  288. config SPL_DM_REGULATOR_STPMIC1
  289. bool "Enable driver for STPMIC1 regulators in SPL"
  290. depends on SPL_DM_REGULATOR && PMIC_STPMIC1
  291. help
  292. Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
  293. config SPL_DM_REGULATOR_PALMAS
  294. bool "Enable driver for PALMAS PMIC regulators"
  295. depends on SPL_PMIC_PALMAS
  296. help
  297. This enables implementation of driver-model regulator uclass
  298. features for REGULATOR PALMAS and the family of PALMAS PMICs.
  299. The driver implements get/set api for: value and enable in SPL.
  300. config SPL_DM_REGULATOR_LP87565
  301. bool "Enable driver for LP87565 PMIC regulators"
  302. depends on SPL_PMIC_LP87565
  303. help
  304. This enables implementation of driver-model regulator uclass
  305. features for REGULATOR LP87565 and the family of LP87565 PMICs.
  306. LP87565 series of PMICs have 4 single phase BUCKs that can also
  307. be configured in multi phase modes. The driver implements
  308. get/set api for value and enable in SPL.
  309. config SPL_DM_REGULATOR_LP873X
  310. bool "Enable driver for LP873X PMIC regulators"
  311. depends on SPL_PMIC_LP873X
  312. help
  313. This enables implementation of driver-model regulator uclass
  314. features for REGULATOR LP873X and the family of LP873X PMICs.
  315. The driver implements get/set api for: value and enable in SPL.
  316. config DM_REGULATOR_TPS65941
  317. bool "Enable driver for TPS65941 PMIC regulators"
  318. depends on PMIC_TPS65941
  319. help
  320. This enables implementation of driver-model regulator uclass
  321. features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
  322. TPS65941 series of PMICs have 5 single phase BUCKs that can also
  323. be configured in multi phase modes & 4 LDOs. The driver implements
  324. get/set api for value and enable.
  325. config DM_REGULATOR_SCMI
  326. bool "Enable driver for SCMI voltage domain regulators"
  327. depends on DM_REGULATOR
  328. select SCMI_AGENT
  329. help
  330. Enable this option if you want to support regulators exposed through
  331. the SCMI voltage domain protocol by a SCMI server.