blob: 92e2ace279d1b7e6705b2427c1edd8c6b61263e9 [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
69 help
70 This config enables driver-model PMIC uclass features for
71 X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
72
73config SPL_PMIC_AXP
74 bool "Enable Driver Model for X-Powers AXP PMICs in SPL"
75 depends on SPL_DM_I2C && SPL_DM_PMIC
76 help
77 This config enables driver-model PMIC uclass features in the SPL for
78 X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
79
Martin Fuzzeya99472e2020-01-14 15:56:16 +000080config DM_PMIC_DA9063
81 bool "Enable Driver Model for the Dialog DA9063 PMIC"
Martin Fuzzeya99472e2020-01-14 15:56:16 +000082 help
83 This config enables implementation of driver-model pmic uclass features
84 for PMIC DA9063. The driver implements read/write operations.
85
86config SPL_DM_PMIC_DA9063
87 bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -050088 depends on SPL_DM_PMIC
Martin Fuzzeya99472e2020-01-14 15:56:16 +000089 help
90 This config enables implementation of driver-model pmic uclass features
91 for PMIC DA9063. The driver implements read/write operations.
92
Simon Glass52222b12017-04-26 22:27:46 -060093config PMIC_AS3722
94 bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
95 help
96 The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
97 real-time clock, GPIOs, ADC and a few other features. It uses an I2C
98 interface and is designs to cover most of the power managementment
99 required for a tablets or laptop.
100
Matti Vaittinen1cf7f1d2019-05-07 10:43:39 +0300101config DM_PMIC_BD71837
102 bool "Enable Driver Model for PMIC BD71837"
Matti Vaittinen1cf7f1d2019-05-07 10:43:39 +0300103 help
104 This config enables implementation of driver-model pmic uclass features
105 for PMIC BD71837. The driver implements read/write operations.
106
Peng Fan9c3193b2019-10-16 10:24:36 +0000107config SPL_DM_PMIC_BD71837
108 bool "Enable Driver Model for PMIC BD71837 in SPL stage"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500109 depends on SPL_DM_PMIC
Peng Fan9c3193b2019-10-16 10:24:36 +0000110 help
111 This config enables implementation of driver-model pmic uclass
112 features for PMIC BD71837. The driver implements read/write
113 operations.
114
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100115config DM_PMIC_FAN53555
116 bool "Enable support for OnSemi FAN53555"
Samuel Hollandaad02792021-10-08 00:17:14 -0500117 depends on DM_REGULATOR && DM_I2C
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100118 select DM_REGULATOR_FAN53555
119 help
120 This config enables implementation of driver-model PMIC
121 uclass features for the FAN53555 regulator. The FAN53555 is
122 a (family of) single-output regulators that supports
123 transitioning between two different output voltages based on
124 an voltage selection pin.
125
126 The driver implements read/write operations for use with the FAN53555
127 regulator driver and binds the regulator driver to its node.
128
Tim Harvey338588e2020-12-21 08:19:39 -0800129config DM_PMIC_MP5416
130 bool "Enable Driver Model for PMIC MP5416"
Tim Harvey338588e2020-12-21 08:19:39 -0800131 help
132 This config enables implementation of driver-model pmic uclass features
133 for PMIC MP5416. The driver implements read/write operations.
134
135config SPL_DM_PMIC_MP5416
136 bool "Enable Driver Model for PMIC MP5416 in SPL stage"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500137 depends on SPL_DM_PMIC
Tim Harvey338588e2020-12-21 08:19:39 -0800138 help
139 This config enables implementation of driver-model pmic uclass
140 features for PMIC MP5416. The driver implements read/write
141 operations.
142
Ye Lic3ee9092019-10-15 02:15:18 -0700143config DM_PMIC_PCA9450
144 bool "Enable Driver Model for PMIC PCA9450"
Ye Lic3ee9092019-10-15 02:15:18 -0700145 help
146 This config enables implementation of driver-model pmic uclass features
147 for PMIC PCA9450. The driver implements read/write operations.
148
Igor Opaniukdb8fef22020-10-28 11:58:10 +0200149config SPL_DM_PMIC_PCA9450
150 bool "Enable Driver Model for PMIC PCA9450"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500151 depends on SPL_DM_PMIC
Igor Opaniukdb8fef22020-10-28 11:58:10 +0200152 help
153 This config enables implementation of driver-model pmic uclass features
154 for PMIC PCA9450 in SPL. The driver implements read/write operations.
155
Peng Fan6f4f6d22015-08-14 11:36:16 +0200156config DM_PMIC_PFUZE100
157 bool "Enable Driver Model for PMIC PFUZE100"
Peng Fan6f4f6d22015-08-14 11:36:16 +0200158 ---help---
159 This config enables implementation of driver-model pmic uclass features
160 for PMIC PFUZE100. The driver implements read/write operations.
161
Marek Vasut16189d62020-05-29 19:22:41 +0200162config SPL_DM_PMIC_PFUZE100
163 bool "Enable Driver Model for PMIC PFUZE100 in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500164 depends on SPL_DM_PMIC
Marek Vasut16189d62020-05-29 19:22:41 +0200165 ---help---
166 This config enables implementation of driver-model pmic uclass features
167 for PMIC PFUZE100 in SPL. The driver implements read/write operations.
168
Przemyslaw Marczak58ea76f2015-04-20 20:07:46 +0200169config DM_PMIC_MAX77686
170 bool "Enable Driver Model for PMIC MAX77686"
Przemyslaw Marczak58ea76f2015-04-20 20:07:46 +0200171 ---help---
172 This config enables implementation of driver-model pmic uclass features
Przemyslaw Marczak10314982015-05-13 13:38:26 +0200173 for PMIC MAX77686. The driver implements read/write operations.
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200174
Jaehoon Chung42b5d882016-12-15 18:21:10 +0900175config DM_PMIC_MAX8998
176 bool "Enable Driver Model for PMIC MAX8998"
Jaehoon Chung42b5d882016-12-15 18:21:10 +0900177 ---help---
178 This config enables implementation of driver-model pmic uclass features
179 for PMIC MAX8998. The driver implements read/write operations.
180
Lukasz Majewski9c65b792018-05-15 16:26:37 +0200181config DM_PMIC_MC34708
182 bool "Enable Driver Model for PMIC MC34708"
Lukasz Majewski9c65b792018-05-15 16:26:37 +0200183 help
184 This config enables implementation of driver-model pmic uclass features
185 for PMIC MC34708. The driver implements read/write operations.
186
Jaehoon Chung4997f6e2017-02-02 17:04:09 +0900187config PMIC_MAX8997
188 bool "Enable Driver Model for PMIC MAX8997"
Jaehoon Chung4997f6e2017-02-02 17:04:09 +0900189 ---help---
190 This config enables implementation of driver-model pmic uclass features
191 for PMIC MAX8997. The driver implements read/write operations.
192 This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
193 - 21x LDOs
194 - 12x GPIOs
195 - Haptic Motor driver
196 - RTC with two alarms
197 - Fueal Gauge and One backup battery charger
198 - MUIC
199 - Others
200
Mateusz Kulikowski0be548f2016-03-31 23:12:30 +0200201config PMIC_PM8916
202 bool "Enable Driver Model for Qualcomm PM8916 PMIC"
Mateusz Kulikowski0be548f2016-03-31 23:12:30 +0200203 ---help---
204 The PM8916 is a PMIC connected to one (or several) processors
205 with SPMI bus. It has 2 slaves with several peripherals:
206 - 18x LDO
207 - 4x GPIO
208 - Power and Reset buttons
209 - Watchdog
210 - RTC
211 - Vibrator drivers
212 - Others
213
214 Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
215
Jacob Chen614704b2017-05-02 14:54:52 +0800216config PMIC_RK8XX
217 bool "Enable support for Rockchip PMIC RK8XX"
Simon Glassa8bd2ac2016-01-21 19:43:29 -0700218 ---help---
219 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
220 an RTC and two low Rds (resistance (drain to source)) switches. It is
221 accessed via an I2C interface. The device is used with Rockchip SoCs.
222 This driver implements register read/write operations.
223
Simon Glass6343ffb2021-08-08 12:20:25 -0600224config SPL_PMIC_RK8XX
225 bool "Enable support for Rockchip PMIC RK8XX"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500226 depends on SPL_DM_PMIC
Simon Glass6343ffb2021-08-08 12:20:25 -0600227 ---help---
228 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
229 an RTC and two low Rds (resistance (drain to source)) switches. It is
230 accessed via an I2C interface. The device is used with Rockchip SoCs.
231 This driver implements register read/write operations.
232
Przemyslaw Marczak91815122015-10-27 13:07:58 +0100233config PMIC_S2MPS11
234 bool "Enable Driver Model for PMIC Samsung S2MPS11"
Przemyslaw Marczak91815122015-10-27 13:07:58 +0100235 ---help---
236 The Samsung S2MPS11 PMIC provides:
237 - 38 adjustable LDO regulators
238 - 9 High-Efficiency Buck Converters
239 - 1 BuckBoost Converter
240 - RTC with two alarms
241 - Backup battery charger
242 - I2C Configuration Interface
243 This driver provides access to I/O interface only.
244 Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
245
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200246config DM_PMIC_SANDBOX
Michal Simekc7df3a22018-07-23 08:38:56 +0200247 bool "Enable Driver Model for emulated Sandbox PMIC"
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200248 ---help---
249 Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
250 depends on two drivers:
251 - sandbox PMIC I/O driver - implements dm pmic operations
252 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
253
254 A detailed information can be found in header: '<power/sandbox_pmic.h>'
255
256 The Sandbox PMIC info:
257 * I/O interface:
258 - I2C chip address: 0x40
259 - first register address: 0x0
260 - register count: 0x10
261 * Adjustable outputs:
262 - 2x LDO
263 - 2x BUCK
264 - Each, with a different operating conditions (header).
265 * Reset values:
266 - set by i2c emul driver's probe() (defaults in header)
267
268 Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
Simon Glassc0871112015-07-02 18:15:58 -0600269
Simon Glass01651492015-07-02 18:16:00 -0600270config PMIC_S5M8767
271 bool "Enable Driver Model for the Samsung S5M8767 PMIC"
Simon Glass01651492015-07-02 18:16:00 -0600272 ---help---
273 The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
274 as a SoC power controller. It also provides 32KHz clock outputs. This
275 driver provides basic register access and sets up the attached
276 regulators if regulator support is enabled.
277
Stefan Agnerb084ddd2016-10-05 15:27:09 -0700278config PMIC_RN5T567
279 bool "Enable driver for Ricoh RN5T567 PMIC"
Stefan Agnerb084ddd2016-10-05 15:27:09 -0700280 ---help---
281 The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
282 regulators Real-Time Clock and 4 GPIOs. This driver provides
283 register access only.
284
Simon Glassc0871112015-07-02 18:15:58 -0600285config PMIC_TPS65090
286 bool "Enable driver for Texas Instruments TPS65090 PMIC"
Simon Glassc0871112015-07-02 18:15:58 -0600287 ---help---
288 The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
289 FETs and a battery charger. This driver provides register access
290 only, and you can enable the regulator/charger drivers separately if
291 required.
Keerthyf0df1b12016-09-30 09:20:43 +0530292
293config PMIC_PALMAS
294 bool "Enable driver for Texas Instruments PALMAS PMIC"
Keerthyf0df1b12016-09-30 09:20:43 +0530295 ---help---
296 The PALMAS is a PMIC containing several LDOs, SMPS.
297 This driver binds the pmic children.
Keerthy662797b2016-09-30 09:34:02 +0530298
299config PMIC_LP873X
300 bool "Enable driver for Texas Instruments LP873X PMIC"
Keerthy662797b2016-09-30 09:34:02 +0530301 ---help---
302 The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
303 This driver binds the pmic children.
Hou Zhiqiang6d6e5ee2016-12-09 16:08:57 +0800304
Keerthy3006c922017-06-07 19:08:28 +0530305config PMIC_LP87565
306 bool "Enable driver for Texas Instruments LP87565 PMIC"
Keerthy3006c922017-06-07 19:08:28 +0530307 ---help---
308 The LP87565 is a PMIC containing a bunch of SMPS.
309 This driver binds the pmic children.
310
Felix Brack9493f0e2017-11-30 13:52:37 +0100311config DM_PMIC_TPS65910
312 bool "Enable driver for Texas Instruments TPS65910 PMIC"
Felix Brack9493f0e2017-11-30 13:52:37 +0100313 ---help---
314 The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
315 DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
316 pmic children.
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100317
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100318config PMIC_STPMIC1
319 bool "Enable support for STMicroelectronics STPMIC1 PMIC"
Samuel Hollandaad02792021-10-08 00:17:14 -0500320 depends on DM_I2C
Urja Rannikkoe008ebf2019-05-16 21:48:42 +0000321 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100322 ---help---
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100323 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100324 It is accessed via an I2C interface. The device is used with STM32MP1
325 SoCs. This driver implements register read/write operations.
Keerthya23e47e2019-06-06 16:06:55 +0530326
327config SPL_PMIC_PALMAS
328 bool "Enable driver for Texas Instruments PALMAS PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500329 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530330 help
331 The PALMAS is a PMIC containing several LDOs, SMPS.
332 This driver binds the pmic children in SPL.
333
334config SPL_PMIC_LP873X
335 bool "Enable driver for Texas Instruments LP873X PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500336 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530337 help
338 The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
339 This driver binds the pmic children in SPL.
340
341config SPL_PMIC_LP87565
342 bool "Enable driver for Texas Instruments LP87565 PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500343 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530344 help
345 The LP87565 is a PMIC containing a bunch of SMPS.
346 This driver binds the pmic children in SPL.
Keerthya36bb3c2019-10-24 15:00:50 +0530347
348config PMIC_TPS65941
349 bool "Enable driver for Texas Instruments TPS65941 PMIC"
Keerthya36bb3c2019-10-24 15:00:50 +0530350 help
351 The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
352 This driver binds the pmic children.
Samuel Hollandaad02792021-10-08 00:17:14 -0500353
354endif
Tom Rini97e96f22021-10-12 08:58:58 -0400355
356config POWER_MC34VR500
357 bool "Enable driver for Freescale MC34VR500 PMIC"
358 depends on !DM_PMIC
359 ---help---
360 The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
361 SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
362 via an I2C interface.