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