blob: cd253b95f2f08fe2f2098464824400e52fe1dd15 [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
Matti Vaittinen21b02412019-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 Fuzzey7ae22d82020-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 Fan8fa46352015-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 Yang1a016952016-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 Muellnerddc824f2019-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 Marczak1757df42015-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 Marczak9923a8b2015-04-20 20:07:48 +0200115
Philipp Tomsichdfb0a702018-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 Schwermer2f7a5f22019-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 Marczak9923a8b2015-04-20 20:07:48 +0200140config DM_REGULATOR_FIXED
141 bool "Enable Driver Model for REGULATOR Fixed value"
142 depends on DM_REGULATOR
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200143 select DM_REGULATOR_COMMON
Przemyslaw Marczak9923a8b2015-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 Marczak5d387d02015-05-13 13:38:32 +0200148
Philipp Tomsich9086eab2017-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 Schwermer2f7a5f22019-06-24 13:03:33 +0200152 select SPL_DM_REGULATOR_COMMON
Philipp Tomsich9086eab2017-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
Keerthy477dfe22016-09-15 17:04:06 +0530157config DM_REGULATOR_GPIO
158 bool "Enable Driver Model for GPIO REGULATOR"
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530159 depends on DM_REGULATOR && DM_GPIO
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200160 select DM_REGULATOR_COMMON
Keerthy477dfe22016-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 Vutla26da01f2018-10-24 21:06:50 +0530166config SPL_DM_REGULATOR_GPIO
167 bool "Enable Driver Model for GPIO REGULATOR in SPL"
Simon Glass83061db2021-07-10 21:14:30 -0600168 depends on DM_REGULATOR_GPIO && SPL_GPIO
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200169 select SPL_DM_REGULATOR_COMMON
Lokesh Vutla26da01f2018-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 Chen453c5a92017-05-02 14:54:52 +0800174config REGULATOR_RK8XX
175 bool "Enable driver for RK8XX regulators"
176 depends on DM_REGULATOR && PMIC_RK8XX
Simon Glasse1227762016-01-21 19:43:30 -0700177 ---help---
Jacob Chen453c5a92017-05-02 14:54:52 +0800178 Enable support for the regulator functions of the RK8XX PMIC. The
Simon Glasse1227762016-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 Chung60599ea2018-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 Glassf615e6a2015-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 Marczak5d387d02015-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 Glass1c88b672015-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.
Keerthy884d88b2016-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.
Keerthy99785de2016-09-30 09:34:03 +0530247
Jean-Jacques Hiblot8ff77632017-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
Keerthy99785de2016-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.
Keerthy2dd9dc02017-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 Brack854dfbf2017-11-30 13:52:37 +0100278
Fabrice Gasnier93cf0ae2018-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 Brack854dfbf2017-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 Kerello069f0b62018-04-26 17:13:09 +0200295
Tero Kristo22e8f182019-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 Delaunay42f01aa2019-02-04 11:26:17 +0100306config DM_REGULATOR_STPMIC1
307 bool "Enable driver for STPMIC1 regulators"
308 depends on DM_REGULATOR && PMIC_STPMIC1
Christophe Kerello069f0b62018-04-26 17:13:09 +0200309 ---help---
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100310 Enable support for the regulator functions of the STPMIC1 PMIC. The
Christophe Kerello069f0b62018-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 Delaunay42f01aa2019-02-04 11:26:17 +0100314
Ying-Chun Liu (PaulLiu)6ab02862021-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 Delaunay42f01aa2019-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.
Keerthy28115e72019-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.
Keerthy065a4522019-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 Carriere1f213ee2021-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.