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