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