xref: /openbmc/u-boot/drivers/power/pmic/Kconfig (revision 5396b2a9)
1config 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'
12
13config PMIC_CHILDREN
14	bool "Allow child devices for PMICs"
15	depends on DM_PMIC
16	default y
17	---help---
18	This allows PMICs to support child devices (such as regulators) in
19	SPL. This adds quite a bit of code so if you are not using this
20	feature you can turn it off. Most likely you should turn it on for
21	U-Boot proper.
22
23config SPL_PMIC_CHILDREN
24	bool "Allow child devices for PMICs in SPL"
25	depends on DM_PMIC
26	default y
27	---help---
28	This allows PMICs to support child devices (such as regulators) in
29	SPL. This adds quite a bit of code so if you are not using this
30	feature you can turn it off. In this case you may need a 'back door'
31	to call your regulator code (e.g. see rk8xx.c for direct functions
32	for use in SPL).
33
34config PMIC_ACT8846
35	bool "Enable support for the active-semi 8846 PMIC"
36	depends on DM_PMIC && DM_I2C
37	---help---
38	This PMIC includes 4 DC/DC step-down buck regulators and 8 low-dropout
39	regulators (LDOs). It also provides some GPIO, reset and battery
40	functions. It uses an I2C interface and is designed for use with
41	tablets and smartphones.
42
43config PMIC_AS3722
44	bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
45	help
46	  The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
47	  real-time clock, GPIOs, ADC and a few other features. It uses an I2C
48	  interface and is designs to cover most of the power managementment
49	  required for a tablets or laptop.
50
51config DM_PMIC_FAN53555
52	bool "Enable support for OnSemi FAN53555"
53	depends on DM_PMIC && DM_REGULATOR && DM_I2C
54	select DM_REGULATOR_FAN53555
55	help
56	  This config enables implementation of driver-model PMIC
57	  uclass features for the FAN53555 regulator. The FAN53555 is
58	  a (family of) single-output regulators that supports
59	  transitioning between two different output voltages based on
60	  an voltage selection pin.
61
62	  The driver implements read/write operations for use with the FAN53555
63	  regulator driver and binds the regulator driver to its node.
64
65config DM_PMIC_PFUZE100
66	bool "Enable Driver Model for PMIC PFUZE100"
67	depends on DM_PMIC
68	---help---
69	This config enables implementation of driver-model pmic uclass features
70	for PMIC PFUZE100. The driver implements read/write operations.
71
72config DM_PMIC_MAX77686
73	bool "Enable Driver Model for PMIC MAX77686"
74	depends on DM_PMIC
75	---help---
76	This config enables implementation of driver-model pmic uclass features
77	for PMIC MAX77686. The driver implements read/write operations.
78
79config DM_PMIC_MAX8998
80	bool "Enable Driver Model for PMIC MAX8998"
81	depends on DM_PMIC
82	---help---
83	This config enables implementation of driver-model pmic uclass features
84	for PMIC MAX8998. The driver implements read/write operations.
85
86config DM_PMIC_MC34708
87	bool "Enable Driver Model for PMIC MC34708"
88	depends on DM_PMIC
89	help
90	 This config enables implementation of driver-model pmic uclass features
91	 for PMIC MC34708. The driver implements read/write operations.
92
93config PMIC_MAX8997
94	bool "Enable Driver Model for PMIC MAX8997"
95	depends on DM_PMIC
96	---help---
97	This config enables implementation of driver-model pmic uclass features
98	for PMIC MAX8997. The driver implements read/write operations.
99	This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
100	- 21x LDOs
101	- 12x GPIOs
102	- Haptic Motor driver
103	- RTC with two alarms
104	- Fueal Gauge and One backup battery charger
105	- MUIC
106	- Others
107
108config PMIC_PM8916
109	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
110	depends on DM_PMIC
111	---help---
112	The PM8916 is a PMIC connected to one (or several) processors
113	with SPMI bus. It has 2 slaves with several peripherals:
114	- 18x LDO
115	- 4x GPIO
116	- Power and Reset buttons
117	- Watchdog
118	- RTC
119	- Vibrator drivers
120	- Others
121
122	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
123
124config PMIC_RK8XX
125	bool "Enable support for Rockchip PMIC RK8XX"
126	depends on DM_PMIC
127	---help---
128	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
129	an RTC and two low Rds (resistance (drain to source)) switches. It is
130	accessed via an I2C interface. The device is used with Rockchip SoCs.
131	This driver implements register read/write operations.
132
133config PMIC_S2MPS11
134	bool "Enable Driver Model for PMIC Samsung S2MPS11"
135	depends on DM_PMIC
136	---help---
137	The Samsung S2MPS11 PMIC provides:
138	 - 38 adjustable LDO regulators
139	 - 9 High-Efficiency Buck Converters
140	 - 1 BuckBoost Converter
141	 - RTC with two alarms
142	 - Backup battery charger
143	 - I2C Configuration Interface
144	This driver provides access to I/O interface only.
145	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
146
147config DM_PMIC_SANDBOX
148	bool "Enable Driver Model for emulated Sandbox PMIC"
149	depends on DM_PMIC
150	---help---
151	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
152	depends on two drivers:
153	- sandbox PMIC I/O driver - implements dm pmic operations
154	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
155
156	A detailed information can be found in header: '<power/sandbox_pmic.h>'
157
158	The Sandbox PMIC info:
159	* I/O interface:
160	  - I2C chip address:       0x40
161	  - first register address: 0x0
162	  - register count:         0x10
163	* Adjustable outputs:
164	  - 2x LDO
165	  - 2x BUCK
166	  - Each, with a different operating conditions (header).
167	* Reset values:
168	  - set by i2c emul driver's probe() (defaults in header)
169
170	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
171
172config PMIC_S5M8767
173	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
174	depends on DM_PMIC
175	---help---
176	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
177	as a SoC power controller. It also provides 32KHz clock outputs. This
178	driver provides basic register access and sets up the attached
179	regulators if regulator support is enabled.
180
181config PMIC_RN5T567
182	bool "Enable driver for Ricoh RN5T567 PMIC"
183	depends on DM_PMIC
184	---help---
185	The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
186	regulators Real-Time Clock and 4 GPIOs. This driver provides
187	register access only.
188
189config PMIC_TPS65090
190	bool "Enable driver for Texas Instruments TPS65090 PMIC"
191	depends on DM_PMIC
192	---help---
193	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
194	FETs and a battery charger. This driver provides register access
195	only, and you can enable the regulator/charger drivers separately if
196	required.
197
198config PMIC_PALMAS
199	bool "Enable driver for Texas Instruments PALMAS PMIC"
200	depends on DM_PMIC
201	---help---
202	The PALMAS is a PMIC containing several LDOs, SMPS.
203	This driver binds the pmic children.
204
205config PMIC_LP873X
206	bool "Enable driver for Texas Instruments LP873X PMIC"
207	depends on DM_PMIC
208	---help---
209	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
210	This driver binds the pmic children.
211
212config PMIC_LP87565
213	bool "Enable driver for Texas Instruments LP87565 PMIC"
214	depends on DM_PMIC
215	---help---
216	The LP87565 is a PMIC containing a bunch of SMPS.
217	This driver binds the pmic children.
218
219config POWER_MC34VR500
220	bool "Enable driver for Freescale MC34VR500 PMIC"
221	---help---
222	The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
223	SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
224	via an I2C interface.
225
226config DM_PMIC_TPS65910
227	bool "Enable driver for Texas Instruments TPS65910 PMIC"
228	depends on DM_PMIC
229	---help---
230	The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
231	DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
232	pmic children.
233
234config PMIC_STPMU1
235	bool "Enable support for STMicroelectronics STPMU1 PMIC"
236	depends on DM_PMIC && DM_I2C
237	---help---
238	The STPMU1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
239	It is accessed via an I2C interface. The device is used with STM32MP1
240	SoCs. This driver implements register read/write operations.
241