blob: 0478f2aa1d4ac37281498c847a4a8a62f1d255df [file] [log] [blame]
Przemyslaw Marczak9a8bc952015-04-20 20:07:41 +02001config 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'
Przemyslaw Marczak58ea76f2015-04-20 20:07:46 +020012
Samuel Hollandaad02792021-10-08 00:17:14 -050013if DM_PMIC
14
Simon Glass6343ffb2021-08-08 12:20:25 -060015config SPL_DM_PMIC
16 bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC) in SPL"
17 depends on SPL_DM
Samuel Hollandaad02792021-10-08 00:17:14 -050018 default y
Simon Glass6343ffb2021-08-08 12:20:25 -060019 ---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
Simon Glassc8db7b42016-01-21 19:43:55 -070028config PMIC_CHILDREN
29 bool "Allow child devices for PMICs"
Simon Glassc8db7b42016-01-21 19:43:55 -070030 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
37config SPL_PMIC_CHILDREN
38 bool "Allow child devices for PMICs in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -050039 depends on SPL_DM_PMIC
Simon Glassc8db7b42016-01-21 19:43:55 -070040 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'
Jacob Chen614704b2017-05-02 14:54:52 +080045 to call your regulator code (e.g. see rk8xx.c for direct functions
Simon Glassc8db7b42016-01-21 19:43:55 -070046 for use in SPL).
47
Stephan Gerholdcb9589f2021-07-08 20:33:48 +020048config PMIC_AB8500
49 bool "Enable driver for ST-Ericsson AB8500 PMIC via PRCMU"
Stephan Gerholdcb9589f2021-07-08 20:33:48 +020050 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
Simon Glassb08ce892015-08-30 16:55:29 -060057config PMIC_ACT8846
58 bool "Enable support for the active-semi 8846 PMIC"
Samuel Hollandaad02792021-10-08 00:17:14 -050059 depends on DM_I2C
Simon Glassb08ce892015-08-30 16:55:29 -060060 ---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
Samuel Holland3f902612021-10-08 00:17:16 -050066config PMIC_AXP
67 bool "Enable Driver Model for X-Powers AXP PMICs"
68 depends on DM_I2C
Samuel Holland5afa5cd2021-10-24 21:00:10 -050069 select SYSRESET_CMD_POWEROFF if SYSRESET && CMD_POWEROFF
70 imply CMD_POWEROFF if SYSRESET
Samuel Holland3f902612021-10-08 00:17:16 -050071 help
72 This config enables driver-model PMIC uclass features for
73 X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
74
75config SPL_PMIC_AXP
76 bool "Enable Driver Model for X-Powers AXP PMICs in SPL"
77 depends on SPL_DM_I2C && SPL_DM_PMIC
78 help
79 This config enables driver-model PMIC uclass features in the SPL for
80 X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
81
Martin Fuzzeya99472e2020-01-14 15:56:16 +000082config DM_PMIC_DA9063
83 bool "Enable Driver Model for the Dialog DA9063 PMIC"
Martin Fuzzeya99472e2020-01-14 15:56:16 +000084 help
85 This config enables implementation of driver-model pmic uclass features
86 for PMIC DA9063. The driver implements read/write operations.
87
88config SPL_DM_PMIC_DA9063
89 bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -050090 depends on SPL_DM_PMIC
Martin Fuzzeya99472e2020-01-14 15:56:16 +000091 help
92 This config enables implementation of driver-model pmic uclass features
93 for PMIC DA9063. The driver implements read/write operations.
94
Simon Glass52222b12017-04-26 22:27:46 -060095config PMIC_AS3722
96 bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
97 help
98 The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
99 real-time clock, GPIOs, ADC and a few other features. It uses an I2C
100 interface and is designs to cover most of the power managementment
101 required for a tablets or laptop.
102
Matti Vaittinen1cf7f1d2019-05-07 10:43:39 +0300103config DM_PMIC_BD71837
104 bool "Enable Driver Model for PMIC BD71837"
Matti Vaittinen1cf7f1d2019-05-07 10:43:39 +0300105 help
106 This config enables implementation of driver-model pmic uclass features
107 for PMIC BD71837. The driver implements read/write operations.
108
Peng Fan9c3193b2019-10-16 10:24:36 +0000109config SPL_DM_PMIC_BD71837
110 bool "Enable Driver Model for PMIC BD71837 in SPL stage"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500111 depends on SPL_DM_PMIC
Peng Fan9c3193b2019-10-16 10:24:36 +0000112 help
113 This config enables implementation of driver-model pmic uclass
114 features for PMIC BD71837. The driver implements read/write
115 operations.
116
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100117config DM_PMIC_FAN53555
118 bool "Enable support for OnSemi FAN53555"
Samuel Hollandaad02792021-10-08 00:17:14 -0500119 depends on DM_REGULATOR && DM_I2C
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100120 select DM_REGULATOR_FAN53555
121 help
122 This config enables implementation of driver-model PMIC
123 uclass features for the FAN53555 regulator. The FAN53555 is
124 a (family of) single-output regulators that supports
125 transitioning between two different output voltages based on
126 an voltage selection pin.
127
128 The driver implements read/write operations for use with the FAN53555
129 regulator driver and binds the regulator driver to its node.
130
Quentin Schulz9964f002021-11-12 15:10:47 +0100131config SPL_DM_PMIC_FAN53555
132 bool "Enable support for OnSemi FAN53555 in SPL"
133 depends on SPL_DM_REGULATOR && SPL_DM_I2C
134 select SPL_DM_REGULATOR_FAN53555
135 help
136 This config enables implementation of driver-model PMIC
137 uclass features for the FAN53555 regulator. The FAN53555 is
138 a (family of) single-output regulators that supports
139 transitioning between two different output voltages based on
140 an voltage selection pin.
141
142 The driver implements read/write operations for use with the FAN53555
143 regulator driver and binds the regulator driver to its node.
144
Tim Harvey338588e2020-12-21 08:19:39 -0800145config DM_PMIC_MP5416
146 bool "Enable Driver Model for PMIC MP5416"
Tim Harvey338588e2020-12-21 08:19:39 -0800147 help
148 This config enables implementation of driver-model pmic uclass features
149 for PMIC MP5416. The driver implements read/write operations.
150
151config SPL_DM_PMIC_MP5416
152 bool "Enable Driver Model for PMIC MP5416 in SPL stage"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500153 depends on SPL_DM_PMIC
Tim Harvey338588e2020-12-21 08:19:39 -0800154 help
155 This config enables implementation of driver-model pmic uclass
156 features for PMIC MP5416. The driver implements read/write
157 operations.
158
Ye Lic3ee9092019-10-15 02:15:18 -0700159config DM_PMIC_PCA9450
160 bool "Enable Driver Model for PMIC PCA9450"
Rasmus Villemoes593539c2022-05-03 10:58:06 +0200161 depends on DM_I2C
Ye Lic3ee9092019-10-15 02:15:18 -0700162 help
163 This config enables implementation of driver-model pmic uclass features
164 for PMIC PCA9450. The driver implements read/write operations.
165
Igor Opaniukdb8fef22020-10-28 11:58:10 +0200166config SPL_DM_PMIC_PCA9450
Rasmus Villemoes593539c2022-05-03 10:58:06 +0200167 bool "Enable Driver Model for PMIC PCA9450 in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500168 depends on SPL_DM_PMIC
Rasmus Villemoes593539c2022-05-03 10:58:06 +0200169 depends on SPL_DM_I2C
Igor Opaniukdb8fef22020-10-28 11:58:10 +0200170 help
171 This config enables implementation of driver-model pmic uclass features
172 for PMIC PCA9450 in SPL. The driver implements read/write operations.
173
Peng Fan6f4f6d22015-08-14 11:36:16 +0200174config DM_PMIC_PFUZE100
175 bool "Enable Driver Model for PMIC PFUZE100"
Peng Fan6f4f6d22015-08-14 11:36:16 +0200176 ---help---
177 This config enables implementation of driver-model pmic uclass features
178 for PMIC PFUZE100. The driver implements read/write operations.
179
Marek Vasut16189d62020-05-29 19:22:41 +0200180config SPL_DM_PMIC_PFUZE100
181 bool "Enable Driver Model for PMIC PFUZE100 in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500182 depends on SPL_DM_PMIC
Marek Vasut16189d62020-05-29 19:22:41 +0200183 ---help---
184 This config enables implementation of driver-model pmic uclass features
185 for PMIC PFUZE100 in SPL. The driver implements read/write operations.
186
Przemyslaw Marczak58ea76f2015-04-20 20:07:46 +0200187config DM_PMIC_MAX77686
188 bool "Enable Driver Model for PMIC MAX77686"
Przemyslaw Marczak58ea76f2015-04-20 20:07:46 +0200189 ---help---
190 This config enables implementation of driver-model pmic uclass features
Przemyslaw Marczak10314982015-05-13 13:38:26 +0200191 for PMIC MAX77686. The driver implements read/write operations.
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200192
Jaehoon Chung42b5d882016-12-15 18:21:10 +0900193config DM_PMIC_MAX8998
194 bool "Enable Driver Model for PMIC MAX8998"
Jaehoon Chung42b5d882016-12-15 18:21:10 +0900195 ---help---
196 This config enables implementation of driver-model pmic uclass features
197 for PMIC MAX8998. The driver implements read/write operations.
198
Lukasz Majewski9c65b792018-05-15 16:26:37 +0200199config DM_PMIC_MC34708
200 bool "Enable Driver Model for PMIC MC34708"
Lukasz Majewski9c65b792018-05-15 16:26:37 +0200201 help
202 This config enables implementation of driver-model pmic uclass features
203 for PMIC MC34708. The driver implements read/write operations.
204
Jaehoon Chung4997f6e2017-02-02 17:04:09 +0900205config PMIC_MAX8997
206 bool "Enable Driver Model for PMIC MAX8997"
Jaehoon Chung4997f6e2017-02-02 17:04:09 +0900207 ---help---
208 This config enables implementation of driver-model pmic uclass features
209 for PMIC MAX8997. The driver implements read/write operations.
210 This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
211 - 21x LDOs
212 - 12x GPIOs
213 - Haptic Motor driver
214 - RTC with two alarms
215 - Fueal Gauge and One backup battery charger
216 - MUIC
217 - Others
218
Sumit Garg60900b42022-08-04 19:57:17 +0530219config PMIC_QCOM
220 bool "Enable Driver Model for Qualcomm generic PMIC"
Mateusz Kulikowski0be548f2016-03-31 23:12:30 +0200221 ---help---
Sumit Garg60900b42022-08-04 19:57:17 +0530222 The Qcom PMIC is connected to one (or several) processors
Mateusz Kulikowski0be548f2016-03-31 23:12:30 +0200223 with SPMI bus. It has 2 slaves with several peripherals:
224 - 18x LDO
225 - 4x GPIO
226 - Power and Reset buttons
227 - Watchdog
228 - RTC
229 - Vibrator drivers
230 - Others
231
Sumit Garg60900b42022-08-04 19:57:17 +0530232 Driver binding info: doc/device-tree-bindings/pmic/qcom,spmi-pmic.txt
Mateusz Kulikowski0be548f2016-03-31 23:12:30 +0200233
Jacob Chen614704b2017-05-02 14:54:52 +0800234config PMIC_RK8XX
235 bool "Enable support for Rockchip PMIC RK8XX"
Simon Glassa8bd2ac2016-01-21 19:43:29 -0700236 ---help---
237 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
238 an RTC and two low Rds (resistance (drain to source)) switches. It is
239 accessed via an I2C interface. The device is used with Rockchip SoCs.
240 This driver implements register read/write operations.
241
Simon Glass6343ffb2021-08-08 12:20:25 -0600242config SPL_PMIC_RK8XX
243 bool "Enable support for Rockchip PMIC RK8XX"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500244 depends on SPL_DM_PMIC
Simon Glass6343ffb2021-08-08 12:20:25 -0600245 ---help---
246 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
247 an RTC and two low Rds (resistance (drain to source)) switches. It is
248 accessed via an I2C interface. The device is used with Rockchip SoCs.
249 This driver implements register read/write operations.
250
Przemyslaw Marczak91815122015-10-27 13:07:58 +0100251config PMIC_S2MPS11
252 bool "Enable Driver Model for PMIC Samsung S2MPS11"
Przemyslaw Marczak91815122015-10-27 13:07:58 +0100253 ---help---
254 The Samsung S2MPS11 PMIC provides:
255 - 38 adjustable LDO regulators
256 - 9 High-Efficiency Buck Converters
257 - 1 BuckBoost Converter
258 - RTC with two alarms
259 - Backup battery charger
260 - I2C Configuration Interface
261 This driver provides access to I/O interface only.
262 Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
263
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200264config DM_PMIC_SANDBOX
Michal Simekc7df3a22018-07-23 08:38:56 +0200265 bool "Enable Driver Model for emulated Sandbox PMIC"
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200266 ---help---
267 Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
268 depends on two drivers:
269 - sandbox PMIC I/O driver - implements dm pmic operations
270 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
271
272 A detailed information can be found in header: '<power/sandbox_pmic.h>'
273
274 The Sandbox PMIC info:
275 * I/O interface:
276 - I2C chip address: 0x40
277 - first register address: 0x0
278 - register count: 0x10
279 * Adjustable outputs:
280 - 2x LDO
281 - 2x BUCK
282 - Each, with a different operating conditions (header).
283 * Reset values:
284 - set by i2c emul driver's probe() (defaults in header)
285
286 Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
Simon Glassc0871112015-07-02 18:15:58 -0600287
Simon Glass01651492015-07-02 18:16:00 -0600288config PMIC_S5M8767
289 bool "Enable Driver Model for the Samsung S5M8767 PMIC"
Simon Glass01651492015-07-02 18:16:00 -0600290 ---help---
291 The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
292 as a SoC power controller. It also provides 32KHz clock outputs. This
293 driver provides basic register access and sets up the attached
294 regulators if regulator support is enabled.
295
Stefan Agnerb084ddd2016-10-05 15:27:09 -0700296config PMIC_RN5T567
297 bool "Enable driver for Ricoh RN5T567 PMIC"
Stefan Agnerb084ddd2016-10-05 15:27:09 -0700298 ---help---
299 The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
300 regulators Real-Time Clock and 4 GPIOs. This driver provides
301 register access only.
302
Simon Glassc0871112015-07-02 18:15:58 -0600303config PMIC_TPS65090
304 bool "Enable driver for Texas Instruments TPS65090 PMIC"
Simon Glassc0871112015-07-02 18:15:58 -0600305 ---help---
306 The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
307 FETs and a battery charger. This driver provides register access
308 only, and you can enable the regulator/charger drivers separately if
309 required.
Keerthyf0df1b12016-09-30 09:20:43 +0530310
311config PMIC_PALMAS
312 bool "Enable driver for Texas Instruments PALMAS PMIC"
Keerthyf0df1b12016-09-30 09:20:43 +0530313 ---help---
314 The PALMAS is a PMIC containing several LDOs, SMPS.
315 This driver binds the pmic children.
Keerthy662797b2016-09-30 09:34:02 +0530316
317config PMIC_LP873X
318 bool "Enable driver for Texas Instruments LP873X PMIC"
Keerthy662797b2016-09-30 09:34:02 +0530319 ---help---
320 The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
321 This driver binds the pmic children.
Hou Zhiqiang6d6e5ee2016-12-09 16:08:57 +0800322
Keerthy3006c922017-06-07 19:08:28 +0530323config PMIC_LP87565
324 bool "Enable driver for Texas Instruments LP87565 PMIC"
Keerthy3006c922017-06-07 19:08:28 +0530325 ---help---
326 The LP87565 is a PMIC containing a bunch of SMPS.
327 This driver binds the pmic children.
328
Felix Brack9493f0e2017-11-30 13:52:37 +0100329config DM_PMIC_TPS65910
330 bool "Enable driver for Texas Instruments TPS65910 PMIC"
Felix Brack9493f0e2017-11-30 13:52:37 +0100331 ---help---
332 The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
333 DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
334 pmic children.
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100335
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100336config PMIC_STPMIC1
337 bool "Enable support for STMicroelectronics STPMIC1 PMIC"
Samuel Hollandaad02792021-10-08 00:17:14 -0500338 depends on DM_I2C
Urja Rannikkoe008ebf2019-05-16 21:48:42 +0000339 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100340 ---help---
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100341 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100342 It is accessed via an I2C interface. The device is used with STM32MP1
343 SoCs. This driver implements register read/write operations.
Keerthya23e47e2019-06-06 16:06:55 +0530344
345config SPL_PMIC_PALMAS
346 bool "Enable driver for Texas Instruments PALMAS PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500347 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530348 help
349 The PALMAS is a PMIC containing several LDOs, SMPS.
350 This driver binds the pmic children in SPL.
351
352config SPL_PMIC_LP873X
353 bool "Enable driver for Texas Instruments LP873X PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500354 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530355 help
356 The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
357 This driver binds the pmic children in SPL.
358
359config SPL_PMIC_LP87565
360 bool "Enable driver for Texas Instruments LP87565 PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500361 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530362 help
363 The LP87565 is a PMIC containing a bunch of SMPS.
364 This driver binds the pmic children in SPL.
Keerthya36bb3c2019-10-24 15:00:50 +0530365
366config PMIC_TPS65941
367 bool "Enable driver for Texas Instruments TPS65941 PMIC"
Keerthya36bb3c2019-10-24 15:00:50 +0530368 help
369 The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
370 This driver binds the pmic children.
Samuel Hollandaad02792021-10-08 00:17:14 -0500371
Neil Armstronge422fbe2022-04-27 13:28:09 +0200372config PMIC_TPS65219
373 bool "Enable driver for Texas Instruments TPS65219 PMIC"
374 depends on DM_PMIC
375 help
376 The TPS65219 is a PMIC containing a bunch of SMPS & LDOs.
377 This driver binds the pmic children.
Samuel Hollandaad02792021-10-08 00:17:14 -0500378endif
Tom Rini97e96f22021-10-12 08:58:58 -0400379
Lukasz Majewskib4e681f2022-03-12 08:11:10 +0100380config PMIC_TPS65217
381 bool "Enable driver for Texas Instruments TPS65217 PMIC"
382 ---help---
383 The TPS65217 is a PMIC containing several LDOs, DC to DC convertors,
384 FETs and a battery charger. This driver provides register access
385 only, and you can enable the regulator/charger drivers separately if
386 required.
387
Tom Rini97e96f22021-10-12 08:58:58 -0400388config POWER_MC34VR500
389 bool "Enable driver for Freescale MC34VR500 PMIC"
390 depends on !DM_PMIC
391 ---help---
392 The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
393 SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
394 via an I2C interface.