common: Drop log.h from common header
[oweals/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_PCA9450
95         bool "Enable Driver Model for PMIC PCA9450"
96         depends on DM_PMIC
97         help
98           This config enables implementation of driver-model pmic uclass features
99           for PMIC PCA9450. The driver implements read/write operations.
100
101 config DM_PMIC_PFUZE100
102         bool "Enable Driver Model for PMIC PFUZE100"
103         depends on DM_PMIC
104         ---help---
105         This config enables implementation of driver-model pmic uclass features
106         for PMIC PFUZE100. The driver implements read/write operations.
107
108 config DM_PMIC_MAX77686
109         bool "Enable Driver Model for PMIC MAX77686"
110         depends on DM_PMIC
111         ---help---
112         This config enables implementation of driver-model pmic uclass features
113         for PMIC MAX77686. The driver implements read/write operations.
114
115 config DM_PMIC_MAX8998
116         bool "Enable Driver Model for PMIC MAX8998"
117         depends on DM_PMIC
118         ---help---
119         This config enables implementation of driver-model pmic uclass features
120         for PMIC MAX8998. The driver implements read/write operations.
121
122 config DM_PMIC_MC34708
123         bool "Enable Driver Model for PMIC MC34708"
124         depends on DM_PMIC
125         help
126          This config enables implementation of driver-model pmic uclass features
127          for PMIC MC34708. The driver implements read/write operations.
128
129 config PMIC_MAX8997
130         bool "Enable Driver Model for PMIC MAX8997"
131         depends on DM_PMIC
132         ---help---
133         This config enables implementation of driver-model pmic uclass features
134         for PMIC MAX8997. The driver implements read/write operations.
135         This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
136         - 21x LDOs
137         - 12x GPIOs
138         - Haptic Motor driver
139         - RTC with two alarms
140         - Fueal Gauge and One backup battery charger
141         - MUIC
142         - Others
143
144 config PMIC_PM8916
145         bool "Enable Driver Model for Qualcomm PM8916 PMIC"
146         depends on DM_PMIC
147         ---help---
148         The PM8916 is a PMIC connected to one (or several) processors
149         with SPMI bus. It has 2 slaves with several peripherals:
150         - 18x LDO
151         - 4x GPIO
152         - Power and Reset buttons
153         - Watchdog
154         - RTC
155         - Vibrator drivers
156         - Others
157
158         Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
159
160 config PMIC_RK8XX
161         bool "Enable support for Rockchip PMIC RK8XX"
162         depends on DM_PMIC
163         ---help---
164         The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
165         an RTC and two low Rds (resistance (drain to source)) switches. It is
166         accessed via an I2C interface. The device is used with Rockchip SoCs.
167         This driver implements register read/write operations.
168
169 config PMIC_S2MPS11
170         bool "Enable Driver Model for PMIC Samsung S2MPS11"
171         depends on DM_PMIC
172         ---help---
173         The Samsung S2MPS11 PMIC provides:
174          - 38 adjustable LDO regulators
175          - 9 High-Efficiency Buck Converters
176          - 1 BuckBoost Converter
177          - RTC with two alarms
178          - Backup battery charger
179          - I2C Configuration Interface
180         This driver provides access to I/O interface only.
181         Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
182
183 config DM_PMIC_SANDBOX
184         bool "Enable Driver Model for emulated Sandbox PMIC"
185         depends on DM_PMIC
186         ---help---
187         Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
188         depends on two drivers:
189         - sandbox PMIC I/O driver - implements dm pmic operations
190         - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
191
192         A detailed information can be found in header: '<power/sandbox_pmic.h>'
193
194         The Sandbox PMIC info:
195         * I/O interface:
196           - I2C chip address:       0x40
197           - first register address: 0x0
198           - register count:         0x10
199         * Adjustable outputs:
200           - 2x LDO
201           - 2x BUCK
202           - Each, with a different operating conditions (header).
203         * Reset values:
204           - set by i2c emul driver's probe() (defaults in header)
205
206         Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
207
208 config PMIC_S5M8767
209         bool "Enable Driver Model for the Samsung S5M8767 PMIC"
210         depends on DM_PMIC
211         ---help---
212         The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
213         as a SoC power controller. It also provides 32KHz clock outputs. This
214         driver provides basic register access and sets up the attached
215         regulators if regulator support is enabled.
216
217 config PMIC_RN5T567
218         bool "Enable driver for Ricoh RN5T567 PMIC"
219         depends on DM_PMIC
220         ---help---
221         The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
222         regulators Real-Time Clock and 4 GPIOs. This driver provides
223         register access only.
224
225 config PMIC_TPS65090
226         bool "Enable driver for Texas Instruments TPS65090 PMIC"
227         depends on DM_PMIC
228         ---help---
229         The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
230         FETs and a battery charger. This driver provides register access
231         only, and you can enable the regulator/charger drivers separately if
232         required.
233
234 config PMIC_PALMAS
235         bool "Enable driver for Texas Instruments PALMAS PMIC"
236         depends on DM_PMIC
237         ---help---
238         The PALMAS is a PMIC containing several LDOs, SMPS.
239         This driver binds the pmic children.
240
241 config PMIC_LP873X
242         bool "Enable driver for Texas Instruments LP873X PMIC"
243         depends on DM_PMIC
244         ---help---
245         The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
246         This driver binds the pmic children.
247
248 config PMIC_LP87565
249         bool "Enable driver for Texas Instruments LP87565 PMIC"
250         depends on DM_PMIC
251         ---help---
252         The LP87565 is a PMIC containing a bunch of SMPS.
253         This driver binds the pmic children.
254
255 config POWER_MC34VR500
256         bool "Enable driver for Freescale MC34VR500 PMIC"
257         ---help---
258         The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
259         SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
260         via an I2C interface.
261
262 config DM_PMIC_TPS65910
263         bool "Enable driver for Texas Instruments TPS65910 PMIC"
264         depends on DM_PMIC
265         ---help---
266         The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
267         DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
268         pmic children.
269
270 config PMIC_STPMIC1
271         bool "Enable support for STMicroelectronics STPMIC1 PMIC"
272         depends on DM_PMIC && DM_I2C
273         select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
274         ---help---
275         The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
276         It is accessed via an I2C interface. The device is used with STM32MP1
277         SoCs. This driver implements register read/write operations.
278
279 config SPL_PMIC_PALMAS
280         bool "Enable driver for Texas Instruments PALMAS PMIC"
281         depends on DM_PMIC
282         help
283         The PALMAS is a PMIC containing several LDOs, SMPS.
284         This driver binds the pmic children in SPL.
285
286 config SPL_PMIC_LP873X
287         bool "Enable driver for Texas Instruments LP873X PMIC"
288         depends on DM_PMIC
289         help
290         The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
291         This driver binds the pmic children in SPL.
292
293 config SPL_PMIC_LP87565
294         bool "Enable driver for Texas Instruments LP87565 PMIC"
295         depends on DM_PMIC
296         help
297         The LP87565 is a PMIC containing a bunch of SMPS.
298         This driver binds the pmic children in SPL.
299
300 config PMIC_TPS65941
301         bool "Enable driver for Texas Instruments TPS65941 PMIC"
302         depends on DM_PMIC
303         help
304         The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
305         This driver binds the pmic children.