d6cea8ec6667cc0a5a501237d0d5b1376f6d0186
[platform/kernel/u-boot.git] / drivers / power / regulator / Kconfig
1 config 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
16         for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
17         otherwise. Detailed information can be found in the header file.
18
19 config SPL_DM_REGULATOR
20         bool "Enable regulators for SPL"
21         depends on DM_REGULATOR && SPL_POWER
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
28 config 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
37 config 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
46 config 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
56 config 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
63 config 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
71 config SPL_DM_REGULATOR_PCA9450
72         bool "Enable Driver Model for NXP PCA9450 regulators in SPL"
73         depends on DM_REGULATOR_PCA9450
74         help
75         This config enables implementation of driver-model regulator uclass
76         features for regulators on ROHM PCA9450 in SPL.
77
78 config 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
88 config 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
98 config 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
106 config 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
116 config SPL_REGULATOR_PWM
117         bool "Enable Driver for PWM regulators in SPL"
118         depends on REGULATOR_PWM
119         help
120           This config enables implementation of driver-model regulator uclass
121           features for PWM regulators in SPL.
122
123 config 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.
130
131 config DM_REGULATOR_FAN53555
132         bool "Enable Driver Model for REGULATOR FAN53555"
133         depends on DM_PMIC_FAN53555
134         help
135           This config enables implementation of driver-model regulator
136           uclass features for the FAN53555 regulator. The FAN53555 is
137           a (family of) single-output regulators that supports
138           transitioning between two different output voltages based on
139           an voltage selection pin.
140
141           The driver implements a get/set api for the voltage of the
142           'normal mode' voltage only. Switching to 'suspend mode'
143           (i.e. the alternate voltage), disabling output via software,
144           or switching the mode is not supported by this driver (at
145           this time).
146
147 config DM_REGULATOR_COMMON
148         bool
149         depends on DM_REGULATOR
150
151 config SPL_DM_REGULATOR_COMMON
152         bool
153         depends on DM_REGULATOR
154
155 config DM_REGULATOR_FIXED
156         bool "Enable Driver Model for REGULATOR Fixed value"
157         depends on DM_REGULATOR
158         select DM_REGULATOR_COMMON
159         ---help---
160         This config enables implementation of driver-model regulator uclass
161         features for fixed value regulators. The driver implements get/set api
162         for enable and get only for voltage value.
163
164 config SPL_DM_REGULATOR_FIXED
165         bool "Enable Driver Model for REGULATOR Fixed value in SPL"
166         depends on DM_REGULATOR_FIXED
167         select SPL_DM_REGULATOR_COMMON
168         ---help---
169         This config enables implementation of driver-model regulator uclass
170         features for fixed value regulators in SPL.
171
172 config DM_REGULATOR_GPIO
173         bool "Enable Driver Model for GPIO REGULATOR"
174         depends on DM_REGULATOR && DM_GPIO
175         select DM_REGULATOR_COMMON
176         ---help---
177         This config enables implementation of driver-model regulator uclass
178         features for gpio regulators. The driver implements get/set for
179         voltage value.
180
181 config SPL_DM_REGULATOR_GPIO
182         bool "Enable Driver Model for GPIO REGULATOR in SPL"
183         depends on DM_REGULATOR_GPIO && SPL_GPIO
184         select SPL_DM_REGULATOR_COMMON
185         ---help---
186         This config enables implementation of driver-model regulator uclass
187         features for gpio regulators in SPL.
188
189 config REGULATOR_RK8XX
190         bool "Enable driver for RK8XX regulators"
191         depends on DM_REGULATOR && PMIC_RK8XX
192         ---help---
193         Enable support for the regulator functions of the RK8XX PMIC. The
194         driver implements get/set api for the various BUCKS and LDOs supported
195         by the PMIC device. This driver is controlled by a device tree node
196         which includes voltage limits.
197
198 config DM_REGULATOR_S2MPS11
199         bool "Enable driver for S2MPS11 regulator"
200         depends on DM_REGULATOR && PMIC_S2MPS11
201         ---help---
202         This enables implementation of driver-model regulator uclass
203         features for REGULATOR S2MPS11.
204         The driver implements get/set api for: value and enable.
205
206 config REGULATOR_S5M8767
207         bool "Enable support for S5M8767 regulator"
208         depends on DM_REGULATOR && PMIC_S5M8767
209         ---help---
210         This enables the regulator features of the S5M8767, allowing voltages
211         to be set, etc. The driver is not fully complete but supports most
212         common requirements, including all LDOs and BUCKs. This allows many
213         supplies to be set automatically using the device tree values.
214
215 config DM_REGULATOR_SANDBOX
216         bool "Enable Driver Model for Sandbox PMIC regulator"
217         depends on DM_REGULATOR && DM_PMIC_SANDBOX
218         ---help---
219         Enable the regulator driver for emulated Sandbox PMIC.
220         The emulated PMIC device depends on two drivers:
221         - sandbox PMIC I/O driver - implements dm pmic operations
222         - sandbox PMIC regulator driver - implements dm regulator operations
223         - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
224
225         The regulator driver provides uclass operations for sandbox PMIC's
226         regulators. The driver implements get/set api for: voltage, current,
227         operation mode and enable state.
228         The driver supports LDO and BUCK regulators.
229
230         The Sandbox PMIC info:
231         * I/O interface:
232           - I2C chip address:       0x40
233           - first register address: 0x0
234           - register count:         0x10
235         * Adjustable outputs:
236           - 2x LDO
237           - 2x BUCK
238           - Each, with a different operating conditions (header).
239         * Reset values:
240           - set by i2c emul driver's probe() (defaults in header)
241
242         A detailed information can be found in header: '<power/sandbox_pmic.h>'
243         Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
244
245 config REGULATOR_TPS65090
246         bool "Enable driver for TPS65090 PMIC regulators"
247         depends on PMIC_TPS65090
248         ---help---
249         The TPS65090 provides several FETs (Field-effect Transistors,
250         effectively switches) which are supported by this driver as
251         regulators, one for each FET. The standard regulator interface is
252         supported, but it is only possible to turn the regulators on or off.
253         There is no voltage/current control.
254
255 config DM_REGULATOR_PALMAS
256         bool "Enable driver for PALMAS PMIC regulators"
257        depends on PMIC_PALMAS
258         ---help---
259         This enables implementation of driver-model regulator uclass
260         features for REGULATOR PALMAS and the family of PALMAS PMICs.
261         The driver implements get/set api for: value and enable.
262
263 config DM_REGULATOR_PBIAS
264         bool "Enable driver for PBIAS regulator"
265         depends on DM_REGULATOR
266         select REGMAP
267         select SYSCON
268         ---help---
269         This enables implementation of driver-model regulator uclass
270         features for pseudo-regulator PBIAS found in the OMAP SOCs.
271         This pseudo-regulator is used to provide a BIAS voltage to MMC1
272         signal pads and must be configured properly during a voltage switch.
273         Voltage switching is required by some operating modes of SDcards and
274         eMMC.
275
276 config DM_REGULATOR_LP873X
277         bool "Enable driver for LP873X PMIC regulators"
278         depends on PMIC_LP873X
279         ---help---
280         This enables implementation of driver-model regulator uclass
281         features for REGULATOR LP873X and the family of LP873X PMICs.
282         The driver implements get/set api for: value and enable.
283
284 config DM_REGULATOR_LP87565
285         bool "Enable driver for LP87565 PMIC regulators"
286         depends on PMIC_LP87565
287         ---help---
288         This enables implementation of driver-model regulator uclass
289         features for REGULATOR LP87565 and the family of LP87565 PMICs.
290         LP87565 series of PMICs have 4 single phase BUCKs that can also
291         be configured in multi phase modes. The driver implements
292         get/set api for value and enable.
293
294 config DM_REGULATOR_STM32_VREFBUF
295         bool "Enable driver for STMicroelectronics STM32 VREFBUF"
296         depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
297         help
298         This driver supports STMicroelectronics STM32 VREFBUF (voltage
299         reference buffer) which can be used as voltage reference for
300         internal ADCs, DACs and also for external components through
301         dedicated Vref+ pin.
302
303 config DM_REGULATOR_TPS65910
304         bool "Enable driver for TPS65910 PMIC regulators"
305         depends on DM_PMIC_TPS65910
306         ---help---
307         The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
308         regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
309         the get/set api for value and enable.
310
311 config DM_REGULATOR_TPS62360
312         bool "Enable driver for TPS6236x Power Regulator"
313         depends on DM_REGULATOR
314         help
315         The TPS6236X DC/DC step down converter provides a single output
316         power line peaking at 3A current. This driver supports all four
317         variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
318         implements the get/set api for value only, as the power line is
319         always on.
320
321 config DM_REGULATOR_STPMIC1
322         bool "Enable driver for STPMIC1 regulators"
323         depends on DM_REGULATOR && PMIC_STPMIC1
324         ---help---
325         Enable support for the regulator functions of the STPMIC1 PMIC. The
326         driver implements get/set api for the various BUCKS and LDOs supported
327         by the PMIC device. This driver is controlled by a device tree node
328         which includes voltage limits.
329
330 config DM_REGULATOR_ANATOP
331         bool "Enable driver for ANATOP regulators"
332         depends on DM_REGULATOR
333         select REGMAP
334         select SYSCON
335         help
336         Enable support for the Freescale i.MX on-chip ANATOP LDO
337         regulators. It is recommended that this option be enabled on
338         i.MX6 platform.
339
340 config SPL_DM_REGULATOR_STPMIC1
341         bool "Enable driver for STPMIC1 regulators in SPL"
342         depends on SPL_DM_REGULATOR && PMIC_STPMIC1
343         help
344           Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
345
346 config SPL_DM_REGULATOR_PALMAS
347         bool "Enable driver for PALMAS PMIC regulators"
348        depends on SPL_PMIC_PALMAS
349         help
350         This enables implementation of driver-model regulator uclass
351         features for REGULATOR PALMAS and the family of PALMAS PMICs.
352         The driver implements get/set api for: value and enable in SPL.
353
354 config SPL_DM_REGULATOR_LP87565
355         bool "Enable driver for LP87565 PMIC regulators"
356        depends on SPL_PMIC_LP87565
357         help
358         This enables implementation of driver-model regulator uclass
359         features for REGULATOR LP87565 and the family of LP87565 PMICs.
360         LP87565 series of PMICs have 4 single phase BUCKs that can also
361         be configured in multi phase modes. The driver implements
362         get/set api for value and enable in SPL.
363
364 config SPL_DM_REGULATOR_LP873X
365         bool "Enable driver for LP873X PMIC regulators"
366         depends on SPL_PMIC_LP873X
367         help
368         This enables implementation of driver-model regulator uclass
369         features for REGULATOR LP873X and the family of LP873X PMICs.
370         The driver implements get/set api for: value and enable in SPL.
371
372 config DM_REGULATOR_TPS65941
373         bool "Enable driver for TPS65941 PMIC regulators"
374         depends on PMIC_TPS65941
375         help
376         This enables implementation of driver-model regulator uclass
377         features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
378         TPS65941 series of PMICs have 5 single phase BUCKs that can also
379         be configured in multi phase modes & 4 LDOs. The driver implements
380         get/set api for value and enable.
381
382 config DM_REGULATOR_SCMI
383         bool "Enable driver for SCMI voltage domain regulators"
384         depends on DM_REGULATOR
385         select SCMI_AGENT
386         help
387           Enable this option if you want to support regulators exposed through
388           the SCMI voltage domain protocol by a SCMI server.
389
390 config DM_REGULATOR_TPS65219
391         bool "Enable driver for TPS65219 PMIC regulators"
392         depends on PMIC_TPS65219
393         help
394         This enables implementation of driver-model regulator uclass
395         features for REGULATOR TPS65219 and the family of TPS65219 PMICs.
396         TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs.
397         The driver implements get/set api for value and enable.