xref: /openbmc/u-boot/drivers/power/pmic/Kconfig (revision 8bf3c2442b59aedd1e58b7013fc12180cab0b541)
14d9057e8SPrzemyslaw Marczakconfig DM_PMIC
24d9057e8SPrzemyslaw Marczak	bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC)"
34d9057e8SPrzemyslaw Marczak	depends on DM
44d9057e8SPrzemyslaw Marczak	---help---
54d9057e8SPrzemyslaw Marczak	This config enables the driver-model PMIC support.
64d9057e8SPrzemyslaw Marczak	UCLASS_PMIC - designed to provide an I/O interface for PMIC devices.
74d9057e8SPrzemyslaw Marczak	For the multi-function PMIC devices, this can be used as parent I/O
84d9057e8SPrzemyslaw Marczak	device for each IC's interface. Then, each children uses its parent
94d9057e8SPrzemyslaw Marczak	for read/write. For detailed description, please refer to the files:
104d9057e8SPrzemyslaw Marczak	- 'drivers/power/pmic/pmic-uclass.c'
114d9057e8SPrzemyslaw Marczak	- 'include/power/pmic.h'
1252a3de5eSPrzemyslaw Marczak
131f2b4b06SSimon Glassconfig PMIC_CHILDREN
141f2b4b06SSimon Glass	bool "Allow child devices for PMICs"
151f2b4b06SSimon Glass	depends on DM_PMIC
161f2b4b06SSimon Glass	default y
171f2b4b06SSimon Glass	---help---
181f2b4b06SSimon Glass	This allows PMICs to support child devices (such as regulators) in
191f2b4b06SSimon Glass	SPL. This adds quite a bit of code so if you are not using this
201f2b4b06SSimon Glass	feature you can turn it off. Most likely you should turn it on for
211f2b4b06SSimon Glass	U-Boot proper.
221f2b4b06SSimon Glass
231f2b4b06SSimon Glassconfig SPL_PMIC_CHILDREN
241f2b4b06SSimon Glass	bool "Allow child devices for PMICs in SPL"
251f2b4b06SSimon Glass	depends on DM_PMIC
261f2b4b06SSimon Glass	default y
271f2b4b06SSimon Glass	---help---
281f2b4b06SSimon Glass	This allows PMICs to support child devices (such as regulators) in
291f2b4b06SSimon Glass	SPL. This adds quite a bit of code so if you are not using this
301f2b4b06SSimon Glass	feature you can turn it off. In this case you may need a 'back door'
31453c5a92SJacob Chen	to call your regulator code (e.g. see rk8xx.c for direct functions
321f2b4b06SSimon Glass	for use in SPL).
331f2b4b06SSimon Glass
34d2c88f7dSSimon Glassconfig PMIC_ACT8846
35d2c88f7dSSimon Glass	bool "Enable support for the active-semi 8846 PMIC"
36d2c88f7dSSimon Glass	depends on DM_PMIC && DM_I2C
37d2c88f7dSSimon Glass	---help---
38d2c88f7dSSimon Glass	This PMIC includes 4 DC/DC step-down buck regulators and 8 low-dropout
39d2c88f7dSSimon Glass	regulators (LDOs). It also provides some GPIO, reset and battery
40d2c88f7dSSimon Glass	functions. It uses an I2C interface and is designed for use with
41d2c88f7dSSimon Glass	tablets and smartphones.
42d2c88f7dSSimon Glass
43bdf25a5eSSimon Glassconfig PMIC_AS3722
44bdf25a5eSSimon Glass	bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
45bdf25a5eSSimon Glass	help
46bdf25a5eSSimon Glass	  The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
47bdf25a5eSSimon Glass	  real-time clock, GPIOs, ADC and a few other features. It uses an I2C
48bdf25a5eSSimon Glass	  interface and is designs to cover most of the power managementment
49bdf25a5eSSimon Glass	  required for a tablets or laptop.
50bdf25a5eSSimon Glass
51*dfb0a70aSPhilipp Tomsichconfig DM_PMIC_FAN53555
52*dfb0a70aSPhilipp Tomsich	bool "Enable support for OnSemi FAN53555"
53*dfb0a70aSPhilipp Tomsich	depends on DM_PMIC && DM_REGULATOR && DM_I2C
54*dfb0a70aSPhilipp Tomsich	select DM_REGULATOR_FAN53555
55*dfb0a70aSPhilipp Tomsich	help
56*dfb0a70aSPhilipp Tomsich	  This config enables implementation of driver-model PMIC
57*dfb0a70aSPhilipp Tomsich	  uclass features for the FAN53555 regulator. The FAN53555 is
58*dfb0a70aSPhilipp Tomsich	  a (family of) single-output regulators that supports
59*dfb0a70aSPhilipp Tomsich	  transitioning between two different output voltages based on
60*dfb0a70aSPhilipp Tomsich	  an voltage selection pin.
61*dfb0a70aSPhilipp Tomsich
62*dfb0a70aSPhilipp Tomsich	  The driver implements read/write operations for use with the FAN53555
63*dfb0a70aSPhilipp Tomsich	  regulator driver and binds the regulator driver to its node.
64*dfb0a70aSPhilipp Tomsich
651c1f6076SPeng Fanconfig DM_PMIC_PFUZE100
661c1f6076SPeng Fan	bool "Enable Driver Model for PMIC PFUZE100"
671c1f6076SPeng Fan	depends on DM_PMIC
681c1f6076SPeng Fan	---help---
691c1f6076SPeng Fan	This config enables implementation of driver-model pmic uclass features
701c1f6076SPeng Fan	for PMIC PFUZE100. The driver implements read/write operations.
711c1f6076SPeng Fan
7252a3de5eSPrzemyslaw Marczakconfig DM_PMIC_MAX77686
7352a3de5eSPrzemyslaw Marczak	bool "Enable Driver Model for PMIC MAX77686"
7452a3de5eSPrzemyslaw Marczak	depends on DM_PMIC
7552a3de5eSPrzemyslaw Marczak	---help---
7652a3de5eSPrzemyslaw Marczak	This config enables implementation of driver-model pmic uclass features
7752a3de5eSPrzemyslaw Marczak	for PMIC MAX77686. The driver implements read/write operations.
785d387d0dSPrzemyslaw Marczak
79103e83a1SJaehoon Chungconfig DM_PMIC_MAX8998
80103e83a1SJaehoon Chung	bool "Enable Driver Model for PMIC MAX8998"
81103e83a1SJaehoon Chung	depends on DM_PMIC
82103e83a1SJaehoon Chung	---help---
83103e83a1SJaehoon Chung	This config enables implementation of driver-model pmic uclass features
84103e83a1SJaehoon Chung	for PMIC MAX8998. The driver implements read/write operations.
85103e83a1SJaehoon Chung
86c57a226aSLukasz Majewskiconfig DM_PMIC_MC34708
87c57a226aSLukasz Majewski	bool "Enable Driver Model for PMIC MC34708"
88c57a226aSLukasz Majewski	depends on DM_PMIC
89c57a226aSLukasz Majewski	help
90c57a226aSLukasz Majewski	 This config enables implementation of driver-model pmic uclass features
91c57a226aSLukasz Majewski	 for PMIC MC34708. The driver implements read/write operations.
92c57a226aSLukasz Majewski
931a5a05daSJaehoon Chungconfig PMIC_MAX8997
941a5a05daSJaehoon Chung	bool "Enable Driver Model for PMIC MAX8997"
951a5a05daSJaehoon Chung	depends on DM_PMIC
961a5a05daSJaehoon Chung	---help---
971a5a05daSJaehoon Chung	This config enables implementation of driver-model pmic uclass features
981a5a05daSJaehoon Chung	for PMIC MAX8997. The driver implements read/write operations.
991a5a05daSJaehoon Chung	This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
1001a5a05daSJaehoon Chung	- 21x LDOs
1011a5a05daSJaehoon Chung	- 12x GPIOs
1021a5a05daSJaehoon Chung	- Haptic Motor driver
1031a5a05daSJaehoon Chung	- RTC with two alarms
1041a5a05daSJaehoon Chung	- Fueal Gauge and One backup battery charger
1051a5a05daSJaehoon Chung	- MUIC
1061a5a05daSJaehoon Chung	- Others
1071a5a05daSJaehoon Chung
108c2f74c8fSMateusz Kulikowskiconfig PMIC_PM8916
109c2f74c8fSMateusz Kulikowski	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
110c2f74c8fSMateusz Kulikowski	depends on DM_PMIC
111c2f74c8fSMateusz Kulikowski	---help---
112c2f74c8fSMateusz Kulikowski	The PM8916 is a PMIC connected to one (or several) processors
113c2f74c8fSMateusz Kulikowski	with SPMI bus. It has 2 slaves with several peripherals:
114c2f74c8fSMateusz Kulikowski	- 18x LDO
115c2f74c8fSMateusz Kulikowski	- 4x GPIO
116c2f74c8fSMateusz Kulikowski	- Power and Reset buttons
117c2f74c8fSMateusz Kulikowski	- Watchdog
118c2f74c8fSMateusz Kulikowski	- RTC
119c2f74c8fSMateusz Kulikowski	- Vibrator drivers
120c2f74c8fSMateusz Kulikowski	- Others
121c2f74c8fSMateusz Kulikowski
122c2f74c8fSMateusz Kulikowski	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
123c2f74c8fSMateusz Kulikowski
124453c5a92SJacob Chenconfig PMIC_RK8XX
125453c5a92SJacob Chen	bool "Enable support for Rockchip PMIC RK8XX"
1262a4febfdSSimon Glass	depends on DM_PMIC
1272a4febfdSSimon Glass	---help---
1282a4febfdSSimon Glass	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
1292a4febfdSSimon Glass	an RTC and two low Rds (resistance (drain to source)) switches. It is
1302a4febfdSSimon Glass	accessed via an I2C interface. The device is used with Rockchip SoCs.
1312a4febfdSSimon Glass	This driver implements register read/write operations.
1322a4febfdSSimon Glass
13335d460fbSPrzemyslaw Marczakconfig PMIC_S2MPS11
13435d460fbSPrzemyslaw Marczak	bool "Enable Driver Model for PMIC Samsung S2MPS11"
13535d460fbSPrzemyslaw Marczak	depends on DM_PMIC
13635d460fbSPrzemyslaw Marczak	---help---
13735d460fbSPrzemyslaw Marczak	The Samsung S2MPS11 PMIC provides:
13835d460fbSPrzemyslaw Marczak	 - 38 adjustable LDO regulators
13935d460fbSPrzemyslaw Marczak	 - 9 High-Efficiency Buck Converters
14035d460fbSPrzemyslaw Marczak	 - 1 BuckBoost Converter
14135d460fbSPrzemyslaw Marczak	 - RTC with two alarms
14235d460fbSPrzemyslaw Marczak	 - Backup battery charger
14335d460fbSPrzemyslaw Marczak	 - I2C Configuration Interface
14435d460fbSPrzemyslaw Marczak	This driver provides access to I/O interface only.
14535d460fbSPrzemyslaw Marczak	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
14635d460fbSPrzemyslaw Marczak
1475d387d0dSPrzemyslaw Marczakconfig DM_PMIC_SANDBOX
1485d387d0dSPrzemyslaw Marczak	bool "Enable Driver Model for emulated Sandbox PMIC"
1495d387d0dSPrzemyslaw Marczak	depends on DM_PMIC
1505d387d0dSPrzemyslaw Marczak	---help---
1515d387d0dSPrzemyslaw Marczak	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
1525d387d0dSPrzemyslaw Marczak	depends on two drivers:
1535d387d0dSPrzemyslaw Marczak	- sandbox PMIC I/O driver - implements dm pmic operations
1545d387d0dSPrzemyslaw Marczak	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
1555d387d0dSPrzemyslaw Marczak
1565d387d0dSPrzemyslaw Marczak	A detailed information can be found in header: '<power/sandbox_pmic.h>'
1575d387d0dSPrzemyslaw Marczak
1585d387d0dSPrzemyslaw Marczak	The Sandbox PMIC info:
1595d387d0dSPrzemyslaw Marczak	* I/O interface:
1605d387d0dSPrzemyslaw Marczak	  - I2C chip address:       0x40
1615d387d0dSPrzemyslaw Marczak	  - first register address: 0x0
1625d387d0dSPrzemyslaw Marczak	  - register count:         0x10
1635d387d0dSPrzemyslaw Marczak	* Adjustable outputs:
1645d387d0dSPrzemyslaw Marczak	  - 2x LDO
1655d387d0dSPrzemyslaw Marczak	  - 2x BUCK
1665d387d0dSPrzemyslaw Marczak	  - Each, with a different operating conditions (header).
1675d387d0dSPrzemyslaw Marczak	* Reset values:
1685d387d0dSPrzemyslaw Marczak	  - set by i2c emul driver's probe() (defaults in header)
1695d387d0dSPrzemyslaw Marczak
1705d387d0dSPrzemyslaw Marczak	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
171151b223bSSimon Glass
172d308c013SSimon Glassconfig PMIC_S5M8767
173d308c013SSimon Glass	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
174d308c013SSimon Glass	depends on DM_PMIC
175d308c013SSimon Glass	---help---
176d308c013SSimon Glass	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
177d308c013SSimon Glass	as a SoC power controller. It also provides 32KHz clock outputs. This
178d308c013SSimon Glass	driver provides basic register access and sets up the attached
179d308c013SSimon Glass	regulators if regulator support is enabled.
180d308c013SSimon Glass
181c571d682SStefan Agnerconfig PMIC_RN5T567
182c571d682SStefan Agner	bool "Enable driver for Ricoh RN5T567 PMIC"
183c571d682SStefan Agner	depends on DM_PMIC
184c571d682SStefan Agner	---help---
185c571d682SStefan Agner	The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
186c571d682SStefan Agner	regulators Real-Time Clock and 4 GPIOs. This driver provides
187c571d682SStefan Agner	register access only.
188c571d682SStefan Agner
189151b223bSSimon Glassconfig PMIC_TPS65090
190151b223bSSimon Glass	bool "Enable driver for Texas Instruments TPS65090 PMIC"
191151b223bSSimon Glass	depends on DM_PMIC
192151b223bSSimon Glass	---help---
193151b223bSSimon Glass	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
194151b223bSSimon Glass	FETs and a battery charger. This driver provides register access
195151b223bSSimon Glass	only, and you can enable the regulator/charger drivers separately if
196151b223bSSimon Glass	required.
19733621d24SKeerthy
19833621d24SKeerthyconfig PMIC_PALMAS
19933621d24SKeerthy	bool "Enable driver for Texas Instruments PALMAS PMIC"
20033621d24SKeerthy	depends on DM_PMIC
20133621d24SKeerthy	---help---
20233621d24SKeerthy	The PALMAS is a PMIC containing several LDOs, SMPS.
20333621d24SKeerthy	This driver binds the pmic children.
204ca1de0b5SKeerthy
205ca1de0b5SKeerthyconfig PMIC_LP873X
206ca1de0b5SKeerthy	bool "Enable driver for Texas Instruments LP873X PMIC"
207ca1de0b5SKeerthy	depends on DM_PMIC
208ca1de0b5SKeerthy	---help---
209ca1de0b5SKeerthy	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
210ca1de0b5SKeerthy	This driver binds the pmic children.
211762161b0SHou Zhiqiang
212cdad57a7SKeerthyconfig PMIC_LP87565
213cdad57a7SKeerthy	bool "Enable driver for Texas Instruments LP87565 PMIC"
214cdad57a7SKeerthy	depends on DM_PMIC
215cdad57a7SKeerthy	---help---
216cdad57a7SKeerthy	The LP87565 is a PMIC containing a bunch of SMPS.
217cdad57a7SKeerthy	This driver binds the pmic children.
218cdad57a7SKeerthy
219762161b0SHou Zhiqiangconfig POWER_MC34VR500
220762161b0SHou Zhiqiang	bool "Enable driver for Freescale MC34VR500 PMIC"
221762161b0SHou Zhiqiang	---help---
222762161b0SHou Zhiqiang	The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
223762161b0SHou Zhiqiang	SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
224762161b0SHou Zhiqiang	via an I2C interface.
225854dfbf9SFelix Brack
226854dfbf9SFelix Brackconfig DM_PMIC_TPS65910
227854dfbf9SFelix Brack	bool "Enable driver for Texas Instruments TPS65910 PMIC"
228854dfbf9SFelix Brack	depends on DM_PMIC
229854dfbf9SFelix Brack	---help---
230854dfbf9SFelix Brack	The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
231854dfbf9SFelix Brack	DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
232854dfbf9SFelix Brack	pmic children.
2335d0c74e6SPatrick Delaunay
2345d0c74e6SPatrick Delaunayconfig PMIC_STPMU1
2355d0c74e6SPatrick Delaunay	bool "Enable support for STMicroelectronics STPMU1 PMIC"
2365d0c74e6SPatrick Delaunay	depends on DM_PMIC && DM_I2C
2375d0c74e6SPatrick Delaunay	---help---
2385d0c74e6SPatrick Delaunay	The STPMU1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
2395d0c74e6SPatrick Delaunay	It is accessed via an I2C interface. The device is used with STM32MP1
2405d0c74e6SPatrick Delaunay	SoCs. This driver implements register read/write operations.
241