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 DM_PMIC_DA9063
44	bool "Enable Driver Model for the Dialog DA9063 PMIC"
45	depends on DM_PMIC
46	help
47	  This config enables implementation of driver-model pmic uclass features
48	  for PMIC DA9063. The driver implements read/write operations.
49
50config SPL_DM_PMIC_DA9063
51	bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL"
52	depends on DM_PMIC && SPL
53	help
54	  This config enables implementation of driver-model pmic uclass features
55	  for PMIC DA9063. The driver implements read/write operations.
56
57config PMIC_AS3722
58	bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
59	help
60	  The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
61	  real-time clock, GPIOs, ADC and a few other features. It uses an I2C
62	  interface and is designs to cover most of the power managementment
63	  required for a tablets or laptop.
64
65config DM_PMIC_BD71837
66 	bool "Enable Driver Model for PMIC BD71837"
67 	depends on DM_PMIC
68 	help
69	  This config enables implementation of driver-model pmic uclass features
70	  for PMIC BD71837. The driver implements read/write operations.
71
72config SPL_DM_PMIC_BD71837
73	bool "Enable Driver Model for PMIC BD71837 in SPL stage"
74	depends on DM_PMIC
75	help
76	  This config enables implementation of driver-model pmic uclass
77	  features for PMIC BD71837. The driver implements read/write
78	  operations.
79
80config DM_PMIC_FAN53555
81	bool "Enable support for OnSemi FAN53555"
82	depends on DM_PMIC && DM_REGULATOR && DM_I2C
83	select DM_REGULATOR_FAN53555
84	help
85	  This config enables implementation of driver-model PMIC
86	  uclass features for the FAN53555 regulator. The FAN53555 is
87	  a (family of) single-output regulators that supports
88	  transitioning between two different output voltages based on
89	  an voltage selection pin.
90
91	  The driver implements read/write operations for use with the FAN53555
92	  regulator driver and binds the regulator driver to its node.
93
94config DM_PMIC_MP5416
95	bool "Enable Driver Model for PMIC MP5416"
96	depends on DM_PMIC
97	help
98	  This config enables implementation of driver-model pmic uclass features
99	  for PMIC MP5416. The driver implements read/write operations.
100
101config SPL_DM_PMIC_MP5416
102	bool "Enable Driver Model for PMIC MP5416 in SPL stage"
103	depends on DM_PMIC
104	help
105	  This config enables implementation of driver-model pmic uclass
106	  features for PMIC MP5416. The driver implements read/write
107	  operations.
108
109config DM_PMIC_PCA9450
110	bool "Enable Driver Model for PMIC PCA9450"
111	depends on DM_PMIC
112	help
113	  This config enables implementation of driver-model pmic uclass features
114	  for PMIC PCA9450. The driver implements read/write operations.
115
116config SPL_DM_PMIC_PCA9450
117	bool "Enable Driver Model for PMIC PCA9450"
118	depends on DM_PMIC
119	help
120	  This config enables implementation of driver-model pmic uclass features
121	  for PMIC PCA9450 in SPL. The driver implements read/write operations.
122
123config DM_PMIC_PFUZE100
124	bool "Enable Driver Model for PMIC PFUZE100"
125	depends on DM_PMIC
126	---help---
127	This config enables implementation of driver-model pmic uclass features
128	for PMIC PFUZE100. The driver implements read/write operations.
129
130config SPL_DM_PMIC_PFUZE100
131	bool "Enable Driver Model for PMIC PFUZE100 in SPL"
132	depends on DM_PMIC
133	---help---
134	This config enables implementation of driver-model pmic uclass features
135	for PMIC PFUZE100 in SPL. The driver implements read/write operations.
136
137config DM_PMIC_MAX77686
138	bool "Enable Driver Model for PMIC MAX77686"
139	depends on DM_PMIC
140	---help---
141	This config enables implementation of driver-model pmic uclass features
142	for PMIC MAX77686. The driver implements read/write operations.
143
144config DM_PMIC_MAX8998
145	bool "Enable Driver Model for PMIC MAX8998"
146	depends on DM_PMIC
147	---help---
148	This config enables implementation of driver-model pmic uclass features
149	for PMIC MAX8998. The driver implements read/write operations.
150
151config DM_PMIC_MC34708
152	bool "Enable Driver Model for PMIC MC34708"
153	depends on DM_PMIC
154	help
155	 This config enables implementation of driver-model pmic uclass features
156	 for PMIC MC34708. The driver implements read/write operations.
157
158config PMIC_MAX8997
159	bool "Enable Driver Model for PMIC MAX8997"
160	depends on DM_PMIC
161	---help---
162	This config enables implementation of driver-model pmic uclass features
163	for PMIC MAX8997. The driver implements read/write operations.
164	This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
165	- 21x LDOs
166	- 12x GPIOs
167	- Haptic Motor driver
168	- RTC with two alarms
169	- Fueal Gauge and One backup battery charger
170	- MUIC
171	- Others
172
173config PMIC_PM8916
174	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
175	depends on DM_PMIC
176	---help---
177	The PM8916 is a PMIC connected to one (or several) processors
178	with SPMI bus. It has 2 slaves with several peripherals:
179	- 18x LDO
180	- 4x GPIO
181	- Power and Reset buttons
182	- Watchdog
183	- RTC
184	- Vibrator drivers
185	- Others
186
187	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
188
189config PMIC_RK8XX
190	bool "Enable support for Rockchip PMIC RK8XX"
191	depends on DM_PMIC
192	---help---
193	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
194	an RTC and two low Rds (resistance (drain to source)) switches. It is
195	accessed via an I2C interface. The device is used with Rockchip SoCs.
196	This driver implements register read/write operations.
197
198config PMIC_S2MPS11
199	bool "Enable Driver Model for PMIC Samsung S2MPS11"
200	depends on DM_PMIC
201	---help---
202	The Samsung S2MPS11 PMIC provides:
203	 - 38 adjustable LDO regulators
204	 - 9 High-Efficiency Buck Converters
205	 - 1 BuckBoost Converter
206	 - RTC with two alarms
207	 - Backup battery charger
208	 - I2C Configuration Interface
209	This driver provides access to I/O interface only.
210	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
211
212config DM_PMIC_SANDBOX
213	bool "Enable Driver Model for emulated Sandbox PMIC"
214	depends on DM_PMIC
215	---help---
216	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
217	depends on two drivers:
218	- sandbox PMIC I/O driver - implements dm pmic operations
219	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
220
221	A detailed information can be found in header: '<power/sandbox_pmic.h>'
222
223	The Sandbox PMIC info:
224	* I/O interface:
225	  - I2C chip address:       0x40
226	  - first register address: 0x0
227	  - register count:         0x10
228	* Adjustable outputs:
229	  - 2x LDO
230	  - 2x BUCK
231	  - Each, with a different operating conditions (header).
232	* Reset values:
233	  - set by i2c emul driver's probe() (defaults in header)
234
235	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
236
237config PMIC_S5M8767
238	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
239	depends on DM_PMIC
240	---help---
241	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
242	as a SoC power controller. It also provides 32KHz clock outputs. This
243	driver provides basic register access and sets up the attached
244	regulators if regulator support is enabled.
245
246config PMIC_RN5T567
247	bool "Enable driver for Ricoh RN5T567 PMIC"
248	depends on DM_PMIC
249	---help---
250	The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
251	regulators Real-Time Clock and 4 GPIOs. This driver provides
252	register access only.
253
254config PMIC_TPS65090
255	bool "Enable driver for Texas Instruments TPS65090 PMIC"
256	depends on DM_PMIC
257	---help---
258	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
259	FETs and a battery charger. This driver provides register access
260	only, and you can enable the regulator/charger drivers separately if
261	required.
262
263config PMIC_PALMAS
264	bool "Enable driver for Texas Instruments PALMAS PMIC"
265	depends on DM_PMIC
266	---help---
267	The PALMAS is a PMIC containing several LDOs, SMPS.
268	This driver binds the pmic children.
269
270config PMIC_LP873X
271	bool "Enable driver for Texas Instruments LP873X PMIC"
272	depends on DM_PMIC
273	---help---
274	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
275	This driver binds the pmic children.
276
277config PMIC_LP87565
278	bool "Enable driver for Texas Instruments LP87565 PMIC"
279	depends on DM_PMIC
280	---help---
281	The LP87565 is a PMIC containing a bunch of SMPS.
282	This driver binds the pmic children.
283
284config POWER_MC34VR500
285	bool "Enable driver for Freescale MC34VR500 PMIC"
286	---help---
287	The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
288	SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
289	via an I2C interface.
290
291config DM_PMIC_TPS65910
292	bool "Enable driver for Texas Instruments TPS65910 PMIC"
293	depends on DM_PMIC
294	---help---
295	The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
296	DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
297	pmic children.
298
299config PMIC_STPMIC1
300	bool "Enable support for STMicroelectronics STPMIC1 PMIC"
301	depends on DM_PMIC && DM_I2C
302	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
303	---help---
304	The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
305	It is accessed via an I2C interface. The device is used with STM32MP1
306	SoCs. This driver implements register read/write operations.
307
308config SPL_PMIC_PALMAS
309	bool "Enable driver for Texas Instruments PALMAS PMIC"
310	depends on DM_PMIC
311	help
312	The PALMAS is a PMIC containing several LDOs, SMPS.
313	This driver binds the pmic children in SPL.
314
315config SPL_PMIC_LP873X
316	bool "Enable driver for Texas Instruments LP873X PMIC"
317	depends on DM_PMIC
318	help
319	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
320	This driver binds the pmic children in SPL.
321
322config SPL_PMIC_LP87565
323	bool "Enable driver for Texas Instruments LP87565 PMIC"
324	depends on DM_PMIC
325	help
326	The LP87565 is a PMIC containing a bunch of SMPS.
327	This driver binds the pmic children in SPL.
328
329config PMIC_TPS65941
330	bool "Enable driver for Texas Instruments TPS65941 PMIC"
331	depends on DM_PMIC
332	help
333	The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
334	This driver binds the pmic children.
335