blob: e8a04325f8570dc2c344137ee9d4f3213ca2298b [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
Martin Fuzzey483880c2020-01-14 15:56:16 +000066config DM_PMIC_DA9063
67 bool "Enable Driver Model for the Dialog DA9063 PMIC"
Martin Fuzzey483880c2020-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 Holland3fd90e42021-10-08 00:17:15 -050074 depends on SPL_DM_PMIC
Martin Fuzzey483880c2020-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 Glassbdf25a52017-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 Vaittinen1023c872019-05-07 10:43:39 +030087config DM_PMIC_BD71837
88 bool "Enable Driver Model for PMIC BD71837"
Matti Vaittinen1023c872019-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 Fan672fc542019-10-16 10:24:36 +000093config SPL_DM_PMIC_BD71837
94 bool "Enable Driver Model for PMIC BD71837 in SPL stage"
Samuel Holland3fd90e42021-10-08 00:17:15 -050095 depends on SPL_DM_PMIC
Peng Fan672fc542019-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 Tomsichdfb0a702018-11-30 20:00:08 +0100101config DM_PMIC_FAN53555
102 bool "Enable support for OnSemi FAN53555"
Samuel Holland7f51b552021-10-08 00:17:14 -0500103 depends on DM_REGULATOR && DM_I2C
Philipp Tomsichdfb0a702018-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 Harvey2767d882020-12-21 08:19:39 -0800115config DM_PMIC_MP5416
116 bool "Enable Driver Model for PMIC MP5416"
Tim Harvey2767d882020-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 Holland3fd90e42021-10-08 00:17:15 -0500123 depends on SPL_DM_PMIC
Tim Harvey2767d882020-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 Li22172f62019-10-15 02:15:18 -0700129config DM_PMIC_PCA9450
130 bool "Enable Driver Model for PMIC PCA9450"
Ye Li22172f62019-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 Opaniuk8f9abdf2020-10-28 11:58:10 +0200135config SPL_DM_PMIC_PCA9450
136 bool "Enable Driver Model for PMIC PCA9450"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500137 depends on SPL_DM_PMIC
Igor Opaniuk8f9abdf2020-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 Fan1c1f6072015-08-14 11:36:16 +0200142config DM_PMIC_PFUZE100
143 bool "Enable Driver Model for PMIC PFUZE100"
Peng Fan1c1f6072015-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 Vasut661d9af2020-05-29 19:22:41 +0200148config SPL_DM_PMIC_PFUZE100
149 bool "Enable Driver Model for PMIC PFUZE100 in SPL"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500150 depends on SPL_DM_PMIC
Marek Vasut661d9af2020-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 Marczak52a3de52015-04-20 20:07:46 +0200155config DM_PMIC_MAX77686
156 bool "Enable Driver Model for PMIC MAX77686"
Przemyslaw Marczak52a3de52015-04-20 20:07:46 +0200157 ---help---
158 This config enables implementation of driver-model pmic uclass features
Przemyslaw Marczakf415a3e2015-05-13 13:38:26 +0200159 for PMIC MAX77686. The driver implements read/write operations.
Przemyslaw Marczak5d387d02015-05-13 13:38:32 +0200160
Jaehoon Chung103e83a2016-12-15 18:21:10 +0900161config DM_PMIC_MAX8998
162 bool "Enable Driver Model for PMIC MAX8998"
Jaehoon Chung103e83a2016-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 Majewskic57a2262018-05-15 16:26:37 +0200167config DM_PMIC_MC34708
168 bool "Enable Driver Model for PMIC MC34708"
Lukasz Majewskic57a2262018-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 Chung1a5a05d2017-02-02 17:04:09 +0900173config PMIC_MAX8997
174 bool "Enable Driver Model for PMIC MAX8997"
Jaehoon Chung1a5a05d2017-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 Kulikowskic2f74c82016-03-31 23:12:30 +0200187config PMIC_PM8916
188 bool "Enable Driver Model for Qualcomm PM8916 PMIC"
Mateusz Kulikowskic2f74c82016-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 Chen453c5a92017-05-02 14:54:52 +0800202config PMIC_RK8XX
203 bool "Enable support for Rockchip PMIC RK8XX"
Simon Glass2a4febf2016-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 Glass7abf1782021-08-08 12:20:25 -0600210config SPL_PMIC_RK8XX
211 bool "Enable support for Rockchip PMIC RK8XX"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500212 depends on SPL_DM_PMIC
Simon Glass7abf1782021-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 Marczak35d460f2015-10-27 13:07:58 +0100219config PMIC_S2MPS11
220 bool "Enable Driver Model for PMIC Samsung S2MPS11"
Przemyslaw Marczak35d460f2015-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 Marczak5d387d02015-05-13 13:38:32 +0200232config DM_PMIC_SANDBOX
Michal Simekb8448052018-07-23 08:38:56 +0200233 bool "Enable Driver Model for emulated Sandbox PMIC"
Przemyslaw Marczak5d387d02015-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 Glass151b2232015-07-02 18:15:58 -0600255
Simon Glassd308c012015-07-02 18:16:00 -0600256config PMIC_S5M8767
257 bool "Enable Driver Model for the Samsung S5M8767 PMIC"
Simon Glassd308c012015-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 Agnerc571d682016-10-05 15:27:09 -0700264config PMIC_RN5T567
265 bool "Enable driver for Ricoh RN5T567 PMIC"
Stefan Agnerc571d682016-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 Glass151b2232015-07-02 18:15:58 -0600271config PMIC_TPS65090
272 bool "Enable driver for Texas Instruments TPS65090 PMIC"
Simon Glass151b2232015-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.
Keerthy33621d22016-09-30 09:20:43 +0530278
279config PMIC_PALMAS
280 bool "Enable driver for Texas Instruments PALMAS PMIC"
Keerthy33621d22016-09-30 09:20:43 +0530281 ---help---
282 The PALMAS is a PMIC containing several LDOs, SMPS.
283 This driver binds the pmic children.
Keerthyca1de0b2016-09-30 09:34:02 +0530284
285config PMIC_LP873X
286 bool "Enable driver for Texas Instruments LP873X PMIC"
Keerthyca1de0b2016-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 Zhiqiang762161b2016-12-09 16:08:57 +0800290
Keerthycdad57a2017-06-07 19:08:28 +0530291config PMIC_LP87565
292 bool "Enable driver for Texas Instruments LP87565 PMIC"
Keerthycdad57a2017-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 Zhiqiang762161b2016-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 Brack854dfbf2017-11-30 13:52:37 +0100303
304config DM_PMIC_TPS65910
305 bool "Enable driver for Texas Instruments TPS65910 PMIC"
Felix Brack854dfbf2017-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 Delaunay5d0c74e2018-03-12 10:46:12 +0100310
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100311config PMIC_STPMIC1
312 bool "Enable support for STMicroelectronics STPMIC1 PMIC"
Samuel Holland7f51b552021-10-08 00:17:14 -0500313 depends on DM_I2C
Urja Rannikkob8050512019-05-16 21:48:42 +0000314 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
Patrick Delaunay5d0c74e2018-03-12 10:46:12 +0100315 ---help---
Patrick Delaunay42f01aa2019-02-04 11:26:17 +0100316 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
Patrick Delaunay5d0c74e2018-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.
Keerthy24638742019-06-06 16:06:55 +0530319
320config SPL_PMIC_PALMAS
321 bool "Enable driver for Texas Instruments PALMAS PMIC"
Samuel Holland3fd90e42021-10-08 00:17:15 -0500322 depends on SPL_DM_PMIC
Keerthy24638742019-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 Holland3fd90e42021-10-08 00:17:15 -0500329 depends on SPL_DM_PMIC
Keerthy24638742019-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 Holland3fd90e42021-10-08 00:17:15 -0500336 depends on SPL_DM_PMIC
Keerthy24638742019-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.
Keerthy6b86dd02019-10-24 15:00:50 +0530340
341config PMIC_TPS65941
342 bool "Enable driver for Texas Instruments TPS65941 PMIC"
Keerthy6b86dd02019-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 Holland7f51b552021-10-08 00:17:14 -0500346
347endif