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