blob: c346d035072d7f415d00c982a749af19318041f6 [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
Matti Vaittinen21b02412019-05-07 10:45:55 +030060config DM_REGULATOR_BD71837
61 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators"
62 depends on DM_REGULATOR && DM_PMIC_BD71837
63 help
64 This config enables implementation of driver-model regulator uclass
65 features for regulators on ROHM BD71837 and BD71847 PMICs.
66 BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version
67 containing 6 bucks and 6 LDOs. The driver implements get/set api for
68 value and enable.
69
70config SPL_DM_REGULATOR_BD71837
71 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL"
Tom Rinib3401992022-06-10 23:03:09 -040072 depends on DM_REGULATOR_BD71837 && SPL
Matti Vaittinen21b02412019-05-07 10:45:55 +030073 help
74 This config enables implementation of driver-model regulator uclass
75 features for regulators on ROHM BD71837 and BD71847 in SPL.
76
Marek Vasut326337f2022-05-20 05:10:17 +020077config DM_REGULATOR_PCA9450
78 bool "Enable Driver Model for NXP PCA9450 regulators"
79 depends on DM_REGULATOR && DM_PMIC_PCA9450
80 help
81 This config enables implementation of driver-model regulator uclass
82 features for regulators on NXP PCA9450 PMICs. PCA9450 contains 6 bucks
83 and 5 LDOS. The driver implements get/set api for value and enable.
84
85config SPL_DM_REGULATOR_PCA9450
86 bool "Enable Driver Model for NXP PCA9450 regulators in SPL"
Tom Rinib3401992022-06-10 23:03:09 -040087 depends on DM_REGULATOR_PCA9450 && SPL
Marek Vasut326337f2022-05-20 05:10:17 +020088 help
89 This config enables implementation of driver-model regulator uclass
90 features for regulators on ROHM PCA9450 in SPL.
91
Martin Fuzzey7ae22d82020-01-14 15:56:17 +000092config DM_REGULATOR_DA9063
93 bool "Enable Driver Model for REGULATOR DA9063"
94 depends on DM_REGULATOR && DM_PMIC_DA9063
95 help
96 This config enables implementation of driver-model regulator uclass
97 features for REGULATOR DA9063.
98 The driver implements get/set api for value, enable and mode for all
99 regulators. It also implements the get/set api for current for the
100 buck regulators.
101
102config SPL_DM_REGULATOR_DA9063
103 bool "Enable Driver Model for REGULATOR DA9063 in SPL"
104 depends on DM_REGULATOR && DM_PMIC_DA9063 && SPL
105 help
106 This config enables implementation of driver-model regulator uclass
107 features for REGULATOR DA9063.
108 The driver implements get/set api for value, enable and mode for all
109 regulators. It also implements the get/set api for current for the
110 buck regulators.
111
Peng Fan8fa46352015-08-07 16:43:45 +0800112config DM_REGULATOR_PFUZE100
113 bool "Enable Driver Model for REGULATOR PFUZE100"
114 depends on DM_REGULATOR && DM_PMIC_PFUZE100
115 ---help---
116 This config enables implementation of driver-model regulator uclass
117 features for REGULATOR PFUZE100. The driver implements get/set api for:
118 value, enable and mode.
119
Kever Yang1a016952016-09-23 15:57:19 +0800120config REGULATOR_PWM
121 bool "Enable driver for PWM regulators"
122 depends on DM_REGULATOR
123 ---help---
124 Enable support for the PWM regulator functions which voltage are
125 controlled by PWM duty ratio. Some of Rockchip board using this kind
126 of regulator. The driver implements get/set api for the various BUCKS.
127 This driver is controlled by a device tree node
128 which includes voltage limits.
129
Christoph Muellnerddc824f2019-01-02 15:09:16 +0100130config SPL_REGULATOR_PWM
131 bool "Enable Driver for PWM regulators in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400132 depends on REGULATOR_PWM && SPL
Christoph Muellnerddc824f2019-01-02 15:09:16 +0100133 help
134 This config enables implementation of driver-model regulator uclass
135 features for PWM regulators in SPL.
136
Przemyslaw Marczak1757df42015-04-20 20:07:47 +0200137config DM_REGULATOR_MAX77686
138 bool "Enable Driver Model for REGULATOR MAX77686"
139 depends on DM_REGULATOR && DM_PMIC_MAX77686
140 ---help---
141 This config enables implementation of driver-model regulator uclass
142 features for REGULATOR MAX77686. The driver implements get/set api for:
143 value, enable and mode.
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200144
Jim Liudbedf4a2022-11-07 10:48:27 +0800145config DM_REGULATOR_NPCM8XX
146 bool "Enable Driver Model for NPCM8xx voltage supply"
147 depends on DM_REGULATOR && ARCH_NPCM8XX
148 help
149 Enable support for configuring voltage supply on NPCM8XX SoC. The
150 voltage supplies support two voltage levels and the driver implements
151 get/set api for setting the value.
152
Philipp Tomsichdfb0a702018-11-30 20:00:08 +0100153config DM_REGULATOR_FAN53555
154 bool "Enable Driver Model for REGULATOR FAN53555"
155 depends on DM_PMIC_FAN53555
156 help
157 This config enables implementation of driver-model regulator
158 uclass features for the FAN53555 regulator. The FAN53555 is
159 a (family of) single-output regulators that supports
160 transitioning between two different output voltages based on
161 an voltage selection pin.
162
163 The driver implements a get/set api for the voltage of the
164 'normal mode' voltage only. Switching to 'suspend mode'
165 (i.e. the alternate voltage), disabling output via software,
166 or switching the mode is not supported by this driver (at
167 this time).
168
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200169config DM_REGULATOR_COMMON
170 bool
171 depends on DM_REGULATOR
172
173config SPL_DM_REGULATOR_COMMON
174 bool
175 depends on DM_REGULATOR
176
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200177config DM_REGULATOR_FIXED
178 bool "Enable Driver Model for REGULATOR Fixed value"
179 depends on DM_REGULATOR
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200180 select DM_REGULATOR_COMMON
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200181 ---help---
182 This config enables implementation of driver-model regulator uclass
183 features for fixed value regulators. The driver implements get/set api
184 for enable and get only for voltage value.
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200185
Philipp Tomsich9086eab2017-09-29 19:28:02 +0200186config SPL_DM_REGULATOR_FIXED
187 bool "Enable Driver Model for REGULATOR Fixed value in SPL"
Tom Rinib3401992022-06-10 23:03:09 -0400188 depends on DM_REGULATOR_FIXED && SPL
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200189 select SPL_DM_REGULATOR_COMMON
Philipp Tomsich9086eab2017-09-29 19:28:02 +0200190 ---help---
191 This config enables implementation of driver-model regulator uclass
192 features for fixed value regulators in SPL.
193
Keerthy477dfe22016-09-15 17:04:06 +0530194config DM_REGULATOR_GPIO
195 bool "Enable Driver Model for GPIO REGULATOR"
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530196 depends on DM_REGULATOR && DM_GPIO
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200197 select DM_REGULATOR_COMMON
Keerthy477dfe22016-09-15 17:04:06 +0530198 ---help---
199 This config enables implementation of driver-model regulator uclass
200 features for gpio regulators. The driver implements get/set for
201 voltage value.
202
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530203config SPL_DM_REGULATOR_GPIO
204 bool "Enable Driver Model for GPIO REGULATOR in SPL"
Simon Glass83061db2021-07-10 21:14:30 -0600205 depends on DM_REGULATOR_GPIO && SPL_GPIO
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200206 select SPL_DM_REGULATOR_COMMON
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530207 ---help---
208 This config enables implementation of driver-model regulator uclass
209 features for gpio regulators in SPL.
210
Jacob Chen453c5a92017-05-02 14:54:52 +0800211config REGULATOR_RK8XX
212 bool "Enable driver for RK8XX regulators"
213 depends on DM_REGULATOR && PMIC_RK8XX
Simon Glasse1227762016-01-21 19:43:30 -0700214 ---help---
Jacob Chen453c5a92017-05-02 14:54:52 +0800215 Enable support for the regulator functions of the RK8XX PMIC. The
Simon Glasse1227762016-01-21 19:43:30 -0700216 driver implements get/set api for the various BUCKS and LDOs supported
217 by the PMIC device. This driver is controlled by a device tree node
218 which includes voltage limits.
219
Jaehoon Chung60599ea2018-01-16 15:33:50 +0900220config DM_REGULATOR_S2MPS11
221 bool "Enable driver for S2MPS11 regulator"
222 depends on DM_REGULATOR && PMIC_S2MPS11
223 ---help---
224 This enables implementation of driver-model regulator uclass
225 features for REGULATOR S2MPS11.
226 The driver implements get/set api for: value and enable.
227
Simon Glassf615e6a2015-07-02 18:16:01 -0600228config REGULATOR_S5M8767
229 bool "Enable support for S5M8767 regulator"
230 depends on DM_REGULATOR && PMIC_S5M8767
231 ---help---
232 This enables the regulator features of the S5M8767, allowing voltages
233 to be set, etc. The driver is not fully complete but supports most
234 common requirements, including all LDOs and BUCKs. This allows many
235 supplies to be set automatically using the device tree values.
236
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200237config DM_REGULATOR_SANDBOX
238 bool "Enable Driver Model for Sandbox PMIC regulator"
239 depends on DM_REGULATOR && DM_PMIC_SANDBOX
240 ---help---
241 Enable the regulator driver for emulated Sandbox PMIC.
242 The emulated PMIC device depends on two drivers:
243 - sandbox PMIC I/O driver - implements dm pmic operations
244 - sandbox PMIC regulator driver - implements dm regulator operations
245 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
246
247 The regulator driver provides uclass operations for sandbox PMIC's
248 regulators. The driver implements get/set api for: voltage, current,
249 operation mode and enable state.
250 The driver supports LDO and BUCK regulators.
251
252 The Sandbox PMIC info:
253 * I/O interface:
254 - I2C chip address: 0x40
255 - first register address: 0x0
256 - register count: 0x10
257 * Adjustable outputs:
258 - 2x LDO
259 - 2x BUCK
260 - Each, with a different operating conditions (header).
261 * Reset values:
262 - set by i2c emul driver's probe() (defaults in header)
263
264 A detailed information can be found in header: '<power/sandbox_pmic.h>'
265 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
Simon Glass1c88b672015-07-02 18:15:59 -0600266
267config REGULATOR_TPS65090
268 bool "Enable driver for TPS65090 PMIC regulators"
269 depends on PMIC_TPS65090
270 ---help---
271 The TPS65090 provides several FETs (Field-effect Transistors,
272 effectively switches) which are supported by this driver as
273 regulators, one for each FET. The standard regulator interface is
274 supported, but it is only possible to turn the regulators on or off.
275 There is no voltage/current control.
Keerthy884d88b2016-09-30 09:20:44 +0530276
277config DM_REGULATOR_PALMAS
278 bool "Enable driver for PALMAS PMIC regulators"
279 depends on PMIC_PALMAS
280 ---help---
281 This enables implementation of driver-model regulator uclass
282 features for REGULATOR PALMAS and the family of PALMAS PMICs.
283 The driver implements get/set api for: value and enable.
Keerthy99785de2016-09-30 09:34:03 +0530284
Jean-Jacques Hiblot8ff77632017-09-21 17:03:10 +0200285config DM_REGULATOR_PBIAS
286 bool "Enable driver for PBIAS regulator"
287 depends on DM_REGULATOR
288 select REGMAP
289 select SYSCON
290 ---help---
291 This enables implementation of driver-model regulator uclass
292 features for pseudo-regulator PBIAS found in the OMAP SOCs.
293 This pseudo-regulator is used to provide a BIAS voltage to MMC1
294 signal pads and must be configured properly during a voltage switch.
295 Voltage switching is required by some operating modes of SDcards and
296 eMMC.
297
Keerthy99785de2016-09-30 09:34:03 +0530298config DM_REGULATOR_LP873X
299 bool "Enable driver for LP873X PMIC regulators"
300 depends on PMIC_LP873X
301 ---help---
302 This enables implementation of driver-model regulator uclass
303 features for REGULATOR LP873X and the family of LP873X PMICs.
304 The driver implements get/set api for: value and enable.
Keerthy2dd9dc02017-06-07 19:08:29 +0530305
306config DM_REGULATOR_LP87565
307 bool "Enable driver for LP87565 PMIC regulators"
308 depends on PMIC_LP87565
309 ---help---
310 This enables implementation of driver-model regulator uclass
311 features for REGULATOR LP87565 and the family of LP87565 PMICs.
312 LP87565 series of PMICs have 4 single phase BUCKs that can also
313 be configured in multi phase modes. The driver implements
314 get/set api for value and enable.
Felix Brack854dfbf2017-11-30 13:52:37 +0100315
Fabrice Gasnier93cf0ae2018-04-26 17:00:46 +0200316config DM_REGULATOR_STM32_VREFBUF
317 bool "Enable driver for STMicroelectronics STM32 VREFBUF"
318 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
319 help
320 This driver supports STMicroelectronics STM32 VREFBUF (voltage
321 reference buffer) which can be used as voltage reference for
322 internal ADCs, DACs and also for external components through
323 dedicated Vref+ pin.
324
Felix Brack854dfbf2017-11-30 13:52:37 +0100325config DM_REGULATOR_TPS65910
326 bool "Enable driver for TPS65910 PMIC regulators"
327 depends on DM_PMIC_TPS65910
328 ---help---
329 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
330 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
331 the get/set api for value and enable.
Christophe Kerello069f0b62018-04-26 17:13:09 +0200332
Tero Kristo22e8f182019-10-24 15:00:48 +0530333config DM_REGULATOR_TPS62360
334 bool "Enable driver for TPS6236x Power Regulator"
335 depends on DM_REGULATOR
336 help
337 The TPS6236X DC/DC step down converter provides a single output
338 power line peaking at 3A current. This driver supports all four
339 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
340 implements the get/set api for value only, as the power line is
341 always on.
342
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100343config DM_REGULATOR_STPMIC1
344 bool "Enable driver for STPMIC1 regulators"
345 depends on DM_REGULATOR && PMIC_STPMIC1
Christophe Kerello069f0b62018-04-26 17:13:09 +0200346 ---help---
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100347 Enable support for the regulator functions of the STPMIC1 PMIC. The
Christophe Kerello069f0b62018-04-26 17:13:09 +0200348 driver implements get/set api for the various BUCKS and LDOs supported
349 by the PMIC device. This driver is controlled by a device tree node
350 which includes voltage limits.
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100351
Ying-Chun Liu (PaulLiu)6ab02862021-03-27 21:46:51 +0800352config DM_REGULATOR_ANATOP
353 bool "Enable driver for ANATOP regulators"
354 depends on DM_REGULATOR
355 select REGMAP
356 select SYSCON
357 help
358 Enable support for the Freescale i.MX on-chip ANATOP LDO
359 regulators. It is recommended that this option be enabled on
360 i.MX6 platform.
361
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100362config SPL_DM_REGULATOR_STPMIC1
363 bool "Enable driver for STPMIC1 regulators in SPL"
364 depends on SPL_DM_REGULATOR && PMIC_STPMIC1
365 help
366 Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
Keerthy28115e72019-06-06 16:06:56 +0530367
368config SPL_DM_REGULATOR_PALMAS
369 bool "Enable driver for PALMAS PMIC regulators"
Tom Rinib3401992022-06-10 23:03:09 -0400370 depends on SPL_PMIC_PALMAS
Keerthy28115e72019-06-06 16:06:56 +0530371 help
372 This enables implementation of driver-model regulator uclass
373 features for REGULATOR PALMAS and the family of PALMAS PMICs.
374 The driver implements get/set api for: value and enable in SPL.
375
376config SPL_DM_REGULATOR_LP87565
377 bool "Enable driver for LP87565 PMIC regulators"
Tom Rinib3401992022-06-10 23:03:09 -0400378 depends on SPL_PMIC_LP87565
Keerthy28115e72019-06-06 16:06:56 +0530379 help
380 This enables implementation of driver-model regulator uclass
381 features for REGULATOR LP87565 and the family of LP87565 PMICs.
382 LP87565 series of PMICs have 4 single phase BUCKs that can also
383 be configured in multi phase modes. The driver implements
384 get/set api for value and enable in SPL.
385
386config SPL_DM_REGULATOR_LP873X
387 bool "Enable driver for LP873X PMIC regulators"
388 depends on SPL_PMIC_LP873X
389 help
390 This enables implementation of driver-model regulator uclass
391 features for REGULATOR LP873X and the family of LP873X PMICs.
392 The driver implements get/set api for: value and enable in SPL.
Keerthy065a4522019-10-24 15:00:51 +0530393
394config DM_REGULATOR_TPS65941
395 bool "Enable driver for TPS65941 PMIC regulators"
396 depends on PMIC_TPS65941
397 help
398 This enables implementation of driver-model regulator uclass
399 features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
400 TPS65941 series of PMICs have 5 single phase BUCKs that can also
401 be configured in multi phase modes & 4 LDOs. The driver implements
402 get/set api for value and enable.
Etienne Carriere1f213ee2021-03-08 22:38:06 +0100403
404config DM_REGULATOR_SCMI
405 bool "Enable driver for SCMI voltage domain regulators"
406 depends on DM_REGULATOR
407 select SCMI_AGENT
408 help
409 Enable this option if you want to support regulators exposed through
410 the SCMI voltage domain protocol by a SCMI server.
Neil Armstrong411502c2022-04-27 13:28:10 +0200411
412config DM_REGULATOR_TPS65219
413 bool "Enable driver for TPS65219 PMIC regulators"
414 depends on PMIC_TPS65219
415 help
416 This enables implementation of driver-model regulator uclass
417 features for REGULATOR TPS65219 and the family of TPS65219 PMICs.
418 TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs.
419 The driver implements get/set api for value and enable.