blob: c02e6377d828a66059261af5e025e1e748fdc757 [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"
Tom Rini0a83cc22022-06-10 23:03:09 -040058 depends on DM_REGULATOR_BD71837 && SPL
Matti Vaittinen9d4ce302019-05-07 10:45:55 +030059 help
60 This config enables implementation of driver-model regulator uclass
61 features for regulators on ROHM BD71837 and BD71847 in SPL.
62
Marek Vasut5d9b83d2022-05-20 05:10:17 +020063config DM_REGULATOR_PCA9450
64 bool "Enable Driver Model for NXP PCA9450 regulators"
65 depends on DM_REGULATOR && DM_PMIC_PCA9450
66 help
67 This config enables implementation of driver-model regulator uclass
68 features for regulators on NXP PCA9450 PMICs. PCA9450 contains 6 bucks
69 and 5 LDOS. The driver implements get/set api for value and enable.
70
71config SPL_DM_REGULATOR_PCA9450
72 bool "Enable Driver Model for NXP PCA9450 regulators in SPL"
Tom Rini0a83cc22022-06-10 23:03:09 -040073 depends on DM_REGULATOR_PCA9450 && SPL
Marek Vasut5d9b83d2022-05-20 05:10:17 +020074 help
75 This config enables implementation of driver-model regulator uclass
76 features for regulators on ROHM PCA9450 in SPL.
77
Martin Fuzzeyd309f622020-01-14 15:56:17 +000078config DM_REGULATOR_DA9063
79 bool "Enable Driver Model for REGULATOR DA9063"
80 depends on DM_REGULATOR && DM_PMIC_DA9063
81 help
82 This config enables implementation of driver-model regulator uclass
83 features for REGULATOR DA9063.
84 The driver implements get/set api for value, enable and mode for all
85 regulators. It also implements the get/set api for current for the
86 buck regulators.
87
88config SPL_DM_REGULATOR_DA9063
89 bool "Enable Driver Model for REGULATOR DA9063 in SPL"
90 depends on DM_REGULATOR && DM_PMIC_DA9063 && SPL
91 help
92 This config enables implementation of driver-model regulator uclass
93 features for REGULATOR DA9063.
94 The driver implements get/set api for value, enable and mode for all
95 regulators. It also implements the get/set api for current for the
96 buck regulators.
97
Peng Fan54ee6a42015-08-07 16:43:45 +080098config DM_REGULATOR_PFUZE100
99 bool "Enable Driver Model for REGULATOR PFUZE100"
100 depends on DM_REGULATOR && DM_PMIC_PFUZE100
101 ---help---
102 This config enables implementation of driver-model regulator uclass
103 features for REGULATOR PFUZE100. The driver implements get/set api for:
104 value, enable and mode.
105
Kever Yang8bbe1cc2016-09-23 15:57:19 +0800106config REGULATOR_PWM
107 bool "Enable driver for PWM regulators"
108 depends on DM_REGULATOR
109 ---help---
110 Enable support for the PWM regulator functions which voltage are
111 controlled by PWM duty ratio. Some of Rockchip board using this kind
112 of regulator. The driver implements get/set api for the various BUCKS.
113 This driver is controlled by a device tree node
114 which includes voltage limits.
115
Christoph Muellner4484b852019-01-02 15:09:16 +0100116config SPL_REGULATOR_PWM
117 bool "Enable Driver for PWM regulators in SPL"
Tom Rini0a83cc22022-06-10 23:03:09 -0400118 depends on REGULATOR_PWM && SPL
Christoph Muellner4484b852019-01-02 15:09:16 +0100119 help
120 This config enables implementation of driver-model regulator uclass
121 features for PWM regulators in SPL.
122
Przemyslaw Marczakafee81e2015-04-20 20:07:47 +0200123config DM_REGULATOR_MAX77686
124 bool "Enable Driver Model for REGULATOR MAX77686"
125 depends on DM_REGULATOR && DM_PMIC_MAX77686
126 ---help---
127 This config enables implementation of driver-model regulator uclass
128 features for REGULATOR MAX77686. The driver implements get/set api for:
129 value, enable and mode.
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200130
Jim Liuab87f942022-11-07 10:48:27 +0800131config DM_REGULATOR_NPCM8XX
132 bool "Enable Driver Model for NPCM8xx voltage supply"
133 depends on DM_REGULATOR && ARCH_NPCM8XX
134 help
135 Enable support for configuring voltage supply on NPCM8XX SoC. The
136 voltage supplies support two voltage levels and the driver implements
137 get/set api for setting the value.
138
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100139config DM_REGULATOR_FAN53555
140 bool "Enable Driver Model for REGULATOR FAN53555"
141 depends on DM_PMIC_FAN53555
142 help
143 This config enables implementation of driver-model regulator
144 uclass features for the FAN53555 regulator. The FAN53555 is
145 a (family of) single-output regulators that supports
146 transitioning between two different output voltages based on
147 an voltage selection pin.
148
149 The driver implements a get/set api for the voltage of the
150 'normal mode' voltage only. Switching to 'suspend mode'
151 (i.e. the alternate voltage), disabling output via software,
152 or switching the mode is not supported by this driver (at
153 this time).
154
Sven Schwermer25957522019-06-24 13:03:33 +0200155config DM_REGULATOR_COMMON
156 bool
157 depends on DM_REGULATOR
158
159config SPL_DM_REGULATOR_COMMON
160 bool
161 depends on DM_REGULATOR
162
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200163config DM_REGULATOR_FIXED
164 bool "Enable Driver Model for REGULATOR Fixed value"
165 depends on DM_REGULATOR
Sven Schwermer25957522019-06-24 13:03:33 +0200166 select DM_REGULATOR_COMMON
Przemyslaw Marczak3753f282015-04-20 20:07:48 +0200167 ---help---
168 This config enables implementation of driver-model regulator uclass
169 features for fixed value regulators. The driver implements get/set api
170 for enable and get only for voltage value.
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200171
Philipp Tomsichd52626c2017-09-29 19:28:02 +0200172config SPL_DM_REGULATOR_FIXED
173 bool "Enable Driver Model for REGULATOR Fixed value in SPL"
Tom Rini0a83cc22022-06-10 23:03:09 -0400174 depends on DM_REGULATOR_FIXED && SPL
Sven Schwermer25957522019-06-24 13:03:33 +0200175 select SPL_DM_REGULATOR_COMMON
Philipp Tomsichd52626c2017-09-29 19:28:02 +0200176 ---help---
177 This config enables implementation of driver-model regulator uclass
178 features for fixed value regulators in SPL.
179
Keerthy17b3fe72016-09-15 17:04:06 +0530180config DM_REGULATOR_GPIO
181 bool "Enable Driver Model for GPIO REGULATOR"
Lokesh Vutla638d2342018-10-24 21:06:50 +0530182 depends on DM_REGULATOR && DM_GPIO
Sven Schwermerdb58d9e2019-06-24 13:03:34 +0200183 select DM_REGULATOR_COMMON
Keerthy17b3fe72016-09-15 17:04:06 +0530184 ---help---
185 This config enables implementation of driver-model regulator uclass
186 features for gpio regulators. The driver implements get/set for
187 voltage value.
188
Lokesh Vutla638d2342018-10-24 21:06:50 +0530189config SPL_DM_REGULATOR_GPIO
190 bool "Enable Driver Model for GPIO REGULATOR in SPL"
Simon Glass035939e2021-07-10 21:14:30 -0600191 depends on DM_REGULATOR_GPIO && SPL_GPIO
Sven Schwermerdb58d9e2019-06-24 13:03:34 +0200192 select SPL_DM_REGULATOR_COMMON
Lokesh Vutla638d2342018-10-24 21:06:50 +0530193 ---help---
194 This config enables implementation of driver-model regulator uclass
195 features for gpio regulators in SPL.
196
Jacob Chen614704b2017-05-02 14:54:52 +0800197config REGULATOR_RK8XX
198 bool "Enable driver for RK8XX regulators"
199 depends on DM_REGULATOR && PMIC_RK8XX
Simon Glassadecfef2016-01-21 19:43:30 -0700200 ---help---
Jacob Chen614704b2017-05-02 14:54:52 +0800201 Enable support for the regulator functions of the RK8XX PMIC. The
Simon Glassadecfef2016-01-21 19:43:30 -0700202 driver implements get/set api for the various BUCKS and LDOs supported
203 by the PMIC device. This driver is controlled by a device tree node
204 which includes voltage limits.
205
Jaehoon Chung76f20082018-01-16 15:33:50 +0900206config DM_REGULATOR_S2MPS11
207 bool "Enable driver for S2MPS11 regulator"
208 depends on DM_REGULATOR && PMIC_S2MPS11
209 ---help---
210 This enables implementation of driver-model regulator uclass
211 features for REGULATOR S2MPS11.
212 The driver implements get/set api for: value and enable.
213
Simon Glass23361032015-07-02 18:16:01 -0600214config REGULATOR_S5M8767
215 bool "Enable support for S5M8767 regulator"
216 depends on DM_REGULATOR && PMIC_S5M8767
217 ---help---
218 This enables the regulator features of the S5M8767, allowing voltages
219 to be set, etc. The driver is not fully complete but supports most
220 common requirements, including all LDOs and BUCKs. This allows many
221 supplies to be set automatically using the device tree values.
222
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200223config DM_REGULATOR_SANDBOX
224 bool "Enable Driver Model for Sandbox PMIC regulator"
225 depends on DM_REGULATOR && DM_PMIC_SANDBOX
226 ---help---
227 Enable the regulator driver for emulated Sandbox PMIC.
228 The emulated PMIC device depends on two drivers:
229 - sandbox PMIC I/O driver - implements dm pmic operations
230 - sandbox PMIC regulator driver - implements dm regulator operations
231 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
232
233 The regulator driver provides uclass operations for sandbox PMIC's
234 regulators. The driver implements get/set api for: voltage, current,
235 operation mode and enable state.
236 The driver supports LDO and BUCK regulators.
237
238 The Sandbox PMIC info:
239 * I/O interface:
240 - I2C chip address: 0x40
241 - first register address: 0x0
242 - register count: 0x10
243 * Adjustable outputs:
244 - 2x LDO
245 - 2x BUCK
246 - Each, with a different operating conditions (header).
247 * Reset values:
248 - set by i2c emul driver's probe() (defaults in header)
249
250 A detailed information can be found in header: '<power/sandbox_pmic.h>'
251 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
Simon Glass9fa8e9c2015-07-02 18:15:59 -0600252
253config REGULATOR_TPS65090
254 bool "Enable driver for TPS65090 PMIC regulators"
255 depends on PMIC_TPS65090
256 ---help---
257 The TPS65090 provides several FETs (Field-effect Transistors,
258 effectively switches) which are supported by this driver as
259 regulators, one for each FET. The standard regulator interface is
260 supported, but it is only possible to turn the regulators on or off.
261 There is no voltage/current control.
Keerthyffed0ea2016-09-30 09:20:44 +0530262
263config DM_REGULATOR_PALMAS
264 bool "Enable driver for PALMAS PMIC regulators"
265 depends on PMIC_PALMAS
266 ---help---
267 This enables implementation of driver-model regulator uclass
268 features for REGULATOR PALMAS and the family of PALMAS PMICs.
269 The driver implements get/set api for: value and enable.
Keerthy947d9282016-09-30 09:34:03 +0530270
Jean-Jacques Hiblot4612bdd2017-09-21 17:03:10 +0200271config DM_REGULATOR_PBIAS
272 bool "Enable driver for PBIAS regulator"
273 depends on DM_REGULATOR
274 select REGMAP
275 select SYSCON
276 ---help---
277 This enables implementation of driver-model regulator uclass
278 features for pseudo-regulator PBIAS found in the OMAP SOCs.
279 This pseudo-regulator is used to provide a BIAS voltage to MMC1
280 signal pads and must be configured properly during a voltage switch.
281 Voltage switching is required by some operating modes of SDcards and
282 eMMC.
283
Keerthy947d9282016-09-30 09:34:03 +0530284config DM_REGULATOR_LP873X
285 bool "Enable driver for LP873X PMIC regulators"
286 depends on PMIC_LP873X
287 ---help---
288 This enables implementation of driver-model regulator uclass
289 features for REGULATOR LP873X and the family of LP873X PMICs.
290 The driver implements get/set api for: value and enable.
Keerthy22831662017-06-07 19:08:29 +0530291
292config DM_REGULATOR_LP87565
293 bool "Enable driver for LP87565 PMIC regulators"
294 depends on PMIC_LP87565
295 ---help---
296 This enables implementation of driver-model regulator uclass
297 features for REGULATOR LP87565 and the family of LP87565 PMICs.
298 LP87565 series of PMICs have 4 single phase BUCKs that can also
299 be configured in multi phase modes. The driver implements
300 get/set api for value and enable.
Felix Brack9493f0e2017-11-30 13:52:37 +0100301
Fabrice Gasnier95c868e2018-04-26 17:00:46 +0200302config DM_REGULATOR_STM32_VREFBUF
303 bool "Enable driver for STMicroelectronics STM32 VREFBUF"
304 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
305 help
306 This driver supports STMicroelectronics STM32 VREFBUF (voltage
307 reference buffer) which can be used as voltage reference for
308 internal ADCs, DACs and also for external components through
309 dedicated Vref+ pin.
310
Felix Brack9493f0e2017-11-30 13:52:37 +0100311config DM_REGULATOR_TPS65910
312 bool "Enable driver for TPS65910 PMIC regulators"
313 depends on DM_PMIC_TPS65910
314 ---help---
315 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
316 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
317 the get/set api for value and enable.
Christophe Kerello1b659742018-04-26 17:13:09 +0200318
Tero Kristodaec3412019-10-24 15:00:48 +0530319config DM_REGULATOR_TPS62360
320 bool "Enable driver for TPS6236x Power Regulator"
321 depends on DM_REGULATOR
322 help
323 The TPS6236X DC/DC step down converter provides a single output
324 power line peaking at 3A current. This driver supports all four
325 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
326 implements the get/set api for value only, as the power line is
327 always on.
328
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100329config DM_REGULATOR_STPMIC1
330 bool "Enable driver for STPMIC1 regulators"
331 depends on DM_REGULATOR && PMIC_STPMIC1
Christophe Kerello1b659742018-04-26 17:13:09 +0200332 ---help---
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100333 Enable support for the regulator functions of the STPMIC1 PMIC. The
Christophe Kerello1b659742018-04-26 17:13:09 +0200334 driver implements get/set api for the various BUCKS and LDOs supported
335 by the PMIC device. This driver is controlled by a device tree node
336 which includes voltage limits.
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100337
Ying-Chun Liu (PaulLiu)cd6425a2021-03-27 21:46:51 +0800338config DM_REGULATOR_ANATOP
339 bool "Enable driver for ANATOP regulators"
340 depends on DM_REGULATOR
341 select REGMAP
342 select SYSCON
343 help
344 Enable support for the Freescale i.MX on-chip ANATOP LDO
345 regulators. It is recommended that this option be enabled on
346 i.MX6 platform.
347
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100348config SPL_DM_REGULATOR_STPMIC1
349 bool "Enable driver for STPMIC1 regulators in SPL"
350 depends on SPL_DM_REGULATOR && PMIC_STPMIC1
351 help
352 Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
Keerthyfb043902019-06-06 16:06:56 +0530353
354config SPL_DM_REGULATOR_PALMAS
355 bool "Enable driver for PALMAS PMIC regulators"
Tom Rini0a83cc22022-06-10 23:03:09 -0400356 depends on SPL_PMIC_PALMAS
Keerthyfb043902019-06-06 16:06:56 +0530357 help
358 This enables implementation of driver-model regulator uclass
359 features for REGULATOR PALMAS and the family of PALMAS PMICs.
360 The driver implements get/set api for: value and enable in SPL.
361
362config SPL_DM_REGULATOR_LP87565
363 bool "Enable driver for LP87565 PMIC regulators"
Tom Rini0a83cc22022-06-10 23:03:09 -0400364 depends on SPL_PMIC_LP87565
Keerthyfb043902019-06-06 16:06:56 +0530365 help
366 This enables implementation of driver-model regulator uclass
367 features for REGULATOR LP87565 and the family of LP87565 PMICs.
368 LP87565 series of PMICs have 4 single phase BUCKs that can also
369 be configured in multi phase modes. The driver implements
370 get/set api for value and enable in SPL.
371
372config SPL_DM_REGULATOR_LP873X
373 bool "Enable driver for LP873X PMIC regulators"
374 depends on SPL_PMIC_LP873X
375 help
376 This enables implementation of driver-model regulator uclass
377 features for REGULATOR LP873X and the family of LP873X PMICs.
378 The driver implements get/set api for: value and enable in SPL.
Keerthy4a030002019-10-24 15:00:51 +0530379
380config DM_REGULATOR_TPS65941
381 bool "Enable driver for TPS65941 PMIC regulators"
382 depends on PMIC_TPS65941
383 help
384 This enables implementation of driver-model regulator uclass
385 features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
386 TPS65941 series of PMICs have 5 single phase BUCKs that can also
387 be configured in multi phase modes & 4 LDOs. The driver implements
388 get/set api for value and enable.
Etienne Carriered68663a2021-03-08 22:38:06 +0100389
390config DM_REGULATOR_SCMI
391 bool "Enable driver for SCMI voltage domain regulators"
392 depends on DM_REGULATOR
393 select SCMI_AGENT
394 help
395 Enable this option if you want to support regulators exposed through
396 the SCMI voltage domain protocol by a SCMI server.
Neil Armstrong5fc0a862022-04-27 13:28:10 +0200397
398config DM_REGULATOR_TPS65219
399 bool "Enable driver for TPS65219 PMIC regulators"
400 depends on PMIC_TPS65219
401 help
402 This enables implementation of driver-model regulator uclass
403 features for REGULATOR TPS65219 and the family of TPS65219 PMICs.
404 TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs.
405 The driver implements get/set api for value and enable.