blob: bb3960020dd1ec310c8bc590ab6fb5fffb39e423 [file] [log] [blame]
Przemyslaw Marczak4d9057e2015-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 Marczak52a3de52015-04-20 20:07:46 +020012
Samuel Holland7f51b552021-10-08 00:17:14 -050013if DM_PMIC
14
Simon Glass7abf1782021-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 Holland7f51b552021-10-08 00:17:14 -050018 default y
Simon Glass7abf1782021-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 Glass1f2b4b02016-01-21 19:43:55 -070028config PMIC_CHILDREN
29 bool "Allow child devices for PMICs"
Simon Glass1f2b4b02016-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 Holland3fd90e42021-10-08 00:17:15 -050039 depends on SPL_DM_PMIC
Simon Glass1f2b4b02016-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 Chen453c5a92017-05-02 14:54:52 +080045 to call your regulator code (e.g. see rk8xx.c for direct functions
Simon Glass1f2b4b02016-01-21 19:43:55 -070046 for use in SPL).
47
Stephan Gerhold3f6e4ec2021-07-08 20:33:48 +020048config PMIC_AB8500
49 bool "Enable driver for ST-Ericsson AB8500 PMIC via PRCMU"
Stephan Gerhold3f6e4ec2021-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 Glassd2c88f72015-08-30 16:55:29 -060057config PMIC_ACT8846
58 bool "Enable support for the active-semi 8846 PMIC"
Samuel Holland7f51b552021-10-08 00:17:14 -050059 depends on DM_I2C
Simon Glassd2c88f72015-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 Holland526c4f22021-10-08 00:17:16 -050066config PMIC_AXP
67 bool "Enable Driver Model for X-Powers AXP PMICs"
68 depends on DM_I2C
Samuel Holland95d9ffd2021-10-24 21:00:10 -050069 select SYSRESET_CMD_POWEROFF if SYSRESET && CMD_POWEROFF
70 imply CMD_POWEROFF if SYSRESET
Samuel Holland526c4f22021-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 Fuzzey483880c2020-01-14 15:56:16 +000082config DM_PMIC_DA9063
83 bool "Enable Driver Model for the Dialog DA9063 PMIC"
Martin Fuzzey483880c2020-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 Holland3fd90e42021-10-08 00:17:15 -050090 depends on SPL_DM_PMIC
Martin Fuzzey483880c2020-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 Glassbdf25a52017-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 Vaittinen1023c872019-05-07 10:43:39 +0300103config DM_PMIC_BD71837
104 bool "Enable Driver Model for PMIC BD71837"
Matti Vaittinen1023c872019-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 Fan672fc542019-10-16 10:24:36 +0000109config SPL_DM_PMIC_BD71837
110 bool "Enable Driver Model for PMIC BD71837 in SPL stage"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500111 depends on SPL_DM_PMIC
Peng Fan672fc542019-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 Tomsichdfb0a702018-11-30 20:00:08 +0100117config DM_PMIC_FAN53555
118 bool "Enable support for OnSemi FAN53555"
Samuel Holland7f51b552021-10-08 00:17:14 -0500119 depends on DM_REGULATOR && DM_I2C
Philipp Tomsichdfb0a702018-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 Schulz22063562021-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 Harvey2767d882020-12-21 08:19:39 -0800145config DM_PMIC_MP5416
146 bool "Enable Driver Model for PMIC MP5416"
Tim Harvey2767d882020-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 Holland3fd90e42021-10-08 00:17:15 -0500153 depends on SPL_DM_PMIC
Tim Harvey2767d882020-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 Li22172f62019-10-15 02:15:18 -0700159config DM_PMIC_PCA9450
160 bool "Enable Driver Model for PMIC PCA9450"
Ye Li22172f62019-10-15 02:15:18 -0700161 help
162 This config enables implementation of driver-model pmic uclass features
163 for PMIC PCA9450. The driver implements read/write operations.
164
Igor Opaniuk8f9abdf2020-10-28 11:58:10 +0200165config SPL_DM_PMIC_PCA9450
166 bool "Enable Driver Model for PMIC PCA9450"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500167 depends on SPL_DM_PMIC
Igor Opaniuk8f9abdf2020-10-28 11:58:10 +0200168 help
169 This config enables implementation of driver-model pmic uclass features
170 for PMIC PCA9450 in SPL. The driver implements read/write operations.
171
Peng Fan1c1f6072015-08-14 11:36:16 +0200172config DM_PMIC_PFUZE100
173 bool "Enable Driver Model for PMIC PFUZE100"
Peng Fan1c1f6072015-08-14 11:36:16 +0200174 ---help---
175 This config enables implementation of driver-model pmic uclass features
176 for PMIC PFUZE100. The driver implements read/write operations.
177
Marek Vasut661d9af2020-05-29 19:22:41 +0200178config SPL_DM_PMIC_PFUZE100
179 bool "Enable Driver Model for PMIC PFUZE100 in SPL"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500180 depends on SPL_DM_PMIC
Marek Vasut661d9af2020-05-29 19:22:41 +0200181 ---help---
182 This config enables implementation of driver-model pmic uclass features
183 for PMIC PFUZE100 in SPL. The driver implements read/write operations.
184
Przemyslaw Marczak52a3de52015-04-20 20:07:46 +0200185config DM_PMIC_MAX77686
186 bool "Enable Driver Model for PMIC MAX77686"
Przemyslaw Marczak52a3de52015-04-20 20:07:46 +0200187 ---help---
188 This config enables implementation of driver-model pmic uclass features
Przemyslaw Marczakf415a3e2015-05-13 13:38:26 +0200189 for PMIC MAX77686. The driver implements read/write operations.
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200190
Jaehoon Chung103e83a2016-12-15 18:21:10 +0900191config DM_PMIC_MAX8998
192 bool "Enable Driver Model for PMIC MAX8998"
Jaehoon Chung103e83a2016-12-15 18:21:10 +0900193 ---help---
194 This config enables implementation of driver-model pmic uclass features
195 for PMIC MAX8998. The driver implements read/write operations.
196
Lukasz Majewskic57a2262018-05-15 16:26:37 +0200197config DM_PMIC_MC34708
198 bool "Enable Driver Model for PMIC MC34708"
Lukasz Majewskic57a2262018-05-15 16:26:37 +0200199 help
200 This config enables implementation of driver-model pmic uclass features
201 for PMIC MC34708. The driver implements read/write operations.
202
Jaehoon Chung1a5a05d2017-02-02 17:04:09 +0900203config PMIC_MAX8997
204 bool "Enable Driver Model for PMIC MAX8997"
Jaehoon Chung1a5a05d2017-02-02 17:04:09 +0900205 ---help---
206 This config enables implementation of driver-model pmic uclass features
207 for PMIC MAX8997. The driver implements read/write operations.
208 This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
209 - 21x LDOs
210 - 12x GPIOs
211 - Haptic Motor driver
212 - RTC with two alarms
213 - Fueal Gauge and One backup battery charger
214 - MUIC
215 - Others
216
Mateusz Kulikowskic2f74c82016-03-31 23:12:30 +0200217config PMIC_PM8916
218 bool "Enable Driver Model for Qualcomm PM8916 PMIC"
Mateusz Kulikowskic2f74c82016-03-31 23:12:30 +0200219 ---help---
220 The PM8916 is a PMIC connected to one (or several) processors
221 with SPMI bus. It has 2 slaves with several peripherals:
222 - 18x LDO
223 - 4x GPIO
224 - Power and Reset buttons
225 - Watchdog
226 - RTC
227 - Vibrator drivers
228 - Others
229
230 Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
231
Jacob Chen453c5a92017-05-02 14:54:52 +0800232config PMIC_RK8XX
233 bool "Enable support for Rockchip PMIC RK8XX"
Simon Glass2a4febf2016-01-21 19:43:29 -0700234 ---help---
235 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
236 an RTC and two low Rds (resistance (drain to source)) switches. It is
237 accessed via an I2C interface. The device is used with Rockchip SoCs.
238 This driver implements register read/write operations.
239
Simon Glass7abf1782021-08-08 12:20:25 -0600240config SPL_PMIC_RK8XX
241 bool "Enable support for Rockchip PMIC RK8XX"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500242 depends on SPL_DM_PMIC
Simon Glass7abf1782021-08-08 12:20:25 -0600243 ---help---
244 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
245 an RTC and two low Rds (resistance (drain to source)) switches. It is
246 accessed via an I2C interface. The device is used with Rockchip SoCs.
247 This driver implements register read/write operations.
248
Przemyslaw Marczak35d460f2015-10-27 13:07:58 +0100249config PMIC_S2MPS11
250 bool "Enable Driver Model for PMIC Samsung S2MPS11"
Przemyslaw Marczak35d460f2015-10-27 13:07:58 +0100251 ---help---
252 The Samsung S2MPS11 PMIC provides:
253 - 38 adjustable LDO regulators
254 - 9 High-Efficiency Buck Converters
255 - 1 BuckBoost Converter
256 - RTC with two alarms
257 - Backup battery charger
258 - I2C Configuration Interface
259 This driver provides access to I/O interface only.
260 Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
261
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200262config DM_PMIC_SANDBOX
Michal Simekb8448052018-07-23 08:38:56 +0200263 bool "Enable Driver Model for emulated Sandbox PMIC"
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200264 ---help---
265 Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
266 depends on two drivers:
267 - sandbox PMIC I/O driver - implements dm pmic operations
268 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
269
270 A detailed information can be found in header: '<power/sandbox_pmic.h>'
271
272 The Sandbox PMIC info:
273 * I/O interface:
274 - I2C chip address: 0x40
275 - first register address: 0x0
276 - register count: 0x10
277 * Adjustable outputs:
278 - 2x LDO
279 - 2x BUCK
280 - Each, with a different operating conditions (header).
281 * Reset values:
282 - set by i2c emul driver's probe() (defaults in header)
283
284 Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
Simon Glass151b2232015-07-02 18:15:58 -0600285
Simon Glassd308c012015-07-02 18:16:00 -0600286config PMIC_S5M8767
287 bool "Enable Driver Model for the Samsung S5M8767 PMIC"
Simon Glassd308c012015-07-02 18:16:00 -0600288 ---help---
289 The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
290 as a SoC power controller. It also provides 32KHz clock outputs. This
291 driver provides basic register access and sets up the attached
292 regulators if regulator support is enabled.
293
Stefan Agnerc571d682016-10-05 15:27:09 -0700294config PMIC_RN5T567
295 bool "Enable driver for Ricoh RN5T567 PMIC"
Stefan Agnerc571d682016-10-05 15:27:09 -0700296 ---help---
297 The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
298 regulators Real-Time Clock and 4 GPIOs. This driver provides
299 register access only.
300
Simon Glass151b2232015-07-02 18:15:58 -0600301config PMIC_TPS65090
302 bool "Enable driver for Texas Instruments TPS65090 PMIC"
Simon Glass151b2232015-07-02 18:15:58 -0600303 ---help---
304 The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
305 FETs and a battery charger. This driver provides register access
306 only, and you can enable the regulator/charger drivers separately if
307 required.
Keerthy33621d22016-09-30 09:20:43 +0530308
309config PMIC_PALMAS
310 bool "Enable driver for Texas Instruments PALMAS PMIC"
Keerthy33621d22016-09-30 09:20:43 +0530311 ---help---
312 The PALMAS is a PMIC containing several LDOs, SMPS.
313 This driver binds the pmic children.
Keerthyca1de0b2016-09-30 09:34:02 +0530314
315config PMIC_LP873X
316 bool "Enable driver for Texas Instruments LP873X PMIC"
Keerthyca1de0b2016-09-30 09:34:02 +0530317 ---help---
318 The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
319 This driver binds the pmic children.
Hou Zhiqiang762161b2016-12-09 16:08:57 +0800320
Keerthycdad57a2017-06-07 19:08:28 +0530321config PMIC_LP87565
322 bool "Enable driver for Texas Instruments LP87565 PMIC"
Keerthycdad57a2017-06-07 19:08:28 +0530323 ---help---
324 The LP87565 is a PMIC containing a bunch of SMPS.
325 This driver binds the pmic children.
326
Felix Brack854dfbf2017-11-30 13:52:37 +0100327config DM_PMIC_TPS65910
328 bool "Enable driver for Texas Instruments TPS65910 PMIC"
Felix Brack854dfbf2017-11-30 13:52:37 +0100329 ---help---
330 The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
331 DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
332 pmic children.
Patrick Delaunay5d0c74e2018-03-12 10:46:12 +0100333
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100334config PMIC_STPMIC1
335 bool "Enable support for STMicroelectronics STPMIC1 PMIC"
Samuel Holland7f51b552021-10-08 00:17:14 -0500336 depends on DM_I2C
Urja Rannikkob8050512019-05-16 21:48:42 +0000337 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
Patrick Delaunay5d0c74e2018-03-12 10:46:12 +0100338 ---help---
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100339 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
Patrick Delaunay5d0c74e2018-03-12 10:46:12 +0100340 It is accessed via an I2C interface. The device is used with STM32MP1
341 SoCs. This driver implements register read/write operations.
Keerthy24638742019-06-06 16:06:55 +0530342
343config SPL_PMIC_PALMAS
344 bool "Enable driver for Texas Instruments PALMAS PMIC"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500345 depends on SPL_DM_PMIC
Keerthy24638742019-06-06 16:06:55 +0530346 help
347 The PALMAS is a PMIC containing several LDOs, SMPS.
348 This driver binds the pmic children in SPL.
349
350config SPL_PMIC_LP873X
351 bool "Enable driver for Texas Instruments LP873X PMIC"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500352 depends on SPL_DM_PMIC
Keerthy24638742019-06-06 16:06:55 +0530353 help
354 The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
355 This driver binds the pmic children in SPL.
356
357config SPL_PMIC_LP87565
358 bool "Enable driver for Texas Instruments LP87565 PMIC"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500359 depends on SPL_DM_PMIC
Keerthy24638742019-06-06 16:06:55 +0530360 help
361 The LP87565 is a PMIC containing a bunch of SMPS.
362 This driver binds the pmic children in SPL.
Keerthy6b86dd02019-10-24 15:00:50 +0530363
364config PMIC_TPS65941
365 bool "Enable driver for Texas Instruments TPS65941 PMIC"
Keerthy6b86dd02019-10-24 15:00:50 +0530366 help
367 The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
368 This driver binds the pmic children.
Samuel Holland7f51b552021-10-08 00:17:14 -0500369
Neil Armstrongb5cfa0c2022-04-27 13:28:09 +0200370config PMIC_TPS65219
371 bool "Enable driver for Texas Instruments TPS65219 PMIC"
372 depends on DM_PMIC
373 help
374 The TPS65219 is a PMIC containing a bunch of SMPS & LDOs.
375 This driver binds the pmic children.
Samuel Holland7f51b552021-10-08 00:17:14 -0500376endif
Tom Rini2aab77f2021-10-12 08:58:58 -0400377
Lukasz Majewski1610b682022-03-12 08:11:10 +0100378config PMIC_TPS65217
379 bool "Enable driver for Texas Instruments TPS65217 PMIC"
380 ---help---
381 The TPS65217 is a PMIC containing several LDOs, DC to DC convertors,
382 FETs and a battery charger. This driver provides register access
383 only, and you can enable the regulator/charger drivers separately if
384 required.
385
Tom Rini2aab77f2021-10-12 08:58:58 -0400386config POWER_MC34VR500
387 bool "Enable driver for Freescale MC34VR500 PMIC"
388 depends on !DM_PMIC
389 ---help---
390 The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
391 SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
392 via an I2C interface.