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