blob: e8a04325f8570dc2c344137ee9d4f3213ca2298b [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
Martin Fuzzeya99472e2020-01-14 15:56:16 +000066config DM_PMIC_DA9063
67 bool "Enable Driver Model for the Dialog DA9063 PMIC"
Martin Fuzzeya99472e2020-01-14 15:56:16 +000068 help
69 This config enables implementation of driver-model pmic uclass features
70 for PMIC DA9063. The driver implements read/write operations.
71
72config SPL_DM_PMIC_DA9063
73 bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -050074 depends on SPL_DM_PMIC
Martin Fuzzeya99472e2020-01-14 15:56:16 +000075 help
76 This config enables implementation of driver-model pmic uclass features
77 for PMIC DA9063. The driver implements read/write operations.
78
Simon Glass52222b12017-04-26 22:27:46 -060079config 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
Matti Vaittinen1cf7f1d2019-05-07 10:43:39 +030087config DM_PMIC_BD71837
88 bool "Enable Driver Model for PMIC BD71837"
Matti Vaittinen1cf7f1d2019-05-07 10:43:39 +030089 help
90 This config enables implementation of driver-model pmic uclass features
91 for PMIC BD71837. The driver implements read/write operations.
92
Peng Fan9c3193b2019-10-16 10:24:36 +000093config SPL_DM_PMIC_BD71837
94 bool "Enable Driver Model for PMIC BD71837 in SPL stage"
Samuel Hollanda0a21592021-10-08 00:17:15 -050095 depends on SPL_DM_PMIC
Peng Fan9c3193b2019-10-16 10:24:36 +000096 help
97 This config enables implementation of driver-model pmic uclass
98 features for PMIC BD71837. The driver implements read/write
99 operations.
100
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100101config DM_PMIC_FAN53555
102 bool "Enable support for OnSemi FAN53555"
Samuel Hollandaad02792021-10-08 00:17:14 -0500103 depends on DM_REGULATOR && DM_I2C
Philipp Tomsichb7f57e12018-11-30 20:00:08 +0100104 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
Tim Harvey338588e2020-12-21 08:19:39 -0800115config DM_PMIC_MP5416
116 bool "Enable Driver Model for PMIC MP5416"
Tim Harvey338588e2020-12-21 08:19:39 -0800117 help
118 This config enables implementation of driver-model pmic uclass features
119 for PMIC MP5416. The driver implements read/write operations.
120
121config SPL_DM_PMIC_MP5416
122 bool "Enable Driver Model for PMIC MP5416 in SPL stage"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500123 depends on SPL_DM_PMIC
Tim Harvey338588e2020-12-21 08:19:39 -0800124 help
125 This config enables implementation of driver-model pmic uclass
126 features for PMIC MP5416. The driver implements read/write
127 operations.
128
Ye Lic3ee9092019-10-15 02:15:18 -0700129config DM_PMIC_PCA9450
130 bool "Enable Driver Model for PMIC PCA9450"
Ye Lic3ee9092019-10-15 02:15:18 -0700131 help
132 This config enables implementation of driver-model pmic uclass features
133 for PMIC PCA9450. The driver implements read/write operations.
134
Igor Opaniukdb8fef22020-10-28 11:58:10 +0200135config SPL_DM_PMIC_PCA9450
136 bool "Enable Driver Model for PMIC PCA9450"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500137 depends on SPL_DM_PMIC
Igor Opaniukdb8fef22020-10-28 11:58:10 +0200138 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
Peng Fan6f4f6d22015-08-14 11:36:16 +0200142config DM_PMIC_PFUZE100
143 bool "Enable Driver Model for PMIC PFUZE100"
Peng Fan6f4f6d22015-08-14 11:36:16 +0200144 ---help---
145 This config enables implementation of driver-model pmic uclass features
146 for PMIC PFUZE100. The driver implements read/write operations.
147
Marek Vasut16189d62020-05-29 19:22:41 +0200148config SPL_DM_PMIC_PFUZE100
149 bool "Enable Driver Model for PMIC PFUZE100 in SPL"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500150 depends on SPL_DM_PMIC
Marek Vasut16189d62020-05-29 19:22:41 +0200151 ---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
Przemyslaw Marczak58ea76f2015-04-20 20:07:46 +0200155config DM_PMIC_MAX77686
156 bool "Enable Driver Model for PMIC MAX77686"
Przemyslaw Marczak58ea76f2015-04-20 20:07:46 +0200157 ---help---
158 This config enables implementation of driver-model pmic uclass features
Przemyslaw Marczak10314982015-05-13 13:38:26 +0200159 for PMIC MAX77686. The driver implements read/write operations.
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200160
Jaehoon Chung42b5d882016-12-15 18:21:10 +0900161config DM_PMIC_MAX8998
162 bool "Enable Driver Model for PMIC MAX8998"
Jaehoon Chung42b5d882016-12-15 18:21:10 +0900163 ---help---
164 This config enables implementation of driver-model pmic uclass features
165 for PMIC MAX8998. The driver implements read/write operations.
166
Lukasz Majewski9c65b792018-05-15 16:26:37 +0200167config DM_PMIC_MC34708
168 bool "Enable Driver Model for PMIC MC34708"
Lukasz Majewski9c65b792018-05-15 16:26:37 +0200169 help
170 This config enables implementation of driver-model pmic uclass features
171 for PMIC MC34708. The driver implements read/write operations.
172
Jaehoon Chung4997f6e2017-02-02 17:04:09 +0900173config PMIC_MAX8997
174 bool "Enable Driver Model for PMIC MAX8997"
Jaehoon Chung4997f6e2017-02-02 17:04:09 +0900175 ---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
Mateusz Kulikowski0be548f2016-03-31 23:12:30 +0200187config PMIC_PM8916
188 bool "Enable Driver Model for Qualcomm PM8916 PMIC"
Mateusz Kulikowski0be548f2016-03-31 23:12:30 +0200189 ---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
Jacob Chen614704b2017-05-02 14:54:52 +0800202config PMIC_RK8XX
203 bool "Enable support for Rockchip PMIC RK8XX"
Simon Glassa8bd2ac2016-01-21 19:43:29 -0700204 ---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
Simon Glass6343ffb2021-08-08 12:20:25 -0600210config SPL_PMIC_RK8XX
211 bool "Enable support for Rockchip PMIC RK8XX"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500212 depends on SPL_DM_PMIC
Simon Glass6343ffb2021-08-08 12:20:25 -0600213 ---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
Przemyslaw Marczak91815122015-10-27 13:07:58 +0100219config PMIC_S2MPS11
220 bool "Enable Driver Model for PMIC Samsung S2MPS11"
Przemyslaw Marczak91815122015-10-27 13:07:58 +0100221 ---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
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200232config DM_PMIC_SANDBOX
Michal Simekc7df3a22018-07-23 08:38:56 +0200233 bool "Enable Driver Model for emulated Sandbox PMIC"
Przemyslaw Marczakd5175dc2015-05-13 13:38:32 +0200234 ---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
Simon Glassc0871112015-07-02 18:15:58 -0600255
Simon Glass01651492015-07-02 18:16:00 -0600256config PMIC_S5M8767
257 bool "Enable Driver Model for the Samsung S5M8767 PMIC"
Simon Glass01651492015-07-02 18:16:00 -0600258 ---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
Stefan Agnerb084ddd2016-10-05 15:27:09 -0700264config PMIC_RN5T567
265 bool "Enable driver for Ricoh RN5T567 PMIC"
Stefan Agnerb084ddd2016-10-05 15:27:09 -0700266 ---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
Simon Glassc0871112015-07-02 18:15:58 -0600271config PMIC_TPS65090
272 bool "Enable driver for Texas Instruments TPS65090 PMIC"
Simon Glassc0871112015-07-02 18:15:58 -0600273 ---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.
Keerthyf0df1b12016-09-30 09:20:43 +0530278
279config PMIC_PALMAS
280 bool "Enable driver for Texas Instruments PALMAS PMIC"
Keerthyf0df1b12016-09-30 09:20:43 +0530281 ---help---
282 The PALMAS is a PMIC containing several LDOs, SMPS.
283 This driver binds the pmic children.
Keerthy662797b2016-09-30 09:34:02 +0530284
285config PMIC_LP873X
286 bool "Enable driver for Texas Instruments LP873X PMIC"
Keerthy662797b2016-09-30 09:34:02 +0530287 ---help---
288 The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
289 This driver binds the pmic children.
Hou Zhiqiang6d6e5ee2016-12-09 16:08:57 +0800290
Keerthy3006c922017-06-07 19:08:28 +0530291config PMIC_LP87565
292 bool "Enable driver for Texas Instruments LP87565 PMIC"
Keerthy3006c922017-06-07 19:08:28 +0530293 ---help---
294 The LP87565 is a PMIC containing a bunch of SMPS.
295 This driver binds the pmic children.
296
Hou Zhiqiang6d6e5ee2016-12-09 16:08:57 +0800297config 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.
Felix Brack9493f0e2017-11-30 13:52:37 +0100303
304config DM_PMIC_TPS65910
305 bool "Enable driver for Texas Instruments TPS65910 PMIC"
Felix Brack9493f0e2017-11-30 13:52:37 +0100306 ---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.
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100310
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100311config PMIC_STPMIC1
312 bool "Enable support for STMicroelectronics STPMIC1 PMIC"
Samuel Hollandaad02792021-10-08 00:17:14 -0500313 depends on DM_I2C
Urja Rannikkoe008ebf2019-05-16 21:48:42 +0000314 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100315 ---help---
Patrick Delaunayd79218f2019-02-04 11:26:17 +0100316 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
Patrick Delaunay3cba4512018-03-12 10:46:12 +0100317 It is accessed via an I2C interface. The device is used with STM32MP1
318 SoCs. This driver implements register read/write operations.
Keerthya23e47e2019-06-06 16:06:55 +0530319
320config SPL_PMIC_PALMAS
321 bool "Enable driver for Texas Instruments PALMAS PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500322 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530323 help
324 The PALMAS is a PMIC containing several LDOs, SMPS.
325 This driver binds the pmic children in SPL.
326
327config SPL_PMIC_LP873X
328 bool "Enable driver for Texas Instruments LP873X PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500329 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530330 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
334config SPL_PMIC_LP87565
335 bool "Enable driver for Texas Instruments LP87565 PMIC"
Samuel Hollanda0a21592021-10-08 00:17:15 -0500336 depends on SPL_DM_PMIC
Keerthya23e47e2019-06-06 16:06:55 +0530337 help
338 The LP87565 is a PMIC containing a bunch of SMPS.
339 This driver binds the pmic children in SPL.
Keerthya36bb3c2019-10-24 15:00:50 +0530340
341config PMIC_TPS65941
342 bool "Enable driver for Texas Instruments TPS65941 PMIC"
Keerthya36bb3c2019-10-24 15:00:50 +0530343 help
344 The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
345 This driver binds the pmic children.
Samuel Hollandaad02792021-10-08 00:17:14 -0500346
347endif