blob: cd253b95f2f08fe2f2098464824400e52fe1dd15 [file] [log] [blame]
Przemyslaw Marczak08edd002015-04-20 20:07:42 +02001config 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
Simon Glass09128c52016-07-05 17:10:09 -060016 for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
Przemyslaw Marczak75692a32015-05-13 13:38:27 +020017 otherwise. Detailed information can be found in the header file.
Przemyslaw Marczakafee81e2015-04-20 20:07:47 +020018
Simon Glassc8db7b42016-01-21 19:43:55 -070019config SPL_DM_REGULATOR
20 bool "Enable regulators for SPL"
Simon Glasse91ac4c2021-07-10 21:14:24 -060021 depends on DM_REGULATOR && SPL_POWER
Simon Glassc8db7b42016-01-21 19:43:55 -070022 ---help---
23 Regulators are seldom needed in SPL. Even if they are accessed, some
24 code space can be saved by accessing the PMIC registers directly.
25 Enable this option if you need regulators in SPL and can cope with
26 the extra code size.
27
Simon Glassd102cf62015-08-30 16:55:30 -060028config REGULATOR_ACT8846
29 bool "Enable driver for ACT8846 regulator"
30 depends on DM_REGULATOR && PMIC_ACT8846
31 ---help---
32 Enable support for the regulator functions of the ACT8846 PMIC. The
33 driver implements get/set api for the various BUCKS and LDOS supported
34 by the PMIC device. This driver is controlled by a device tree node
35 which includes voltage limits.
36
Simon Glass8f189512017-07-25 08:30:10 -060037config REGULATOR_AS3722
38 bool "Enable driver for AS7322 regulator"
39 depends on DM_REGULATOR && PMIC_AS3722
40 help
41 Enable support for the regulator functions of the AS3722. The
42 driver implements enable/disable for step-down bucks and LDOs,
43 but does not yet support change voltages. Currently this must be
44 done using direct register writes to the PMIC.
45
Matti Vaittinen9d4ce302019-05-07 10:45:55 +030046config DM_REGULATOR_BD71837
47 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators"
48 depends on DM_REGULATOR && DM_PMIC_BD71837
49 help
50 This config enables implementation of driver-model regulator uclass
51 features for regulators on ROHM BD71837 and BD71847 PMICs.
52 BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version
53 containing 6 bucks and 6 LDOs. The driver implements get/set api for
54 value and enable.
55
56config SPL_DM_REGULATOR_BD71837
57 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL"
58 depends on DM_REGULATOR_BD71837
59 help
60 This config enables implementation of driver-model regulator uclass
61 features for regulators on ROHM BD71837 and BD71847 in SPL.
62
Martin Fuzzeyd309f622020-01-14 15:56:17 +000063config DM_REGULATOR_DA9063
64 bool "Enable Driver Model for REGULATOR DA9063"
65 depends on DM_REGULATOR && DM_PMIC_DA9063
66 help
67 This config enables implementation of driver-model regulator uclass
68 features for REGULATOR DA9063.
69 The driver implements get/set api for value, enable and mode for all
70 regulators. It also implements the get/set api for current for the
71 buck regulators.
72
73config SPL_DM_REGULATOR_DA9063
74 bool "Enable Driver Model for REGULATOR DA9063 in SPL"
75 depends on DM_REGULATOR && DM_PMIC_DA9063 && SPL
76 help
77 This config enables implementation of driver-model regulator uclass
78 features for REGULATOR DA9063.
79 The driver implements get/set api for value, enable and mode for all
80 regulators. It also implements the get/set api for current for the
81 buck regulators.
82
Peng Fan54ee6a42015-08-07 16:43:45 +080083config DM_REGULATOR_PFUZE100
84 bool "Enable Driver Model for REGULATOR PFUZE100"
85 depends on DM_REGULATOR && DM_PMIC_PFUZE100
86 ---help---
87 This config enables implementation of driver-model regulator uclass
88 features for REGULATOR PFUZE100. The driver implements get/set api for:
89 value, enable and mode.
90
Kever Yang8bbe1cc2016-09-23 15:57:19 +080091config REGULATOR_PWM
92 bool "Enable driver for PWM regulators"
93 depends on DM_REGULATOR
94 ---help---
95 Enable support for the PWM regulator functions which voltage are
96 controlled by PWM duty ratio. Some of Rockchip board using this kind
97 of regulator. The driver implements get/set api for the various BUCKS.
98 This driver is controlled by a device tree node
99 which includes voltage limits.
100
Christoph Muellner4484b852019-01-02 15:09:16 +0100101config SPL_REGULATOR_PWM
102 bool "Enable Driver for PWM regulators in SPL"
103 depends on REGULATOR_PWM
104 help
105 This config enables implementation of driver-model regulator uclass
106 features for PWM regulators in SPL.
107
Przemyslaw Marczakafee81e2015-04-20 20:07:47 +0200108config DM_REGULATOR_MAX77686
109 bool "Enable Driver Model for REGULATOR MAX77686"
110 depends on DM_REGULATOR && DM_PMIC_MAX77686
111 ---help---
112 This config enables implementation of driver-model regulator uclass
113 features for REGULATOR MAX77686. The driver implements get/set api for:
114 value, enable and mode.
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200115
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100116config DM_REGULATOR_FAN53555
117 bool "Enable Driver Model for REGULATOR FAN53555"
118 depends on DM_PMIC_FAN53555
119 help
120 This config enables implementation of driver-model regulator
121 uclass features for the FAN53555 regulator. The FAN53555 is
122 a (family of) single-output regulators that supports
123 transitioning between two different output voltages based on
124 an voltage selection pin.
125
126 The driver implements a get/set api for the voltage of the
127 'normal mode' voltage only. Switching to 'suspend mode'
128 (i.e. the alternate voltage), disabling output via software,
129 or switching the mode is not supported by this driver (at
130 this time).
131
Sven Schwermer25957522019-06-24 13:03:33 +0200132config DM_REGULATOR_COMMON
133 bool
134 depends on DM_REGULATOR
135
136config SPL_DM_REGULATOR_COMMON
137 bool
138 depends on DM_REGULATOR
139
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200140config DM_REGULATOR_FIXED
141 bool "Enable Driver Model for REGULATOR Fixed value"
142 depends on DM_REGULATOR
Sven Schwermer25957522019-06-24 13:03:33 +0200143 select DM_REGULATOR_COMMON
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200144 ---help---
145 This config enables implementation of driver-model regulator uclass
146 features for fixed value regulators. The driver implements get/set api
147 for enable and get only for voltage value.
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200148
Philipp Tomsichd52626c2017-09-29 19:28:02 +0200149config SPL_DM_REGULATOR_FIXED
150 bool "Enable Driver Model for REGULATOR Fixed value in SPL"
151 depends on DM_REGULATOR_FIXED
Sven Schwermer25957522019-06-24 13:03:33 +0200152 select SPL_DM_REGULATOR_COMMON
Philipp Tomsichd52626c2017-09-29 19:28:02 +0200153 ---help---
154 This config enables implementation of driver-model regulator uclass
155 features for fixed value regulators in SPL.
156
Keerthy17b3fe72016-09-15 17:04:06 +0530157config DM_REGULATOR_GPIO
158 bool "Enable Driver Model for GPIO REGULATOR"
Lokesh Vutla638d2342018-10-24 21:06:50 +0530159 depends on DM_REGULATOR && DM_GPIO
Sven Schwermerdb58d9e2019-06-24 13:03:34 +0200160 select DM_REGULATOR_COMMON
Keerthy17b3fe72016-09-15 17:04:06 +0530161 ---help---
162 This config enables implementation of driver-model regulator uclass
163 features for gpio regulators. The driver implements get/set for
164 voltage value.
165
Lokesh Vutla638d2342018-10-24 21:06:50 +0530166config SPL_DM_REGULATOR_GPIO
167 bool "Enable Driver Model for GPIO REGULATOR in SPL"
Simon Glass035939e2021-07-10 21:14:30 -0600168 depends on DM_REGULATOR_GPIO && SPL_GPIO
Sven Schwermerdb58d9e2019-06-24 13:03:34 +0200169 select SPL_DM_REGULATOR_COMMON
Lokesh Vutla638d2342018-10-24 21:06:50 +0530170 ---help---
171 This config enables implementation of driver-model regulator uclass
172 features for gpio regulators in SPL.
173
Jacob Chen614704b2017-05-02 14:54:52 +0800174config REGULATOR_RK8XX
175 bool "Enable driver for RK8XX regulators"
176 depends on DM_REGULATOR && PMIC_RK8XX
Simon Glassadecfef2016-01-21 19:43:30 -0700177 ---help---
Jacob Chen614704b2017-05-02 14:54:52 +0800178 Enable support for the regulator functions of the RK8XX PMIC. The
Simon Glassadecfef2016-01-21 19:43:30 -0700179 driver implements get/set api for the various BUCKS and LDOs supported
180 by the PMIC device. This driver is controlled by a device tree node
181 which includes voltage limits.
182
Jaehoon Chung76f20082018-01-16 15:33:50 +0900183config DM_REGULATOR_S2MPS11
184 bool "Enable driver for S2MPS11 regulator"
185 depends on DM_REGULATOR && PMIC_S2MPS11
186 ---help---
187 This enables implementation of driver-model regulator uclass
188 features for REGULATOR S2MPS11.
189 The driver implements get/set api for: value and enable.
190
Simon Glass23361032015-07-02 18:16:01 -0600191config REGULATOR_S5M8767
192 bool "Enable support for S5M8767 regulator"
193 depends on DM_REGULATOR && PMIC_S5M8767
194 ---help---
195 This enables the regulator features of the S5M8767, allowing voltages
196 to be set, etc. The driver is not fully complete but supports most
197 common requirements, including all LDOs and BUCKs. This allows many
198 supplies to be set automatically using the device tree values.
199
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200200config DM_REGULATOR_SANDBOX
201 bool "Enable Driver Model for Sandbox PMIC regulator"
202 depends on DM_REGULATOR && DM_PMIC_SANDBOX
203 ---help---
204 Enable the regulator driver for emulated Sandbox PMIC.
205 The emulated PMIC device depends on two drivers:
206 - sandbox PMIC I/O driver - implements dm pmic operations
207 - sandbox PMIC regulator driver - implements dm regulator operations
208 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
209
210 The regulator driver provides uclass operations for sandbox PMIC's
211 regulators. The driver implements get/set api for: voltage, current,
212 operation mode and enable state.
213 The driver supports LDO and BUCK regulators.
214
215 The Sandbox PMIC info:
216 * I/O interface:
217 - I2C chip address: 0x40
218 - first register address: 0x0
219 - register count: 0x10
220 * Adjustable outputs:
221 - 2x LDO
222 - 2x BUCK
223 - Each, with a different operating conditions (header).
224 * Reset values:
225 - set by i2c emul driver's probe() (defaults in header)
226
227 A detailed information can be found in header: '<power/sandbox_pmic.h>'
228 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
Simon Glass9fa8e9c2015-07-02 18:15:59 -0600229
230config REGULATOR_TPS65090
231 bool "Enable driver for TPS65090 PMIC regulators"
232 depends on PMIC_TPS65090
233 ---help---
234 The TPS65090 provides several FETs (Field-effect Transistors,
235 effectively switches) which are supported by this driver as
236 regulators, one for each FET. The standard regulator interface is
237 supported, but it is only possible to turn the regulators on or off.
238 There is no voltage/current control.
Keerthyffed0ea2016-09-30 09:20:44 +0530239
240config DM_REGULATOR_PALMAS
241 bool "Enable driver for PALMAS PMIC regulators"
242 depends on PMIC_PALMAS
243 ---help---
244 This enables implementation of driver-model regulator uclass
245 features for REGULATOR PALMAS and the family of PALMAS PMICs.
246 The driver implements get/set api for: value and enable.
Keerthy947d9282016-09-30 09:34:03 +0530247
Jean-Jacques Hiblot4612bdd2017-09-21 17:03:10 +0200248config DM_REGULATOR_PBIAS
249 bool "Enable driver for PBIAS regulator"
250 depends on DM_REGULATOR
251 select REGMAP
252 select SYSCON
253 ---help---
254 This enables implementation of driver-model regulator uclass
255 features for pseudo-regulator PBIAS found in the OMAP SOCs.
256 This pseudo-regulator is used to provide a BIAS voltage to MMC1
257 signal pads and must be configured properly during a voltage switch.
258 Voltage switching is required by some operating modes of SDcards and
259 eMMC.
260
Keerthy947d9282016-09-30 09:34:03 +0530261config DM_REGULATOR_LP873X
262 bool "Enable driver for LP873X PMIC regulators"
263 depends on PMIC_LP873X
264 ---help---
265 This enables implementation of driver-model regulator uclass
266 features for REGULATOR LP873X and the family of LP873X PMICs.
267 The driver implements get/set api for: value and enable.
Keerthy22831662017-06-07 19:08:29 +0530268
269config DM_REGULATOR_LP87565
270 bool "Enable driver for LP87565 PMIC regulators"
271 depends on PMIC_LP87565
272 ---help---
273 This enables implementation of driver-model regulator uclass
274 features for REGULATOR LP87565 and the family of LP87565 PMICs.
275 LP87565 series of PMICs have 4 single phase BUCKs that can also
276 be configured in multi phase modes. The driver implements
277 get/set api for value and enable.
Felix Brack9493f0e2017-11-30 13:52:37 +0100278
Fabrice Gasnier95c868e2018-04-26 17:00:46 +0200279config DM_REGULATOR_STM32_VREFBUF
280 bool "Enable driver for STMicroelectronics STM32 VREFBUF"
281 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
282 help
283 This driver supports STMicroelectronics STM32 VREFBUF (voltage
284 reference buffer) which can be used as voltage reference for
285 internal ADCs, DACs and also for external components through
286 dedicated Vref+ pin.
287
Felix Brack9493f0e2017-11-30 13:52:37 +0100288config DM_REGULATOR_TPS65910
289 bool "Enable driver for TPS65910 PMIC regulators"
290 depends on DM_PMIC_TPS65910
291 ---help---
292 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
293 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
294 the get/set api for value and enable.
Christophe Kerello1b659742018-04-26 17:13:09 +0200295
Tero Kristodaec3412019-10-24 15:00:48 +0530296config DM_REGULATOR_TPS62360
297 bool "Enable driver for TPS6236x Power Regulator"
298 depends on DM_REGULATOR
299 help
300 The TPS6236X DC/DC step down converter provides a single output
301 power line peaking at 3A current. This driver supports all four
302 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
303 implements the get/set api for value only, as the power line is
304 always on.
305
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100306config DM_REGULATOR_STPMIC1
307 bool "Enable driver for STPMIC1 regulators"
308 depends on DM_REGULATOR && PMIC_STPMIC1
Christophe Kerello1b659742018-04-26 17:13:09 +0200309 ---help---
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100310 Enable support for the regulator functions of the STPMIC1 PMIC. The
Christophe Kerello1b659742018-04-26 17:13:09 +0200311 driver implements get/set api for the various BUCKS and LDOs supported
312 by the PMIC device. This driver is controlled by a device tree node
313 which includes voltage limits.
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100314
Ying-Chun Liu (PaulLiu)cd6425a2021-03-27 21:46:51 +0800315config DM_REGULATOR_ANATOP
316 bool "Enable driver for ANATOP regulators"
317 depends on DM_REGULATOR
318 select REGMAP
319 select SYSCON
320 help
321 Enable support for the Freescale i.MX on-chip ANATOP LDO
322 regulators. It is recommended that this option be enabled on
323 i.MX6 platform.
324
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100325config SPL_DM_REGULATOR_STPMIC1
326 bool "Enable driver for STPMIC1 regulators in SPL"
327 depends on SPL_DM_REGULATOR && PMIC_STPMIC1
328 help
329 Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
Keerthyfb043902019-06-06 16:06:56 +0530330
331config SPL_DM_REGULATOR_PALMAS
332 bool "Enable driver for PALMAS PMIC regulators"
333 depends on SPL_PMIC_PALMAS
334 help
335 This enables implementation of driver-model regulator uclass
336 features for REGULATOR PALMAS and the family of PALMAS PMICs.
337 The driver implements get/set api for: value and enable in SPL.
338
339config SPL_DM_REGULATOR_LP87565
340 bool "Enable driver for LP87565 PMIC regulators"
341 depends on SPL_PMIC_LP87565
342 help
343 This enables implementation of driver-model regulator uclass
344 features for REGULATOR LP87565 and the family of LP87565 PMICs.
345 LP87565 series of PMICs have 4 single phase BUCKs that can also
346 be configured in multi phase modes. The driver implements
347 get/set api for value and enable in SPL.
348
349config SPL_DM_REGULATOR_LP873X
350 bool "Enable driver for LP873X PMIC regulators"
351 depends on SPL_PMIC_LP873X
352 help
353 This enables implementation of driver-model regulator uclass
354 features for REGULATOR LP873X and the family of LP873X PMICs.
355 The driver implements get/set api for: value and enable in SPL.
Keerthy4a030002019-10-24 15:00:51 +0530356
357config DM_REGULATOR_TPS65941
358 bool "Enable driver for TPS65941 PMIC regulators"
359 depends on PMIC_TPS65941
360 help
361 This enables implementation of driver-model regulator uclass
362 features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
363 TPS65941 series of PMICs have 5 single phase BUCKs that can also
364 be configured in multi phase modes & 4 LDOs. The driver implements
365 get/set api for value and enable.
Etienne Carriered68663a2021-03-08 22:38:06 +0100366
367config DM_REGULATOR_SCMI
368 bool "Enable driver for SCMI voltage domain regulators"
369 depends on DM_REGULATOR
370 select SCMI_AGENT
371 help
372 Enable this option if you want to support regulators exposed through
373 the SCMI voltage domain protocol by a SCMI server.