Merge branch 'next'
[platform/kernel/u-boot.git] / drivers / power / pmic / Kconfig
1 config DM_PMIC
2         bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC)"
3         depends on DM
4         ---help---
5         This config enables the driver-model PMIC support.
6         UCLASS_PMIC - designed to provide an I/O interface for PMIC devices.
7         For the multi-function PMIC devices, this can be used as parent I/O
8         device for each IC's interface. Then, each children uses its parent
9         for read/write. For detailed description, please refer to the files:
10         - 'drivers/power/pmic/pmic-uclass.c'
11         - 'include/power/pmic.h'
12
13 config SPL_DM_PMIC
14         bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC) in SPL"
15         depends on SPL_DM
16         default y if DM_PMIC
17         ---help---
18         This config enables the driver-model PMIC support in SPL.
19         UCLASS_PMIC - designed to provide an I/O interface for PMIC devices.
20         For the multi-function PMIC devices, this can be used as parent I/O
21         device for each IC's interface. Then, each children uses its parent
22         for read/write. For detailed description, please refer to the files:
23         - 'drivers/power/pmic/pmic-uclass.c'
24         - 'include/power/pmic.h'
25
26 config PMIC_CHILDREN
27         bool "Allow child devices for PMICs"
28         depends on DM_PMIC
29         default y
30         ---help---
31         This allows PMICs to support child devices (such as regulators) in
32         SPL. This adds quite a bit of code so if you are not using this
33         feature you can turn it off. Most likely you should turn it on for
34         U-Boot proper.
35
36 config SPL_PMIC_CHILDREN
37         bool "Allow child devices for PMICs in SPL"
38         depends on DM_PMIC
39         default y
40         ---help---
41         This allows PMICs to support child devices (such as regulators) in
42         SPL. This adds quite a bit of code so if you are not using this
43         feature you can turn it off. In this case you may need a 'back door'
44         to call your regulator code (e.g. see rk8xx.c for direct functions
45         for use in SPL).
46
47 config PMIC_AB8500
48         bool "Enable driver for ST-Ericsson AB8500 PMIC via PRCMU"
49         depends on DM_PMIC
50         select REGMAP
51         select SYSCON
52         help
53           Enable support for the ST-Ericsson AB8500 (Analog Baseband) PMIC.
54           It connects with the ST-Ericsson DB8500 SoC via an I2C bus managed by
55           the power/reset/clock management unit (PRCMU) firmware.
56
57 config PMIC_ACT8846
58         bool "Enable support for the active-semi 8846 PMIC"
59         depends on DM_PMIC && DM_I2C
60         ---help---
61         This PMIC includes 4 DC/DC step-down buck regulators and 8 low-dropout
62         regulators (LDOs). It also provides some GPIO, reset and battery
63         functions. It uses an I2C interface and is designed for use with
64         tablets and smartphones.
65
66 config DM_PMIC_DA9063
67         bool "Enable Driver Model for the Dialog DA9063 PMIC"
68         depends on DM_PMIC
69         help
70           This config enables implementation of driver-model pmic uclass features
71           for PMIC DA9063. The driver implements read/write operations.
72
73 config SPL_DM_PMIC_DA9063
74         bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL"
75         depends on DM_PMIC && SPL
76         help
77           This config enables implementation of driver-model pmic uclass features
78           for PMIC DA9063. The driver implements read/write operations.
79
80 config PMIC_AS3722
81         bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
82         help
83           The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
84           real-time clock, GPIOs, ADC and a few other features. It uses an I2C
85           interface and is designs to cover most of the power managementment
86           required for a tablets or laptop.
87
88 config DM_PMIC_BD71837
89         bool "Enable Driver Model for PMIC BD71837"
90         depends on DM_PMIC
91         help
92           This config enables implementation of driver-model pmic uclass features
93           for PMIC BD71837. The driver implements read/write operations.
94
95 config SPL_DM_PMIC_BD71837
96         bool "Enable Driver Model for PMIC BD71837 in SPL stage"
97         depends on DM_PMIC
98         help
99           This config enables implementation of driver-model pmic uclass
100           features for PMIC BD71837. The driver implements read/write
101           operations.
102
103 config DM_PMIC_FAN53555
104         bool "Enable support for OnSemi FAN53555"
105         depends on DM_PMIC && DM_REGULATOR && DM_I2C
106         select DM_REGULATOR_FAN53555
107         help
108           This config enables implementation of driver-model PMIC
109           uclass features for the FAN53555 regulator. The FAN53555 is
110           a (family of) single-output regulators that supports
111           transitioning between two different output voltages based on
112           an voltage selection pin.
113
114           The driver implements read/write operations for use with the FAN53555
115           regulator driver and binds the regulator driver to its node.
116
117 config DM_PMIC_MP5416
118         bool "Enable Driver Model for PMIC MP5416"
119         depends on DM_PMIC
120         help
121           This config enables implementation of driver-model pmic uclass features
122           for PMIC MP5416. The driver implements read/write operations.
123
124 config SPL_DM_PMIC_MP5416
125         bool "Enable Driver Model for PMIC MP5416 in SPL stage"
126         depends on DM_PMIC
127         help
128           This config enables implementation of driver-model pmic uclass
129           features for PMIC MP5416. The driver implements read/write
130           operations.
131
132 config DM_PMIC_PCA9450
133         bool "Enable Driver Model for PMIC PCA9450"
134         depends on DM_PMIC
135         help
136           This config enables implementation of driver-model pmic uclass features
137           for PMIC PCA9450. The driver implements read/write operations.
138
139 config SPL_DM_PMIC_PCA9450
140         bool "Enable Driver Model for PMIC PCA9450"
141         depends on DM_PMIC
142         help
143           This config enables implementation of driver-model pmic uclass features
144           for PMIC PCA9450 in SPL. The driver implements read/write operations.
145
146 config DM_PMIC_PFUZE100
147         bool "Enable Driver Model for PMIC PFUZE100"
148         depends on DM_PMIC
149         ---help---
150         This config enables implementation of driver-model pmic uclass features
151         for PMIC PFUZE100. The driver implements read/write operations.
152
153 config SPL_DM_PMIC_PFUZE100
154         bool "Enable Driver Model for PMIC PFUZE100 in SPL"
155         depends on DM_PMIC
156         ---help---
157         This config enables implementation of driver-model pmic uclass features
158         for PMIC PFUZE100 in SPL. The driver implements read/write operations.
159
160 config DM_PMIC_MAX77686
161         bool "Enable Driver Model for PMIC MAX77686"
162         depends on DM_PMIC
163         ---help---
164         This config enables implementation of driver-model pmic uclass features
165         for PMIC MAX77686. The driver implements read/write operations.
166
167 config DM_PMIC_MAX8998
168         bool "Enable Driver Model for PMIC MAX8998"
169         depends on DM_PMIC
170         ---help---
171         This config enables implementation of driver-model pmic uclass features
172         for PMIC MAX8998. The driver implements read/write operations.
173
174 config DM_PMIC_MC34708
175         bool "Enable Driver Model for PMIC MC34708"
176         depends on DM_PMIC
177         help
178          This config enables implementation of driver-model pmic uclass features
179          for PMIC MC34708. The driver implements read/write operations.
180
181 config PMIC_MAX8997
182         bool "Enable Driver Model for PMIC MAX8997"
183         depends on DM_PMIC
184         ---help---
185         This config enables implementation of driver-model pmic uclass features
186         for PMIC MAX8997. The driver implements read/write operations.
187         This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
188         - 21x LDOs
189         - 12x GPIOs
190         - Haptic Motor driver
191         - RTC with two alarms
192         - Fueal Gauge and One backup battery charger
193         - MUIC
194         - Others
195
196 config PMIC_PM8916
197         bool "Enable Driver Model for Qualcomm PM8916 PMIC"
198         depends on DM_PMIC
199         ---help---
200         The PM8916 is a PMIC connected to one (or several) processors
201         with SPMI bus. It has 2 slaves with several peripherals:
202         - 18x LDO
203         - 4x GPIO
204         - Power and Reset buttons
205         - Watchdog
206         - RTC
207         - Vibrator drivers
208         - Others
209
210         Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
211
212 config PMIC_RK8XX
213         bool "Enable support for Rockchip PMIC RK8XX"
214         depends on DM_PMIC
215         ---help---
216         The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
217         an RTC and two low Rds (resistance (drain to source)) switches. It is
218         accessed via an I2C interface. The device is used with Rockchip SoCs.
219         This driver implements register read/write operations.
220
221 config SPL_PMIC_RK8XX
222         bool "Enable support for Rockchip PMIC RK8XX"
223         depends on DM_PMIC
224         ---help---
225         The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
226         an RTC and two low Rds (resistance (drain to source)) switches. It is
227         accessed via an I2C interface. The device is used with Rockchip SoCs.
228         This driver implements register read/write operations.
229
230 config PMIC_S2MPS11
231         bool "Enable Driver Model for PMIC Samsung S2MPS11"
232         depends on DM_PMIC
233         ---help---
234         The Samsung S2MPS11 PMIC provides:
235          - 38 adjustable LDO regulators
236          - 9 High-Efficiency Buck Converters
237          - 1 BuckBoost Converter
238          - RTC with two alarms
239          - Backup battery charger
240          - I2C Configuration Interface
241         This driver provides access to I/O interface only.
242         Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
243
244 config DM_PMIC_SANDBOX
245         bool "Enable Driver Model for emulated Sandbox PMIC"
246         depends on DM_PMIC
247         ---help---
248         Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
249         depends on two drivers:
250         - sandbox PMIC I/O driver - implements dm pmic operations
251         - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
252
253         A detailed information can be found in header: '<power/sandbox_pmic.h>'
254
255         The Sandbox PMIC info:
256         * I/O interface:
257           - I2C chip address:       0x40
258           - first register address: 0x0
259           - register count:         0x10
260         * Adjustable outputs:
261           - 2x LDO
262           - 2x BUCK
263           - Each, with a different operating conditions (header).
264         * Reset values:
265           - set by i2c emul driver's probe() (defaults in header)
266
267         Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
268
269 config PMIC_S5M8767
270         bool "Enable Driver Model for the Samsung S5M8767 PMIC"
271         depends on DM_PMIC
272         ---help---
273         The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
274         as a SoC power controller. It also provides 32KHz clock outputs. This
275         driver provides basic register access and sets up the attached
276         regulators if regulator support is enabled.
277
278 config PMIC_RN5T567
279         bool "Enable driver for Ricoh RN5T567 PMIC"
280         depends on DM_PMIC
281         ---help---
282         The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
283         regulators Real-Time Clock and 4 GPIOs. This driver provides
284         register access only.
285
286 config PMIC_TPS65090
287         bool "Enable driver for Texas Instruments TPS65090 PMIC"
288         depends on DM_PMIC
289         ---help---
290         The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
291         FETs and a battery charger. This driver provides register access
292         only, and you can enable the regulator/charger drivers separately if
293         required.
294
295 config PMIC_PALMAS
296         bool "Enable driver for Texas Instruments PALMAS PMIC"
297         depends on DM_PMIC
298         ---help---
299         The PALMAS is a PMIC containing several LDOs, SMPS.
300         This driver binds the pmic children.
301
302 config PMIC_LP873X
303         bool "Enable driver for Texas Instruments LP873X PMIC"
304         depends on DM_PMIC
305         ---help---
306         The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
307         This driver binds the pmic children.
308
309 config PMIC_LP87565
310         bool "Enable driver for Texas Instruments LP87565 PMIC"
311         depends on DM_PMIC
312         ---help---
313         The LP87565 is a PMIC containing a bunch of SMPS.
314         This driver binds the pmic children.
315
316 config POWER_MC34VR500
317         bool "Enable driver for Freescale MC34VR500 PMIC"
318         ---help---
319         The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
320         SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
321         via an I2C interface.
322
323 config DM_PMIC_TPS65910
324         bool "Enable driver for Texas Instruments TPS65910 PMIC"
325         depends on DM_PMIC
326         ---help---
327         The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
328         DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
329         pmic children.
330
331 config PMIC_STPMIC1
332         bool "Enable support for STMicroelectronics STPMIC1 PMIC"
333         depends on DM_PMIC && DM_I2C
334         select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
335         ---help---
336         The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
337         It is accessed via an I2C interface. The device is used with STM32MP1
338         SoCs. This driver implements register read/write operations.
339
340 config SPL_PMIC_PALMAS
341         bool "Enable driver for Texas Instruments PALMAS PMIC"
342         depends on DM_PMIC
343         help
344         The PALMAS is a PMIC containing several LDOs, SMPS.
345         This driver binds the pmic children in SPL.
346
347 config SPL_PMIC_LP873X
348         bool "Enable driver for Texas Instruments LP873X PMIC"
349         depends on DM_PMIC
350         help
351         The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
352         This driver binds the pmic children in SPL.
353
354 config SPL_PMIC_LP87565
355         bool "Enable driver for Texas Instruments LP87565 PMIC"
356         depends on DM_PMIC
357         help
358         The LP87565 is a PMIC containing a bunch of SMPS.
359         This driver binds the pmic children in SPL.
360
361 config PMIC_TPS65941
362         bool "Enable driver for Texas Instruments TPS65941 PMIC"
363         depends on DM_PMIC
364         help
365         The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
366         This driver binds the pmic children.