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_PCA9450
95	bool "Enable Driver Model for PMIC PCA9450"
96	depends on DM_PMIC
97	help
98	  This config enables implementation of driver-model pmic uclass features
99	  for PMIC PCA9450. The driver implements read/write operations.
100
101config DM_PMIC_PFUZE100
102	bool "Enable Driver Model for PMIC PFUZE100"
103	depends on DM_PMIC
104	---help---
105	This config enables implementation of driver-model pmic uclass features
106	for PMIC PFUZE100. The driver implements read/write operations.
107
108config SPL_DM_PMIC_PFUZE100
109	bool "Enable Driver Model for PMIC PFUZE100 in SPL"
110	depends on DM_PMIC
111	---help---
112	This config enables implementation of driver-model pmic uclass features
113	for PMIC PFUZE100 in SPL. The driver implements read/write operations.
114
115config DM_PMIC_MAX77686
116	bool "Enable Driver Model for PMIC MAX77686"
117	depends on DM_PMIC
118	---help---
119	This config enables implementation of driver-model pmic uclass features
120	for PMIC MAX77686. The driver implements read/write operations.
121
122config DM_PMIC_MAX8998
123	bool "Enable Driver Model for PMIC MAX8998"
124	depends on DM_PMIC
125	---help---
126	This config enables implementation of driver-model pmic uclass features
127	for PMIC MAX8998. The driver implements read/write operations.
128
129config DM_PMIC_MC34708
130	bool "Enable Driver Model for PMIC MC34708"
131	depends on DM_PMIC
132	help
133	 This config enables implementation of driver-model pmic uclass features
134	 for PMIC MC34708. The driver implements read/write operations.
135
136config PMIC_MAX8997
137	bool "Enable Driver Model for PMIC MAX8997"
138	depends on DM_PMIC
139	---help---
140	This config enables implementation of driver-model pmic uclass features
141	for PMIC MAX8997. The driver implements read/write operations.
142	This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
143	- 21x LDOs
144	- 12x GPIOs
145	- Haptic Motor driver
146	- RTC with two alarms
147	- Fueal Gauge and One backup battery charger
148	- MUIC
149	- Others
150
151config PMIC_PM8916
152	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
153	depends on DM_PMIC
154	---help---
155	The PM8916 is a PMIC connected to one (or several) processors
156	with SPMI bus. It has 2 slaves with several peripherals:
157	- 18x LDO
158	- 4x GPIO
159	- Power and Reset buttons
160	- Watchdog
161	- RTC
162	- Vibrator drivers
163	- Others
164
165	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
166
167config PMIC_RK8XX
168	bool "Enable support for Rockchip PMIC RK8XX"
169	depends on DM_PMIC
170	---help---
171	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
172	an RTC and two low Rds (resistance (drain to source)) switches. It is
173	accessed via an I2C interface. The device is used with Rockchip SoCs.
174	This driver implements register read/write operations.
175
176config PMIC_S2MPS11
177	bool "Enable Driver Model for PMIC Samsung S2MPS11"
178	depends on DM_PMIC
179	---help---
180	The Samsung S2MPS11 PMIC provides:
181	 - 38 adjustable LDO regulators
182	 - 9 High-Efficiency Buck Converters
183	 - 1 BuckBoost Converter
184	 - RTC with two alarms
185	 - Backup battery charger
186	 - I2C Configuration Interface
187	This driver provides access to I/O interface only.
188	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
189
190config DM_PMIC_SANDBOX
191	bool "Enable Driver Model for emulated Sandbox PMIC"
192	depends on DM_PMIC
193	---help---
194	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
195	depends on two drivers:
196	- sandbox PMIC I/O driver - implements dm pmic operations
197	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
198
199	A detailed information can be found in header: '<power/sandbox_pmic.h>'
200
201	The Sandbox PMIC info:
202	* I/O interface:
203	  - I2C chip address:       0x40
204	  - first register address: 0x0
205	  - register count:         0x10
206	* Adjustable outputs:
207	  - 2x LDO
208	  - 2x BUCK
209	  - Each, with a different operating conditions (header).
210	* Reset values:
211	  - set by i2c emul driver's probe() (defaults in header)
212
213	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
214
215config PMIC_S5M8767
216	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
217	depends on DM_PMIC
218	---help---
219	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
220	as a SoC power controller. It also provides 32KHz clock outputs. This
221	driver provides basic register access and sets up the attached
222	regulators if regulator support is enabled.
223
224config PMIC_RN5T567
225	bool "Enable driver for Ricoh RN5T567 PMIC"
226	depends on DM_PMIC
227	---help---
228	The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
229	regulators Real-Time Clock and 4 GPIOs. This driver provides
230	register access only.
231
232config PMIC_TPS65090
233	bool "Enable driver for Texas Instruments TPS65090 PMIC"
234	depends on DM_PMIC
235	---help---
236	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
237	FETs and a battery charger. This driver provides register access
238	only, and you can enable the regulator/charger drivers separately if
239	required.
240
241config PMIC_PALMAS
242	bool "Enable driver for Texas Instruments PALMAS PMIC"
243	depends on DM_PMIC
244	---help---
245	The PALMAS is a PMIC containing several LDOs, SMPS.
246	This driver binds the pmic children.
247
248config PMIC_LP873X
249	bool "Enable driver for Texas Instruments LP873X PMIC"
250	depends on DM_PMIC
251	---help---
252	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
253	This driver binds the pmic children.
254
255config PMIC_LP87565
256	bool "Enable driver for Texas Instruments LP87565 PMIC"
257	depends on DM_PMIC
258	---help---
259	The LP87565 is a PMIC containing a bunch of SMPS.
260	This driver binds the pmic children.
261
262config POWER_MC34VR500
263	bool "Enable driver for Freescale MC34VR500 PMIC"
264	---help---
265	The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
266	SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
267	via an I2C interface.
268
269config DM_PMIC_TPS65910
270	bool "Enable driver for Texas Instruments TPS65910 PMIC"
271	depends on DM_PMIC
272	---help---
273	The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
274	DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
275	pmic children.
276
277config PMIC_STPMIC1
278	bool "Enable support for STMicroelectronics STPMIC1 PMIC"
279	depends on DM_PMIC && DM_I2C
280	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
281	---help---
282	The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
283	It is accessed via an I2C interface. The device is used with STM32MP1
284	SoCs. This driver implements register read/write operations.
285
286config SPL_PMIC_PALMAS
287	bool "Enable driver for Texas Instruments PALMAS PMIC"
288	depends on DM_PMIC
289	help
290	The PALMAS is a PMIC containing several LDOs, SMPS.
291	This driver binds the pmic children in SPL.
292
293config SPL_PMIC_LP873X
294	bool "Enable driver for Texas Instruments LP873X PMIC"
295	depends on DM_PMIC
296	help
297	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
298	This driver binds the pmic children in SPL.
299
300config SPL_PMIC_LP87565
301	bool "Enable driver for Texas Instruments LP87565 PMIC"
302	depends on DM_PMIC
303	help
304	The LP87565 is a PMIC containing a bunch of SMPS.
305	This driver binds the pmic children in SPL.
306
307config PMIC_TPS65941
308	bool "Enable driver for Texas Instruments TPS65941 PMIC"
309	depends on DM_PMIC
310	help
311	The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
312	This driver binds the pmic children.
313