blob: 92e2ace279d1b7e6705b2427c1edd8c6b61263e9 [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
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 Fuzzey483880c2020-01-14 15:56:16 +000080config DM_PMIC_DA9063
81 bool "Enable Driver Model for the Dialog DA9063 PMIC"
Martin Fuzzey483880c2020-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 Holland3fd90e42021-10-08 00:17:15 -050088 depends on SPL_DM_PMIC
Martin Fuzzey483880c2020-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 Glassbdf25a52017-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 Vaittinen1023c872019-05-07 10:43:39 +0300101config DM_PMIC_BD71837
102 bool "Enable Driver Model for PMIC BD71837"
Matti Vaittinen1023c872019-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 Fan672fc542019-10-16 10:24:36 +0000107config SPL_DM_PMIC_BD71837
108 bool "Enable Driver Model for PMIC BD71837 in SPL stage"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500109 depends on SPL_DM_PMIC
Peng Fan672fc542019-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 Tomsichdfb0a702018-11-30 20:00:08 +0100115config DM_PMIC_FAN53555
116 bool "Enable support for OnSemi FAN53555"
Samuel Holland7f51b552021-10-08 00:17:14 -0500117 depends on DM_REGULATOR && DM_I2C
Philipp Tomsichdfb0a702018-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 Harvey2767d882020-12-21 08:19:39 -0800129config DM_PMIC_MP5416
130 bool "Enable Driver Model for PMIC MP5416"
Tim Harvey2767d882020-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 Holland3fd90e42021-10-08 00:17:15 -0500137 depends on SPL_DM_PMIC
Tim Harvey2767d882020-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 Li22172f62019-10-15 02:15:18 -0700143config DM_PMIC_PCA9450
144 bool "Enable Driver Model for PMIC PCA9450"
Ye Li22172f62019-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 Opaniuk8f9abdf2020-10-28 11:58:10 +0200149config SPL_DM_PMIC_PCA9450
150 bool "Enable Driver Model for PMIC PCA9450"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500151 depends on SPL_DM_PMIC
Igor Opaniuk8f9abdf2020-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 Fan1c1f6072015-08-14 11:36:16 +0200156config DM_PMIC_PFUZE100
157 bool "Enable Driver Model for PMIC PFUZE100"
Peng Fan1c1f6072015-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 Vasut661d9af2020-05-29 19:22:41 +0200162config SPL_DM_PMIC_PFUZE100
163 bool "Enable Driver Model for PMIC PFUZE100 in SPL"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500164 depends on SPL_DM_PMIC
Marek Vasut661d9af2020-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 Marczak52a3de52015-04-20 20:07:46 +0200169config DM_PMIC_MAX77686
170 bool "Enable Driver Model for PMIC MAX77686"
Przemyslaw Marczak52a3de52015-04-20 20:07:46 +0200171 ---help---
172 This config enables implementation of driver-model pmic uclass features
Przemyslaw Marczakf415a3e2015-05-13 13:38:26 +0200173 for PMIC MAX77686. The driver implements read/write operations.
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200174
Jaehoon Chung103e83a2016-12-15 18:21:10 +0900175config DM_PMIC_MAX8998
176 bool "Enable Driver Model for PMIC MAX8998"
Jaehoon Chung103e83a2016-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 Majewskic57a2262018-05-15 16:26:37 +0200181config DM_PMIC_MC34708
182 bool "Enable Driver Model for PMIC MC34708"
Lukasz Majewskic57a2262018-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 Chung1a5a05d2017-02-02 17:04:09 +0900187config PMIC_MAX8997
188 bool "Enable Driver Model for PMIC MAX8997"
Jaehoon Chung1a5a05d2017-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 Kulikowskic2f74c82016-03-31 23:12:30 +0200201config PMIC_PM8916
202 bool "Enable Driver Model for Qualcomm PM8916 PMIC"
Mateusz Kulikowskic2f74c82016-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 Chen453c5a92017-05-02 14:54:52 +0800216config PMIC_RK8XX
217 bool "Enable support for Rockchip PMIC RK8XX"
Simon Glass2a4febf2016-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 Glass7abf1782021-08-08 12:20:25 -0600224config SPL_PMIC_RK8XX
225 bool "Enable support for Rockchip PMIC RK8XX"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500226 depends on SPL_DM_PMIC
Simon Glass7abf1782021-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 Marczak35d460f2015-10-27 13:07:58 +0100233config PMIC_S2MPS11
234 bool "Enable Driver Model for PMIC Samsung S2MPS11"
Przemyslaw Marczak35d460f2015-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 Marczak5d387d02015-05-13 13:38:32 +0200246config DM_PMIC_SANDBOX
Michal Simekb8448052018-07-23 08:38:56 +0200247 bool "Enable Driver Model for emulated Sandbox PMIC"
Przemyslaw Marczak5d387d02015-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 Glass151b2232015-07-02 18:15:58 -0600269
Simon Glassd308c012015-07-02 18:16:00 -0600270config PMIC_S5M8767
271 bool "Enable Driver Model for the Samsung S5M8767 PMIC"
Simon Glassd308c012015-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 Agnerc571d682016-10-05 15:27:09 -0700278config PMIC_RN5T567
279 bool "Enable driver for Ricoh RN5T567 PMIC"
Stefan Agnerc571d682016-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 Glass151b2232015-07-02 18:15:58 -0600285config PMIC_TPS65090
286 bool "Enable driver for Texas Instruments TPS65090 PMIC"
Simon Glass151b2232015-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.
Keerthy33621d22016-09-30 09:20:43 +0530292
293config PMIC_PALMAS
294 bool "Enable driver for Texas Instruments PALMAS PMIC"
Keerthy33621d22016-09-30 09:20:43 +0530295 ---help---
296 The PALMAS is a PMIC containing several LDOs, SMPS.
297 This driver binds the pmic children.
Keerthyca1de0b2016-09-30 09:34:02 +0530298
299config PMIC_LP873X
300 bool "Enable driver for Texas Instruments LP873X PMIC"
Keerthyca1de0b2016-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 Zhiqiang762161b2016-12-09 16:08:57 +0800304
Keerthycdad57a2017-06-07 19:08:28 +0530305config PMIC_LP87565
306 bool "Enable driver for Texas Instruments LP87565 PMIC"
Keerthycdad57a2017-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 Brack854dfbf2017-11-30 13:52:37 +0100311config DM_PMIC_TPS65910
312 bool "Enable driver for Texas Instruments TPS65910 PMIC"
Felix Brack854dfbf2017-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 Delaunay5d0c74e2018-03-12 10:46:12 +0100317
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100318config PMIC_STPMIC1
319 bool "Enable support for STMicroelectronics STPMIC1 PMIC"
Samuel Holland7f51b552021-10-08 00:17:14 -0500320 depends on DM_I2C
Urja Rannikkob8050512019-05-16 21:48:42 +0000321 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
Patrick Delaunay5d0c74e2018-03-12 10:46:12 +0100322 ---help---
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100323 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
Patrick Delaunay5d0c74e2018-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.
Keerthy24638742019-06-06 16:06:55 +0530326
327config SPL_PMIC_PALMAS
328 bool "Enable driver for Texas Instruments PALMAS PMIC"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500329 depends on SPL_DM_PMIC
Keerthy24638742019-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 Holland3fd90e42021-10-08 00:17:15 -0500336 depends on SPL_DM_PMIC
Keerthy24638742019-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 Holland3fd90e42021-10-08 00:17:15 -0500343 depends on SPL_DM_PMIC
Keerthy24638742019-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.
Keerthy6b86dd02019-10-24 15:00:50 +0530347
348config PMIC_TPS65941
349 bool "Enable driver for Texas Instruments TPS65941 PMIC"
Keerthy6b86dd02019-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 Holland7f51b552021-10-08 00:17:14 -0500353
354endif
Tom Rini2aab77f2021-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.