blob: 25fc787a2941398d5786d3a27eed65955314d398 [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"
21 depends on DM_REGULATOR
22 ---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
Peng Fan8fa46352015-08-07 16:43:45 +080063config DM_REGULATOR_PFUZE100
64 bool "Enable Driver Model for REGULATOR PFUZE100"
65 depends on DM_REGULATOR && DM_PMIC_PFUZE100
66 ---help---
67 This config enables implementation of driver-model regulator uclass
68 features for REGULATOR PFUZE100. The driver implements get/set api for:
69 value, enable and mode.
70
Kever Yang1a016952016-09-23 15:57:19 +080071config REGULATOR_PWM
72 bool "Enable driver for PWM regulators"
73 depends on DM_REGULATOR
74 ---help---
75 Enable support for the PWM regulator functions which voltage are
76 controlled by PWM duty ratio. Some of Rockchip board using this kind
77 of regulator. The driver implements get/set api for the various BUCKS.
78 This driver is controlled by a device tree node
79 which includes voltage limits.
80
Christoph Muellnerddc824f2019-01-02 15:09:16 +010081config SPL_REGULATOR_PWM
82 bool "Enable Driver for PWM regulators in SPL"
83 depends on REGULATOR_PWM
84 help
85 This config enables implementation of driver-model regulator uclass
86 features for PWM regulators in SPL.
87
Przemyslaw Marczak1757df42015-04-20 20:07:47 +020088config DM_REGULATOR_MAX77686
89 bool "Enable Driver Model for REGULATOR MAX77686"
90 depends on DM_REGULATOR && DM_PMIC_MAX77686
91 ---help---
92 This config enables implementation of driver-model regulator uclass
93 features for REGULATOR MAX77686. The driver implements get/set api for:
94 value, enable and mode.
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +020095
Philipp Tomsichdfb0a702018-11-30 20:00:08 +010096config DM_REGULATOR_FAN53555
97 bool "Enable Driver Model for REGULATOR FAN53555"
98 depends on DM_PMIC_FAN53555
99 help
100 This config enables implementation of driver-model regulator
101 uclass features for the FAN53555 regulator. The FAN53555 is
102 a (family of) single-output regulators that supports
103 transitioning between two different output voltages based on
104 an voltage selection pin.
105
106 The driver implements a get/set api for the voltage of the
107 'normal mode' voltage only. Switching to 'suspend mode'
108 (i.e. the alternate voltage), disabling output via software,
109 or switching the mode is not supported by this driver (at
110 this time).
111
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200112config DM_REGULATOR_COMMON
113 bool
114 depends on DM_REGULATOR
115
116config SPL_DM_REGULATOR_COMMON
117 bool
118 depends on DM_REGULATOR
119
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200120config DM_REGULATOR_FIXED
121 bool "Enable Driver Model for REGULATOR Fixed value"
122 depends on DM_REGULATOR
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200123 select DM_REGULATOR_COMMON
Przemyslaw Marczak9923a8b2015-04-20 20:07:48 +0200124 ---help---
125 This config enables implementation of driver-model regulator uclass
126 features for fixed value regulators. The driver implements get/set api
127 for enable and get only for voltage value.
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200128
Philipp Tomsich9086eab2017-09-29 19:28:02 +0200129config SPL_DM_REGULATOR_FIXED
130 bool "Enable Driver Model for REGULATOR Fixed value in SPL"
131 depends on DM_REGULATOR_FIXED
Sven Schwermer2f7a5f22019-06-24 13:03:33 +0200132 select SPL_DM_REGULATOR_COMMON
Philipp Tomsich9086eab2017-09-29 19:28:02 +0200133 ---help---
134 This config enables implementation of driver-model regulator uclass
135 features for fixed value regulators in SPL.
136
Keerthy477dfe22016-09-15 17:04:06 +0530137config DM_REGULATOR_GPIO
138 bool "Enable Driver Model for GPIO REGULATOR"
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530139 depends on DM_REGULATOR && DM_GPIO
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200140 select DM_REGULATOR_COMMON
Keerthy477dfe22016-09-15 17:04:06 +0530141 ---help---
142 This config enables implementation of driver-model regulator uclass
143 features for gpio regulators. The driver implements get/set for
144 voltage value.
145
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530146config SPL_DM_REGULATOR_GPIO
147 bool "Enable Driver Model for GPIO REGULATOR in SPL"
148 depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT
Sven Schwermeraa2067a2019-06-24 13:03:34 +0200149 select SPL_DM_REGULATOR_COMMON
Lokesh Vutla26da01f2018-10-24 21:06:50 +0530150 ---help---
151 This config enables implementation of driver-model regulator uclass
152 features for gpio regulators in SPL.
153
Jacob Chen453c5a92017-05-02 14:54:52 +0800154config REGULATOR_RK8XX
155 bool "Enable driver for RK8XX regulators"
156 depends on DM_REGULATOR && PMIC_RK8XX
Simon Glasse1227762016-01-21 19:43:30 -0700157 ---help---
Jacob Chen453c5a92017-05-02 14:54:52 +0800158 Enable support for the regulator functions of the RK8XX PMIC. The
Simon Glasse1227762016-01-21 19:43:30 -0700159 driver implements get/set api for the various BUCKS and LDOs supported
160 by the PMIC device. This driver is controlled by a device tree node
161 which includes voltage limits.
162
Jaehoon Chung60599ea2018-01-16 15:33:50 +0900163config DM_REGULATOR_S2MPS11
164 bool "Enable driver for S2MPS11 regulator"
165 depends on DM_REGULATOR && PMIC_S2MPS11
166 ---help---
167 This enables implementation of driver-model regulator uclass
168 features for REGULATOR S2MPS11.
169 The driver implements get/set api for: value and enable.
170
Simon Glassf615e6a2015-07-02 18:16:01 -0600171config REGULATOR_S5M8767
172 bool "Enable support for S5M8767 regulator"
173 depends on DM_REGULATOR && PMIC_S5M8767
174 ---help---
175 This enables the regulator features of the S5M8767, allowing voltages
176 to be set, etc. The driver is not fully complete but supports most
177 common requirements, including all LDOs and BUCKs. This allows many
178 supplies to be set automatically using the device tree values.
179
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200180config DM_REGULATOR_SANDBOX
181 bool "Enable Driver Model for Sandbox PMIC regulator"
182 depends on DM_REGULATOR && DM_PMIC_SANDBOX
183 ---help---
184 Enable the regulator driver for emulated Sandbox PMIC.
185 The emulated PMIC device depends on two drivers:
186 - sandbox PMIC I/O driver - implements dm pmic operations
187 - sandbox PMIC regulator driver - implements dm regulator operations
188 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
189
190 The regulator driver provides uclass operations for sandbox PMIC's
191 regulators. The driver implements get/set api for: voltage, current,
192 operation mode and enable state.
193 The driver supports LDO and BUCK regulators.
194
195 The Sandbox PMIC info:
196 * I/O interface:
197 - I2C chip address: 0x40
198 - first register address: 0x0
199 - register count: 0x10
200 * Adjustable outputs:
201 - 2x LDO
202 - 2x BUCK
203 - Each, with a different operating conditions (header).
204 * Reset values:
205 - set by i2c emul driver's probe() (defaults in header)
206
207 A detailed information can be found in header: '<power/sandbox_pmic.h>'
208 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
Simon Glass1c88b672015-07-02 18:15:59 -0600209
210config REGULATOR_TPS65090
211 bool "Enable driver for TPS65090 PMIC regulators"
212 depends on PMIC_TPS65090
213 ---help---
214 The TPS65090 provides several FETs (Field-effect Transistors,
215 effectively switches) which are supported by this driver as
216 regulators, one for each FET. The standard regulator interface is
217 supported, but it is only possible to turn the regulators on or off.
218 There is no voltage/current control.
Keerthy884d88b2016-09-30 09:20:44 +0530219
220config DM_REGULATOR_PALMAS
221 bool "Enable driver for PALMAS PMIC regulators"
222 depends on PMIC_PALMAS
223 ---help---
224 This enables implementation of driver-model regulator uclass
225 features for REGULATOR PALMAS and the family of PALMAS PMICs.
226 The driver implements get/set api for: value and enable.
Keerthy99785de2016-09-30 09:34:03 +0530227
Jean-Jacques Hiblot8ff77632017-09-21 17:03:10 +0200228config DM_REGULATOR_PBIAS
229 bool "Enable driver for PBIAS regulator"
230 depends on DM_REGULATOR
231 select REGMAP
232 select SYSCON
233 ---help---
234 This enables implementation of driver-model regulator uclass
235 features for pseudo-regulator PBIAS found in the OMAP SOCs.
236 This pseudo-regulator is used to provide a BIAS voltage to MMC1
237 signal pads and must be configured properly during a voltage switch.
238 Voltage switching is required by some operating modes of SDcards and
239 eMMC.
240
Keerthy99785de2016-09-30 09:34:03 +0530241config DM_REGULATOR_LP873X
242 bool "Enable driver for LP873X PMIC regulators"
243 depends on PMIC_LP873X
244 ---help---
245 This enables implementation of driver-model regulator uclass
246 features for REGULATOR LP873X and the family of LP873X PMICs.
247 The driver implements get/set api for: value and enable.
Keerthy2dd9dc02017-06-07 19:08:29 +0530248
249config DM_REGULATOR_LP87565
250 bool "Enable driver for LP87565 PMIC regulators"
251 depends on PMIC_LP87565
252 ---help---
253 This enables implementation of driver-model regulator uclass
254 features for REGULATOR LP87565 and the family of LP87565 PMICs.
255 LP87565 series of PMICs have 4 single phase BUCKs that can also
256 be configured in multi phase modes. The driver implements
257 get/set api for value and enable.
Felix Brack854dfbf2017-11-30 13:52:37 +0100258
Fabrice Gasnier93cf0ae2018-04-26 17:00:46 +0200259config DM_REGULATOR_STM32_VREFBUF
260 bool "Enable driver for STMicroelectronics STM32 VREFBUF"
261 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
262 help
263 This driver supports STMicroelectronics STM32 VREFBUF (voltage
264 reference buffer) which can be used as voltage reference for
265 internal ADCs, DACs and also for external components through
266 dedicated Vref+ pin.
267
Felix Brack854dfbf2017-11-30 13:52:37 +0100268config DM_REGULATOR_TPS65910
269 bool "Enable driver for TPS65910 PMIC regulators"
270 depends on DM_PMIC_TPS65910
271 ---help---
272 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
273 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
274 the get/set api for value and enable.
Christophe Kerello069f0b62018-04-26 17:13:09 +0200275
Tero Kristo22e8f182019-10-24 15:00:48 +0530276config DM_REGULATOR_TPS62360
277 bool "Enable driver for TPS6236x Power Regulator"
278 depends on DM_REGULATOR
279 help
280 The TPS6236X DC/DC step down converter provides a single output
281 power line peaking at 3A current. This driver supports all four
282 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
283 implements the get/set api for value only, as the power line is
284 always on.
285
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100286config DM_REGULATOR_STPMIC1
287 bool "Enable driver for STPMIC1 regulators"
288 depends on DM_REGULATOR && PMIC_STPMIC1
Christophe Kerello069f0b62018-04-26 17:13:09 +0200289 ---help---
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100290 Enable support for the regulator functions of the STPMIC1 PMIC. The
Christophe Kerello069f0b62018-04-26 17:13:09 +0200291 driver implements get/set api for the various BUCKS and LDOs supported
292 by the PMIC device. This driver is controlled by a device tree node
293 which includes voltage limits.
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100294
295config SPL_DM_REGULATOR_STPMIC1
296 bool "Enable driver for STPMIC1 regulators in SPL"
297 depends on SPL_DM_REGULATOR && PMIC_STPMIC1
298 help
299 Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
Keerthy28115e72019-06-06 16:06:56 +0530300
301config SPL_DM_REGULATOR_PALMAS
302 bool "Enable driver for PALMAS PMIC regulators"
303 depends on SPL_PMIC_PALMAS
304 help
305 This enables implementation of driver-model regulator uclass
306 features for REGULATOR PALMAS and the family of PALMAS PMICs.
307 The driver implements get/set api for: value and enable in SPL.
308
309config SPL_DM_REGULATOR_LP87565
310 bool "Enable driver for LP87565 PMIC regulators"
311 depends on SPL_PMIC_LP87565
312 help
313 This enables implementation of driver-model regulator uclass
314 features for REGULATOR LP87565 and the family of LP87565 PMICs.
315 LP87565 series of PMICs have 4 single phase BUCKs that can also
316 be configured in multi phase modes. The driver implements
317 get/set api for value and enable in SPL.
318
319config SPL_DM_REGULATOR_LP873X
320 bool "Enable driver for LP873X PMIC regulators"
321 depends on SPL_PMIC_LP873X
322 help
323 This enables implementation of driver-model regulator uclass
324 features for REGULATOR LP873X and the family of LP873X PMICs.
325 The driver implements get/set api for: value and enable in SPL.
Keerthy065a4522019-10-24 15:00:51 +0530326
327config DM_REGULATOR_TPS65941
328 bool "Enable driver for TPS65941 PMIC regulators"
329 depends on PMIC_TPS65941
330 help
331 This enables implementation of driver-model regulator uclass
332 features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
333 TPS65941 series of PMICs have 5 single phase BUCKs that can also
334 be configured in multi phase modes & 4 LDOs. The driver implements
335 get/set api for value and enable.