Merge tag 'u-boot-stm32-20190606' of https://github.com/pchotard/u-boot
[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 PMIC_AS3722
44         bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
45         help
46           The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
47           real-time clock, GPIOs, ADC and a few other features. It uses an I2C
48           interface and is designs to cover most of the power managementment
49           required for a tablets or laptop.
50
51 config DM_PMIC_BD71837
52         bool "Enable Driver Model for PMIC BD71837"
53         depends on DM_PMIC
54         help
55           This config enables implementation of driver-model pmic uclass features
56           for PMIC BD71837. The driver implements read/write operations.
57
58 config DM_PMIC_FAN53555
59         bool "Enable support for OnSemi FAN53555"
60         depends on DM_PMIC && DM_REGULATOR && DM_I2C
61         select DM_REGULATOR_FAN53555
62         help
63           This config enables implementation of driver-model PMIC
64           uclass features for the FAN53555 regulator. The FAN53555 is
65           a (family of) single-output regulators that supports
66           transitioning between two different output voltages based on
67           an voltage selection pin.
68
69           The driver implements read/write operations for use with the FAN53555
70           regulator driver and binds the regulator driver to its node.
71
72 config DM_PMIC_PFUZE100
73         bool "Enable Driver Model for PMIC PFUZE100"
74         depends on DM_PMIC
75         ---help---
76         This config enables implementation of driver-model pmic uclass features
77         for PMIC PFUZE100. The driver implements read/write operations.
78
79 config DM_PMIC_MAX77686
80         bool "Enable Driver Model for PMIC MAX77686"
81         depends on DM_PMIC
82         ---help---
83         This config enables implementation of driver-model pmic uclass features
84         for PMIC MAX77686. The driver implements read/write operations.
85
86 config DM_PMIC_MAX8998
87         bool "Enable Driver Model for PMIC MAX8998"
88         depends on DM_PMIC
89         ---help---
90         This config enables implementation of driver-model pmic uclass features
91         for PMIC MAX8998. The driver implements read/write operations.
92
93 config DM_PMIC_MC34708
94         bool "Enable Driver Model for PMIC MC34708"
95         depends on DM_PMIC
96         help
97          This config enables implementation of driver-model pmic uclass features
98          for PMIC MC34708. The driver implements read/write operations.
99
100 config PMIC_MAX8997
101         bool "Enable Driver Model for PMIC MAX8997"
102         depends on DM_PMIC
103         ---help---
104         This config enables implementation of driver-model pmic uclass features
105         for PMIC MAX8997. The driver implements read/write operations.
106         This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
107         - 21x LDOs
108         - 12x GPIOs
109         - Haptic Motor driver
110         - RTC with two alarms
111         - Fueal Gauge and One backup battery charger
112         - MUIC
113         - Others
114
115 config PMIC_PM8916
116         bool "Enable Driver Model for Qualcomm PM8916 PMIC"
117         depends on DM_PMIC
118         ---help---
119         The PM8916 is a PMIC connected to one (or several) processors
120         with SPMI bus. It has 2 slaves with several peripherals:
121         - 18x LDO
122         - 4x GPIO
123         - Power and Reset buttons
124         - Watchdog
125         - RTC
126         - Vibrator drivers
127         - Others
128
129         Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
130
131 config PMIC_RK8XX
132         bool "Enable support for Rockchip PMIC RK8XX"
133         depends on DM_PMIC
134         ---help---
135         The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
136         an RTC and two low Rds (resistance (drain to source)) switches. It is
137         accessed via an I2C interface. The device is used with Rockchip SoCs.
138         This driver implements register read/write operations.
139
140 config PMIC_S2MPS11
141         bool "Enable Driver Model for PMIC Samsung S2MPS11"
142         depends on DM_PMIC
143         ---help---
144         The Samsung S2MPS11 PMIC provides:
145          - 38 adjustable LDO regulators
146          - 9 High-Efficiency Buck Converters
147          - 1 BuckBoost Converter
148          - RTC with two alarms
149          - Backup battery charger
150          - I2C Configuration Interface
151         This driver provides access to I/O interface only.
152         Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
153
154 config DM_PMIC_SANDBOX
155         bool "Enable Driver Model for emulated Sandbox PMIC"
156         depends on DM_PMIC
157         ---help---
158         Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
159         depends on two drivers:
160         - sandbox PMIC I/O driver - implements dm pmic operations
161         - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
162
163         A detailed information can be found in header: '<power/sandbox_pmic.h>'
164
165         The Sandbox PMIC info:
166         * I/O interface:
167           - I2C chip address:       0x40
168           - first register address: 0x0
169           - register count:         0x10
170         * Adjustable outputs:
171           - 2x LDO
172           - 2x BUCK
173           - Each, with a different operating conditions (header).
174         * Reset values:
175           - set by i2c emul driver's probe() (defaults in header)
176
177         Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
178
179 config PMIC_S5M8767
180         bool "Enable Driver Model for the Samsung S5M8767 PMIC"
181         depends on DM_PMIC
182         ---help---
183         The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
184         as a SoC power controller. It also provides 32KHz clock outputs. This
185         driver provides basic register access and sets up the attached
186         regulators if regulator support is enabled.
187
188 config PMIC_RN5T567
189         bool "Enable driver for Ricoh RN5T567 PMIC"
190         depends on DM_PMIC
191         ---help---
192         The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
193         regulators Real-Time Clock and 4 GPIOs. This driver provides
194         register access only.
195
196 config PMIC_TPS65090
197         bool "Enable driver for Texas Instruments TPS65090 PMIC"
198         depends on DM_PMIC
199         ---help---
200         The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
201         FETs and a battery charger. This driver provides register access
202         only, and you can enable the regulator/charger drivers separately if
203         required.
204
205 config PMIC_PALMAS
206         bool "Enable driver for Texas Instruments PALMAS PMIC"
207         depends on DM_PMIC
208         ---help---
209         The PALMAS is a PMIC containing several LDOs, SMPS.
210         This driver binds the pmic children.
211
212 config PMIC_LP873X
213         bool "Enable driver for Texas Instruments LP873X PMIC"
214         depends on DM_PMIC
215         ---help---
216         The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
217         This driver binds the pmic children.
218
219 config PMIC_LP87565
220         bool "Enable driver for Texas Instruments LP87565 PMIC"
221         depends on DM_PMIC
222         ---help---
223         The LP87565 is a PMIC containing a bunch of SMPS.
224         This driver binds the pmic children.
225
226 config POWER_MC34VR500
227         bool "Enable driver for Freescale MC34VR500 PMIC"
228         ---help---
229         The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
230         SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
231         via an I2C interface.
232
233 config DM_PMIC_TPS65910
234         bool "Enable driver for Texas Instruments TPS65910 PMIC"
235         depends on DM_PMIC
236         ---help---
237         The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
238         DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
239         pmic children.
240
241 config PMIC_STPMIC1
242         bool "Enable support for STMicroelectronics STPMIC1 PMIC"
243         depends on DM_PMIC && DM_I2C
244         ---help---
245         The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
246         It is accessed via an I2C interface. The device is used with STM32MP1
247         SoCs. This driver implements register read/write operations.