blob: eb5aa38c1cce1b543eafde4681fd62dfd95cf1b3 [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
Samuel Holland8de2c0c2023-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 Hollanda24ef882023-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 Vaittinen9d4ce302019-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 Rini0a83cc22022-06-10 23:03:09 -040079 depends on DM_REGULATOR_BD71837 && SPL
Matti Vaittinen9d4ce302019-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 Vasut5d9b83d2022-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 Rini0a83cc22022-06-10 23:03:09 -040094 depends on DM_REGULATOR_PCA9450 && SPL
Marek Vasut5d9b83d2022-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 Fuzzeyd309f622020-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 Fan54ee6a42015-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 Yang8bbe1cc2016-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 Muellner4484b852019-01-02 15:09:16 +0100137config SPL_REGULATOR_PWM
138 bool "Enable Driver for PWM regulators in SPL"
Tom Rini0a83cc22022-06-10 23:03:09 -0400139 depends on REGULATOR_PWM && SPL
Christoph Muellner4484b852019-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
Przemyslaw Marczakafee81e2015-04-20 20:07:47 +0200144config DM_REGULATOR_MAX77686
145 bool "Enable Driver Model for REGULATOR MAX77686"
146 depends on DM_REGULATOR && DM_PMIC_MAX77686
147 ---help---
148 This config enables implementation of driver-model regulator uclass
149 features for REGULATOR MAX77686. The driver implements get/set api for:
150 value, enable and mode.
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200151
Jim Liuab87f942022-11-07 10:48:27 +0800152config DM_REGULATOR_NPCM8XX
153 bool "Enable Driver Model for NPCM8xx voltage supply"
154 depends on DM_REGULATOR && ARCH_NPCM8XX
155 help
156 Enable support for configuring voltage supply on NPCM8XX SoC. The
157 voltage supplies support two voltage levels and the driver implements
158 get/set api for setting the value.
159
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100160config DM_REGULATOR_FAN53555
161 bool "Enable Driver Model for REGULATOR FAN53555"
162 depends on DM_PMIC_FAN53555
163 help
164 This config enables implementation of driver-model regulator
165 uclass features for the FAN53555 regulator. The FAN53555 is
166 a (family of) single-output regulators that supports
167 transitioning between two different output voltages based on
168 an voltage selection pin.
169
170 The driver implements a get/set api for the voltage of the
171 'normal mode' voltage only. Switching to 'suspend mode'
172 (i.e. the alternate voltage), disabling output via software,
173 or switching the mode is not supported by this driver (at
174 this time).
175
Sven Schwermer25957522019-06-24 13:03:33 +0200176config DM_REGULATOR_COMMON
177 bool
178 depends on DM_REGULATOR
179
180config SPL_DM_REGULATOR_COMMON
181 bool
182 depends on DM_REGULATOR
183
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200184config DM_REGULATOR_FIXED
185 bool "Enable Driver Model for REGULATOR Fixed value"
186 depends on DM_REGULATOR
Sven Schwermer25957522019-06-24 13:03:33 +0200187 select DM_REGULATOR_COMMON
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200188 ---help---
189 This config enables implementation of driver-model regulator uclass
190 features for fixed value regulators. The driver implements get/set api
191 for enable and get only for voltage value.
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200192
Philipp Tomsichd52626c2017-09-29 19:28:02 +0200193config SPL_DM_REGULATOR_FIXED
194 bool "Enable Driver Model for REGULATOR Fixed value in SPL"
Tom Rini0a83cc22022-06-10 23:03:09 -0400195 depends on DM_REGULATOR_FIXED && SPL
Sven Schwermer25957522019-06-24 13:03:33 +0200196 select SPL_DM_REGULATOR_COMMON
Philipp Tomsichd52626c2017-09-29 19:28:02 +0200197 ---help---
198 This config enables implementation of driver-model regulator uclass
199 features for fixed value regulators in SPL.
200
Keerthy17b3fe72016-09-15 17:04:06 +0530201config DM_REGULATOR_GPIO
202 bool "Enable Driver Model for GPIO REGULATOR"
Lokesh Vutla638d2342018-10-24 21:06:50 +0530203 depends on DM_REGULATOR && DM_GPIO
Sven Schwermerdb58d9e2019-06-24 13:03:34 +0200204 select DM_REGULATOR_COMMON
Keerthy17b3fe72016-09-15 17:04:06 +0530205 ---help---
206 This config enables implementation of driver-model regulator uclass
207 features for gpio regulators. The driver implements get/set for
208 voltage value.
209
Lokesh Vutla638d2342018-10-24 21:06:50 +0530210config SPL_DM_REGULATOR_GPIO
211 bool "Enable Driver Model for GPIO REGULATOR in SPL"
Simon Glass035939e2021-07-10 21:14:30 -0600212 depends on DM_REGULATOR_GPIO && SPL_GPIO
Sven Schwermerdb58d9e2019-06-24 13:03:34 +0200213 select SPL_DM_REGULATOR_COMMON
Lokesh Vutla638d2342018-10-24 21:06:50 +0530214 ---help---
215 This config enables implementation of driver-model regulator uclass
216 features for gpio regulators in SPL.
217
Jacob Chen614704b2017-05-02 14:54:52 +0800218config REGULATOR_RK8XX
219 bool "Enable driver for RK8XX regulators"
220 depends on DM_REGULATOR && PMIC_RK8XX
Simon Glassadecfef2016-01-21 19:43:30 -0700221 ---help---
Jacob Chen614704b2017-05-02 14:54:52 +0800222 Enable support for the regulator functions of the RK8XX PMIC. The
Simon Glassadecfef2016-01-21 19:43:30 -0700223 driver implements get/set api for the various BUCKS and LDOs supported
224 by the PMIC device. This driver is controlled by a device tree node
225 which includes voltage limits.
226
Jaehoon Chung76f20082018-01-16 15:33:50 +0900227config DM_REGULATOR_S2MPS11
228 bool "Enable driver for S2MPS11 regulator"
229 depends on DM_REGULATOR && PMIC_S2MPS11
230 ---help---
231 This enables implementation of driver-model regulator uclass
232 features for REGULATOR S2MPS11.
233 The driver implements get/set api for: value and enable.
234
Simon Glass23361032015-07-02 18:16:01 -0600235config REGULATOR_S5M8767
236 bool "Enable support for S5M8767 regulator"
237 depends on DM_REGULATOR && PMIC_S5M8767
238 ---help---
239 This enables the regulator features of the S5M8767, allowing voltages
240 to be set, etc. The driver is not fully complete but supports most
241 common requirements, including all LDOs and BUCKs. This allows many
242 supplies to be set automatically using the device tree values.
243
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200244config DM_REGULATOR_SANDBOX
245 bool "Enable Driver Model for Sandbox PMIC regulator"
246 depends on DM_REGULATOR && DM_PMIC_SANDBOX
247 ---help---
248 Enable the regulator driver for emulated Sandbox PMIC.
249 The emulated PMIC device depends on two drivers:
250 - sandbox PMIC I/O driver - implements dm pmic operations
251 - sandbox PMIC regulator driver - implements dm regulator operations
252 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
253
254 The regulator driver provides uclass operations for sandbox PMIC's
255 regulators. The driver implements get/set api for: voltage, current,
256 operation mode and enable state.
257 The driver supports LDO and BUCK regulators.
258
259 The Sandbox PMIC info:
260 * I/O interface:
261 - I2C chip address: 0x40
262 - first register address: 0x0
263 - register count: 0x10
264 * Adjustable outputs:
265 - 2x LDO
266 - 2x BUCK
267 - Each, with a different operating conditions (header).
268 * Reset values:
269 - set by i2c emul driver's probe() (defaults in header)
270
271 A detailed information can be found in header: '<power/sandbox_pmic.h>'
272 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
Simon Glass9fa8e9c2015-07-02 18:15:59 -0600273
274config REGULATOR_TPS65090
275 bool "Enable driver for TPS65090 PMIC regulators"
276 depends on PMIC_TPS65090
277 ---help---
278 The TPS65090 provides several FETs (Field-effect Transistors,
279 effectively switches) which are supported by this driver as
280 regulators, one for each FET. The standard regulator interface is
281 supported, but it is only possible to turn the regulators on or off.
282 There is no voltage/current control.
Keerthyffed0ea2016-09-30 09:20:44 +0530283
284config DM_REGULATOR_PALMAS
285 bool "Enable driver for PALMAS PMIC regulators"
286 depends on PMIC_PALMAS
287 ---help---
288 This enables implementation of driver-model regulator uclass
289 features for REGULATOR PALMAS and the family of PALMAS PMICs.
290 The driver implements get/set api for: value and enable.
Keerthy947d9282016-09-30 09:34:03 +0530291
Jean-Jacques Hiblot4612bdd2017-09-21 17:03:10 +0200292config DM_REGULATOR_PBIAS
293 bool "Enable driver for PBIAS regulator"
294 depends on DM_REGULATOR
295 select REGMAP
296 select SYSCON
297 ---help---
298 This enables implementation of driver-model regulator uclass
299 features for pseudo-regulator PBIAS found in the OMAP SOCs.
300 This pseudo-regulator is used to provide a BIAS voltage to MMC1
301 signal pads and must be configured properly during a voltage switch.
302 Voltage switching is required by some operating modes of SDcards and
303 eMMC.
304
Keerthy947d9282016-09-30 09:34:03 +0530305config DM_REGULATOR_LP873X
306 bool "Enable driver for LP873X PMIC regulators"
307 depends on PMIC_LP873X
308 ---help---
309 This enables implementation of driver-model regulator uclass
310 features for REGULATOR LP873X and the family of LP873X PMICs.
311 The driver implements get/set api for: value and enable.
Keerthy22831662017-06-07 19:08:29 +0530312
313config DM_REGULATOR_LP87565
314 bool "Enable driver for LP87565 PMIC regulators"
315 depends on PMIC_LP87565
316 ---help---
317 This enables implementation of driver-model regulator uclass
318 features for REGULATOR LP87565 and the family of LP87565 PMICs.
319 LP87565 series of PMICs have 4 single phase BUCKs that can also
320 be configured in multi phase modes. The driver implements
321 get/set api for value and enable.
Felix Brack9493f0e2017-11-30 13:52:37 +0100322
Fabrice Gasnier95c868e2018-04-26 17:00:46 +0200323config DM_REGULATOR_STM32_VREFBUF
324 bool "Enable driver for STMicroelectronics STM32 VREFBUF"
325 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
326 help
327 This driver supports STMicroelectronics STM32 VREFBUF (voltage
328 reference buffer) which can be used as voltage reference for
329 internal ADCs, DACs and also for external components through
330 dedicated Vref+ pin.
331
Felix Brack9493f0e2017-11-30 13:52:37 +0100332config DM_REGULATOR_TPS65910
333 bool "Enable driver for TPS65910 PMIC regulators"
334 depends on DM_PMIC_TPS65910
335 ---help---
336 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
337 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
338 the get/set api for value and enable.
Christophe Kerello1b659742018-04-26 17:13:09 +0200339
Tero Kristodaec3412019-10-24 15:00:48 +0530340config DM_REGULATOR_TPS62360
341 bool "Enable driver for TPS6236x Power Regulator"
342 depends on DM_REGULATOR
343 help
344 The TPS6236X DC/DC step down converter provides a single output
345 power line peaking at 3A current. This driver supports all four
346 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
347 implements the get/set api for value only, as the power line is
348 always on.
349
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100350config DM_REGULATOR_STPMIC1
351 bool "Enable driver for STPMIC1 regulators"
352 depends on DM_REGULATOR && PMIC_STPMIC1
Christophe Kerello1b659742018-04-26 17:13:09 +0200353 ---help---
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100354 Enable support for the regulator functions of the STPMIC1 PMIC. The
Christophe Kerello1b659742018-04-26 17:13:09 +0200355 driver implements get/set api for the various BUCKS and LDOs supported
356 by the PMIC device. This driver is controlled by a device tree node
357 which includes voltage limits.
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100358
Ying-Chun Liu (PaulLiu)cd6425a2021-03-27 21:46:51 +0800359config DM_REGULATOR_ANATOP
360 bool "Enable driver for ANATOP regulators"
361 depends on DM_REGULATOR
362 select REGMAP
363 select SYSCON
364 help
365 Enable support for the Freescale i.MX on-chip ANATOP LDO
366 regulators. It is recommended that this option be enabled on
367 i.MX6 platform.
368
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100369config SPL_DM_REGULATOR_STPMIC1
370 bool "Enable driver for STPMIC1 regulators in SPL"
371 depends on SPL_DM_REGULATOR && PMIC_STPMIC1
372 help
373 Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
Keerthyfb043902019-06-06 16:06:56 +0530374
375config SPL_DM_REGULATOR_PALMAS
376 bool "Enable driver for PALMAS PMIC regulators"
Tom Rini0a83cc22022-06-10 23:03:09 -0400377 depends on SPL_PMIC_PALMAS
Keerthyfb043902019-06-06 16:06:56 +0530378 help
379 This enables implementation of driver-model regulator uclass
380 features for REGULATOR PALMAS and the family of PALMAS PMICs.
381 The driver implements get/set api for: value and enable in SPL.
382
383config SPL_DM_REGULATOR_LP87565
384 bool "Enable driver for LP87565 PMIC regulators"
Tom Rini0a83cc22022-06-10 23:03:09 -0400385 depends on SPL_PMIC_LP87565
Keerthyfb043902019-06-06 16:06:56 +0530386 help
387 This enables implementation of driver-model regulator uclass
388 features for REGULATOR LP87565 and the family of LP87565 PMICs.
389 LP87565 series of PMICs have 4 single phase BUCKs that can also
390 be configured in multi phase modes. The driver implements
391 get/set api for value and enable in SPL.
392
393config SPL_DM_REGULATOR_LP873X
394 bool "Enable driver for LP873X PMIC regulators"
395 depends on SPL_PMIC_LP873X
396 help
397 This enables implementation of driver-model regulator uclass
398 features for REGULATOR LP873X and the family of LP873X PMICs.
399 The driver implements get/set api for: value and enable in SPL.
Keerthy4a030002019-10-24 15:00:51 +0530400
401config DM_REGULATOR_TPS65941
402 bool "Enable driver for TPS65941 PMIC regulators"
403 depends on PMIC_TPS65941
404 help
405 This enables implementation of driver-model regulator uclass
406 features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
407 TPS65941 series of PMICs have 5 single phase BUCKs that can also
408 be configured in multi phase modes & 4 LDOs. The driver implements
409 get/set api for value and enable.
Etienne Carriered68663a2021-03-08 22:38:06 +0100410
411config DM_REGULATOR_SCMI
412 bool "Enable driver for SCMI voltage domain regulators"
413 depends on DM_REGULATOR
414 select SCMI_AGENT
415 help
416 Enable this option if you want to support regulators exposed through
417 the SCMI voltage domain protocol by a SCMI server.
Neil Armstrong5fc0a862022-04-27 13:28:10 +0200418
419config DM_REGULATOR_TPS65219
420 bool "Enable driver for TPS65219 PMIC regulators"
421 depends on PMIC_TPS65219
422 help
423 This enables implementation of driver-model regulator uclass
424 features for REGULATOR TPS65219 and the family of TPS65219 PMICs.
425 TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs.
426 The driver implements get/set api for value and enable.