blob: 6454c5485516d14d018ee9d5359465c0fc1f8ba6 [file] [log] [blame]
Przemyslaw Marczakaf41e8d2015-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 Glass2e3f1ff2016-07-05 17:10:09 -060016 for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
Przemyslaw Marczak3b880752015-05-13 13:38:27 +020017 otherwise. Detailed information can be found in the header file.
Przemyslaw Marczak1757df42015-04-20 20:07:47 +020018
Simon Glass1f2b4b02016-01-21 19:43:55 -070019config SPL_DM_REGULATOR
20 bool "Enable regulators for SPL"
Simon Glass933b2f02021-07-10 21:14:24 -060021 depends on DM_REGULATOR && SPL_POWER
Simon Glass1f2b4b02016-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 Glass91198202015-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 Glassdeea2112017-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
Samuel Holland27a93dd2023-01-21 17:13:05 -060046config REGULATOR_AXP
47 bool "Enable driver for X-Powers AXP PMIC regulators"
48 depends on DM_REGULATOR && PMIC_AXP
49 help
50 Enable support for the regulators (DCDCs, LDOs) in the
51 X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
52
53config SPL_REGULATOR_AXP
54 bool "Enable driver for X-Powers AXP PMIC regulators in SPL"
55 depends on SPL_DM_REGULATOR && SPL_PMIC_AXP
56 help
57 Enable support in SPL for the regulators (DCDCs, LDOs) in the
58 X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
59
Samuel Hollandee6a6782023-01-22 17:46:20 -060060config REGULATOR_AXP_USB_POWER
61 bool "Enable driver for X-Powers AXP PMIC USB power supply"
62 depends on DM_REGULATOR && PMIC_AXP
63 help
64 Enable support for reading the USB power supply status from
65 X-Powers AXP2xx and AXP8xx PMICs.
66
Matti Vaittinen21b02412019-05-07 10:45:55 +030067config DM_REGULATOR_BD71837
68 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators"
69 depends on DM_REGULATOR && DM_PMIC_BD71837
70 help
71 This config enables implementation of driver-model regulator uclass
72 features for regulators on ROHM BD71837 and BD71847 PMICs.
73 BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version
74 containing 6 bucks and 6 LDOs. The driver implements get/set api for
75 value and enable.
76
77config SPL_DM_REGULATOR_BD71837
78 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL"
Tom Rinib3401992022-06-10 23:03:09 -040079 depends on DM_REGULATOR_BD71837 && SPL
Matti Vaittinen21b02412019-05-07 10:45:55 +030080 help
81 This config enables implementation of driver-model regulator uclass
82 features for regulators on ROHM BD71837 and BD71847 in SPL.
83
Marek Vasut326337f2022-05-20 05:10:17 +020084config DM_REGULATOR_PCA9450
85 bool "Enable Driver Model for NXP PCA9450 regulators"
86 depends on DM_REGULATOR && DM_PMIC_PCA9450
87 help
88 This config enables implementation of driver-model regulator uclass
89 features for regulators on NXP PCA9450 PMICs. PCA9450 contains 6 bucks
90 and 5 LDOS. The driver implements get/set api for value and enable.
91
92config SPL_DM_REGULATOR_PCA9450
93 bool "Enable Driver Model for NXP PCA9450 regulators in SPL"
Tom Rinib3401992022-06-10 23:03:09 -040094 depends on DM_REGULATOR_PCA9450 && SPL
Marek Vasut326337f2022-05-20 05:10:17 +020095 help
96 This config enables implementation of driver-model regulator uclass
97 features for regulators on ROHM PCA9450 in SPL.
98
Martin Fuzzey7ae22d82020-01-14 15:56:17 +000099config DM_REGULATOR_DA9063
100 bool "Enable Driver Model for REGULATOR DA9063"
101 depends on DM_REGULATOR && DM_PMIC_DA9063
102 help
103 This config enables implementation of driver-model regulator uclass
104 features for REGULATOR DA9063.
105 The driver implements get/set api for value, enable and mode for all
106 regulators. It also implements the get/set api for current for the
107 buck regulators.
108
109config SPL_DM_REGULATOR_DA9063
110 bool "Enable Driver Model for REGULATOR DA9063 in SPL"
111 depends on DM_REGULATOR && DM_PMIC_DA9063 && SPL
112 help
113 This config enables implementation of driver-model regulator uclass
114 features for REGULATOR DA9063.
115 The driver implements get/set api for value, enable and mode for all
116 regulators. It also implements the get/set api for current for the
117 buck regulators.
118
Peng Fan8fa46352015-08-07 16:43:45 +0800119config DM_REGULATOR_PFUZE100
120 bool "Enable Driver Model for REGULATOR PFUZE100"
121 depends on DM_REGULATOR && DM_PMIC_PFUZE100
122 ---help---
123 This config enables implementation of driver-model regulator uclass
124 features for REGULATOR PFUZE100. The driver implements get/set api for:
125 value, enable and mode.
126
Kever Yang1a016952016-09-23 15:57:19 +0800127config REGULATOR_PWM
128 bool "Enable driver for PWM regulators"
129 depends on DM_REGULATOR
130 ---help---
131 Enable support for the PWM regulator functions which voltage are
132 controlled by PWM duty ratio. Some of Rockchip board using this kind
133 of regulator. The driver implements get/set api for the various BUCKS.
134 This driver is controlled by a device tree node
135 which includes voltage limits.
136
Christoph Muellnerddc824f2019-01-02 15:09:16 +0100137config SPL_REGULATOR_PWM
138 bool "Enable Driver for PWM regulators in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400139 depends on REGULATOR_PWM && SPL
Christoph Muellnerddc824f2019-01-02 15:09:16 +0100140 help
141 This config enables implementation of driver-model regulator uclass
142 features for PWM regulators in SPL.
143
Svyatoslav Ryhelcc7595a2023-10-27 11:26:11 +0300144config DM_REGULATOR_MAX77663
145 bool "Enable Driver Model for REGULATOR MAX77663"
146 depends on DM_REGULATOR && DM_PMIC_MAX77663
147 ---help---
148 This config enables implementation of driver-model regulator uclass
149 features for REGULATOR MAX77663. The driver supports both DC-to-DC
150 Step-Down (SD) Regulators and Low-Dropout Linear (LDO) Regulators
151 found in MAX77663 PMIC and implements get/set api for value and enable.
152
Przemyslaw Marczak1757df42015-04-20 20:07:47 +0200153config DM_REGULATOR_MAX77686
154 bool "Enable Driver Model for REGULATOR MAX77686"
155 depends on DM_REGULATOR && DM_PMIC_MAX77686
156 ---help---
157 This config enables implementation of driver-model regulator uclass
158 features for REGULATOR MAX77686. The driver implements get/set api for:
159 value, enable and mode.
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200160
Jim Liudbedf4a2022-11-07 10:48:27 +0800161config DM_REGULATOR_NPCM8XX
162 bool "Enable Driver Model for NPCM8xx voltage supply"
163 depends on DM_REGULATOR && ARCH_NPCM8XX
164 help
165 Enable support for configuring voltage supply on NPCM8XX SoC. The
166 voltage supplies support two voltage levels and the driver implements
167 get/set api for setting the value.
168
Philipp Tomsichdfb0a702018-11-30 20:00:08 +0100169config DM_REGULATOR_FAN53555
170 bool "Enable Driver Model for REGULATOR FAN53555"
171 depends on DM_PMIC_FAN53555
172 help
173 This config enables implementation of driver-model regulator
174 uclass features for the FAN53555 regulator. The FAN53555 is
175 a (family of) single-output regulators that supports
176 transitioning between two different output voltages based on
177 an voltage selection pin.
178
179 The driver implements a get/set api for the voltage of the
180 'normal mode' voltage only. Switching to 'suspend mode'
181 (i.e. the alternate voltage), disabling output via software,
182 or switching the mode is not supported by this driver (at
183 this time).
184
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200185config DM_REGULATOR_COMMON
186 bool
187 depends on DM_REGULATOR
188
189config SPL_DM_REGULATOR_COMMON
190 bool
191 depends on DM_REGULATOR
192
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200193config DM_REGULATOR_FIXED
194 bool "Enable Driver Model for REGULATOR Fixed value"
195 depends on DM_REGULATOR
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200196 select DM_REGULATOR_COMMON
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200197 ---help---
198 This config enables implementation of driver-model regulator uclass
199 features for fixed value regulators. The driver implements get/set api
200 for enable and get only for voltage value.
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200201
Philipp Tomsich9086eab2017-09-29 19:28:02 +0200202config SPL_DM_REGULATOR_FIXED
203 bool "Enable Driver Model for REGULATOR Fixed value in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400204 depends on DM_REGULATOR_FIXED && SPL
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200205 select SPL_DM_REGULATOR_COMMON
Philipp Tomsich9086eab2017-09-29 19:28:02 +0200206 ---help---
207 This config enables implementation of driver-model regulator uclass
208 features for fixed value regulators in SPL.
209
Keerthy477dfe22016-09-15 17:04:06 +0530210config DM_REGULATOR_GPIO
211 bool "Enable Driver Model for GPIO REGULATOR"
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530212 depends on DM_REGULATOR && DM_GPIO
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200213 select DM_REGULATOR_COMMON
Keerthy477dfe22016-09-15 17:04:06 +0530214 ---help---
215 This config enables implementation of driver-model regulator uclass
216 features for gpio regulators. The driver implements get/set for
217 voltage value.
218
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530219config SPL_DM_REGULATOR_GPIO
220 bool "Enable Driver Model for GPIO REGULATOR in SPL"
Simon Glass83061db2021-07-10 21:14:30 -0600221 depends on DM_REGULATOR_GPIO && SPL_GPIO
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200222 select SPL_DM_REGULATOR_COMMON
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530223 ---help---
224 This config enables implementation of driver-model regulator uclass
225 features for gpio regulators in SPL.
226
Jacob Chen453c5a92017-05-02 14:54:52 +0800227config REGULATOR_RK8XX
228 bool "Enable driver for RK8XX regulators"
229 depends on DM_REGULATOR && PMIC_RK8XX
Simon Glasse1227762016-01-21 19:43:30 -0700230 ---help---
Jacob Chen453c5a92017-05-02 14:54:52 +0800231 Enable support for the regulator functions of the RK8XX PMIC. The
Simon Glasse1227762016-01-21 19:43:30 -0700232 driver implements get/set api for the various BUCKS and LDOs supported
233 by the PMIC device. This driver is controlled by a device tree node
234 which includes voltage limits.
235
Jaehoon Chung60599ea2018-01-16 15:33:50 +0900236config DM_REGULATOR_S2MPS11
237 bool "Enable driver for S2MPS11 regulator"
238 depends on DM_REGULATOR && PMIC_S2MPS11
239 ---help---
240 This enables implementation of driver-model regulator uclass
241 features for REGULATOR S2MPS11.
242 The driver implements get/set api for: value and enable.
243
Simon Glassf615e6a2015-07-02 18:16:01 -0600244config REGULATOR_S5M8767
245 bool "Enable support for S5M8767 regulator"
246 depends on DM_REGULATOR && PMIC_S5M8767
247 ---help---
248 This enables the regulator features of the S5M8767, allowing voltages
249 to be set, etc. The driver is not fully complete but supports most
250 common requirements, including all LDOs and BUCKs. This allows many
251 supplies to be set automatically using the device tree values.
252
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200253config DM_REGULATOR_SANDBOX
254 bool "Enable Driver Model for Sandbox PMIC regulator"
255 depends on DM_REGULATOR && DM_PMIC_SANDBOX
256 ---help---
257 Enable the regulator driver for emulated Sandbox PMIC.
258 The emulated PMIC device depends on two drivers:
259 - sandbox PMIC I/O driver - implements dm pmic operations
260 - sandbox PMIC regulator driver - implements dm regulator operations
261 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
262
263 The regulator driver provides uclass operations for sandbox PMIC's
264 regulators. The driver implements get/set api for: voltage, current,
265 operation mode and enable state.
266 The driver supports LDO and BUCK regulators.
267
268 The Sandbox PMIC info:
269 * I/O interface:
270 - I2C chip address: 0x40
271 - first register address: 0x0
272 - register count: 0x10
273 * Adjustable outputs:
274 - 2x LDO
275 - 2x BUCK
276 - Each, with a different operating conditions (header).
277 * Reset values:
278 - set by i2c emul driver's probe() (defaults in header)
279
280 A detailed information can be found in header: '<power/sandbox_pmic.h>'
281 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
Simon Glass1c88b672015-07-02 18:15:59 -0600282
283config REGULATOR_TPS65090
284 bool "Enable driver for TPS65090 PMIC regulators"
285 depends on PMIC_TPS65090
286 ---help---
287 The TPS65090 provides several FETs (Field-effect Transistors,
288 effectively switches) which are supported by this driver as
289 regulators, one for each FET. The standard regulator interface is
290 supported, but it is only possible to turn the regulators on or off.
291 There is no voltage/current control.
Keerthy884d88b2016-09-30 09:20:44 +0530292
293config DM_REGULATOR_PALMAS
294 bool "Enable driver for PALMAS PMIC regulators"
295 depends on 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.
Keerthy99785de2016-09-30 09:34:03 +0530300
Jean-Jacques Hiblot8ff77632017-09-21 17:03:10 +0200301config DM_REGULATOR_PBIAS
302 bool "Enable driver for PBIAS regulator"
303 depends on DM_REGULATOR
304 select REGMAP
305 select SYSCON
306 ---help---
307 This enables implementation of driver-model regulator uclass
308 features for pseudo-regulator PBIAS found in the OMAP SOCs.
309 This pseudo-regulator is used to provide a BIAS voltage to MMC1
310 signal pads and must be configured properly during a voltage switch.
311 Voltage switching is required by some operating modes of SDcards and
312 eMMC.
313
Keerthy99785de2016-09-30 09:34:03 +0530314config DM_REGULATOR_LP873X
315 bool "Enable driver for LP873X PMIC regulators"
316 depends on PMIC_LP873X
317 ---help---
318 This enables implementation of driver-model regulator uclass
319 features for REGULATOR LP873X and the family of LP873X PMICs.
320 The driver implements get/set api for: value and enable.
Keerthy2dd9dc02017-06-07 19:08:29 +0530321
322config DM_REGULATOR_LP87565
323 bool "Enable driver for LP87565 PMIC regulators"
324 depends on PMIC_LP87565
325 ---help---
326 This enables implementation of driver-model regulator uclass
327 features for REGULATOR LP87565 and the family of LP87565 PMICs.
328 LP87565 series of PMICs have 4 single phase BUCKs that can also
329 be configured in multi phase modes. The driver implements
330 get/set api for value and enable.
Felix Brack854dfbf2017-11-30 13:52:37 +0100331
Fabrice Gasnier93cf0ae2018-04-26 17:00:46 +0200332config DM_REGULATOR_STM32_VREFBUF
333 bool "Enable driver for STMicroelectronics STM32 VREFBUF"
334 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
335 help
336 This driver supports STMicroelectronics STM32 VREFBUF (voltage
337 reference buffer) which can be used as voltage reference for
338 internal ADCs, DACs and also for external components through
339 dedicated Vref+ pin.
340
Felix Brack854dfbf2017-11-30 13:52:37 +0100341config DM_REGULATOR_TPS65910
342 bool "Enable driver for TPS65910 PMIC regulators"
343 depends on DM_PMIC_TPS65910
344 ---help---
345 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
346 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
347 the get/set api for value and enable.
Christophe Kerello069f0b62018-04-26 17:13:09 +0200348
Tero Kristo22e8f182019-10-24 15:00:48 +0530349config DM_REGULATOR_TPS62360
350 bool "Enable driver for TPS6236x Power Regulator"
351 depends on DM_REGULATOR
352 help
353 The TPS6236X DC/DC step down converter provides a single output
354 power line peaking at 3A current. This driver supports all four
355 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
356 implements the get/set api for value only, as the power line is
357 always on.
358
Svyatoslav Ryhela70a75a2023-10-27 11:26:13 +0300359config DM_REGULATOR_TPS80031
360 bool "Enable driver for TPS80031/TPS80032 PMIC regulators"
361 depends on DM_PMIC_TPS80031
362 ---help---
363 This enables implementation of driver-model regulator uclass
364 features for TPS80031/TPS80032 PMICs. The driver implements
365 get/set api for: value and enable.
366
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100367config DM_REGULATOR_STPMIC1
368 bool "Enable driver for STPMIC1 regulators"
369 depends on DM_REGULATOR && PMIC_STPMIC1
Christophe Kerello069f0b62018-04-26 17:13:09 +0200370 ---help---
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100371 Enable support for the regulator functions of the STPMIC1 PMIC. The
Christophe Kerello069f0b62018-04-26 17:13:09 +0200372 driver implements get/set api for the various BUCKS and LDOs supported
373 by the PMIC device. This driver is controlled by a device tree node
374 which includes voltage limits.
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100375
Ying-Chun Liu (PaulLiu)6ab02862021-03-27 21:46:51 +0800376config DM_REGULATOR_ANATOP
377 bool "Enable driver for ANATOP regulators"
378 depends on DM_REGULATOR
379 select REGMAP
380 select SYSCON
381 help
382 Enable support for the Freescale i.MX on-chip ANATOP LDO
383 regulators. It is recommended that this option be enabled on
384 i.MX6 platform.
385
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100386config SPL_DM_REGULATOR_STPMIC1
387 bool "Enable driver for STPMIC1 regulators in SPL"
388 depends on SPL_DM_REGULATOR && PMIC_STPMIC1
389 help
390 Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
Keerthy28115e72019-06-06 16:06:56 +0530391
392config SPL_DM_REGULATOR_PALMAS
393 bool "Enable driver for PALMAS PMIC regulators"
Tom Rinib3401992022-06-10 23:03:09 -0400394 depends on SPL_PMIC_PALMAS
Keerthy28115e72019-06-06 16:06:56 +0530395 help
396 This enables implementation of driver-model regulator uclass
397 features for REGULATOR PALMAS and the family of PALMAS PMICs.
398 The driver implements get/set api for: value and enable in SPL.
399
400config SPL_DM_REGULATOR_LP87565
401 bool "Enable driver for LP87565 PMIC regulators"
Tom Rinib3401992022-06-10 23:03:09 -0400402 depends on SPL_PMIC_LP87565
Keerthy28115e72019-06-06 16:06:56 +0530403 help
404 This enables implementation of driver-model regulator uclass
405 features for REGULATOR LP87565 and the family of LP87565 PMICs.
406 LP87565 series of PMICs have 4 single phase BUCKs that can also
407 be configured in multi phase modes. The driver implements
408 get/set api for value and enable in SPL.
409
410config SPL_DM_REGULATOR_LP873X
411 bool "Enable driver for LP873X PMIC regulators"
412 depends on SPL_PMIC_LP873X
413 help
414 This enables implementation of driver-model regulator uclass
415 features for REGULATOR LP873X and the family of LP873X PMICs.
416 The driver implements get/set api for: value and enable in SPL.
Keerthy065a4522019-10-24 15:00:51 +0530417
418config DM_REGULATOR_TPS65941
419 bool "Enable driver for TPS65941 PMIC regulators"
420 depends on PMIC_TPS65941
421 help
422 This enables implementation of driver-model regulator uclass
423 features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
424 TPS65941 series of PMICs have 5 single phase BUCKs that can also
425 be configured in multi phase modes & 4 LDOs. The driver implements
426 get/set api for value and enable.
Etienne Carriere1f213ee2021-03-08 22:38:06 +0100427
428config DM_REGULATOR_SCMI
429 bool "Enable driver for SCMI voltage domain regulators"
430 depends on DM_REGULATOR
431 select SCMI_AGENT
432 help
433 Enable this option if you want to support regulators exposed through
434 the SCMI voltage domain protocol by a SCMI server.
Neil Armstrong411502c2022-04-27 13:28:10 +0200435
436config DM_REGULATOR_TPS65219
437 bool "Enable driver for TPS65219 PMIC regulators"
438 depends on PMIC_TPS65219
439 help
440 This enables implementation of driver-model regulator uclass
441 features for REGULATOR TPS65219 and the family of TPS65219 PMICs.
442 TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs.
443 The driver implements get/set api for value and enable.