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