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