xref: /openbmc/u-boot/drivers/power/pmic/Kconfig (revision 20a619c6)
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_PFUZE100
52	bool "Enable Driver Model for PMIC PFUZE100"
53	depends on DM_PMIC
54	---help---
55	This config enables implementation of driver-model pmic uclass features
56	for PMIC PFUZE100. The driver implements read/write operations.
57
58config DM_PMIC_MAX77686
59	bool "Enable Driver Model for PMIC MAX77686"
60	depends on DM_PMIC
61	---help---
62	This config enables implementation of driver-model pmic uclass features
63	for PMIC MAX77686. The driver implements read/write operations.
64
65config DM_PMIC_MAX8998
66	bool "Enable Driver Model for PMIC MAX8998"
67	depends on DM_PMIC
68	---help---
69	This config enables implementation of driver-model pmic uclass features
70	for PMIC MAX8998. The driver implements read/write operations.
71
72config DM_PMIC_MC34708
73	bool "Enable Driver Model for PMIC MC34708"
74	depends on DM_PMIC
75	help
76	 This config enables implementation of driver-model pmic uclass features
77	 for PMIC MC34708. The driver implements read/write operations.
78
79config PMIC_MAX8997
80	bool "Enable Driver Model for PMIC MAX8997"
81	depends on DM_PMIC
82	---help---
83	This config enables implementation of driver-model pmic uclass features
84	for PMIC MAX8997. The driver implements read/write operations.
85	This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
86	- 21x LDOs
87	- 12x GPIOs
88	- Haptic Motor driver
89	- RTC with two alarms
90	- Fueal Gauge and One backup battery charger
91	- MUIC
92	- Others
93
94config PMIC_PM8916
95	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
96	depends on DM_PMIC
97	---help---
98	The PM8916 is a PMIC connected to one (or several) processors
99	with SPMI bus. It has 2 slaves with several peripherals:
100	- 18x LDO
101	- 4x GPIO
102	- Power and Reset buttons
103	- Watchdog
104	- RTC
105	- Vibrator drivers
106	- Others
107
108	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
109
110config PMIC_RK8XX
111	bool "Enable support for Rockchip PMIC RK8XX"
112	depends on DM_PMIC
113	---help---
114	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
115	an RTC and two low Rds (resistance (drain to source)) switches. It is
116	accessed via an I2C interface. The device is used with Rockchip SoCs.
117	This driver implements register read/write operations.
118
119config PMIC_S2MPS11
120	bool "Enable Driver Model for PMIC Samsung S2MPS11"
121	depends on DM_PMIC
122	---help---
123	The Samsung S2MPS11 PMIC provides:
124	 - 38 adjustable LDO regulators
125	 - 9 High-Efficiency Buck Converters
126	 - 1 BuckBoost Converter
127	 - RTC with two alarms
128	 - Backup battery charger
129	 - I2C Configuration Interface
130	This driver provides access to I/O interface only.
131	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
132
133config DM_PMIC_SANDBOX
134	bool "Enable Driver Model for emulated Sandbox PMIC"
135	depends on DM_PMIC
136	---help---
137	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
138	depends on two drivers:
139	- sandbox PMIC I/O driver - implements dm pmic operations
140	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
141
142	A detailed information can be found in header: '<power/sandbox_pmic.h>'
143
144	The Sandbox PMIC info:
145	* I/O interface:
146	  - I2C chip address:       0x40
147	  - first register address: 0x0
148	  - register count:         0x10
149	* Adjustable outputs:
150	  - 2x LDO
151	  - 2x BUCK
152	  - Each, with a different operating conditions (header).
153	* Reset values:
154	  - set by i2c emul driver's probe() (defaults in header)
155
156	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
157
158config PMIC_S5M8767
159	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
160	depends on DM_PMIC
161	---help---
162	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
163	as a SoC power controller. It also provides 32KHz clock outputs. This
164	driver provides basic register access and sets up the attached
165	regulators if regulator support is enabled.
166
167config PMIC_RN5T567
168	bool "Enable driver for Ricoh RN5T567 PMIC"
169	depends on DM_PMIC
170	---help---
171	The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
172	regulators Real-Time Clock and 4 GPIOs. This driver provides
173	register access only.
174
175config PMIC_TPS65090
176	bool "Enable driver for Texas Instruments TPS65090 PMIC"
177	depends on DM_PMIC
178	---help---
179	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
180	FETs and a battery charger. This driver provides register access
181	only, and you can enable the regulator/charger drivers separately if
182	required.
183
184config PMIC_PALMAS
185	bool "Enable driver for Texas Instruments PALMAS PMIC"
186	depends on DM_PMIC
187	---help---
188	The PALMAS is a PMIC containing several LDOs, SMPS.
189	This driver binds the pmic children.
190
191config PMIC_LP873X
192	bool "Enable driver for Texas Instruments LP873X PMIC"
193	depends on DM_PMIC
194	---help---
195	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
196	This driver binds the pmic children.
197
198config PMIC_LP87565
199	bool "Enable driver for Texas Instruments LP87565 PMIC"
200	depends on DM_PMIC
201	---help---
202	The LP87565 is a PMIC containing a bunch of SMPS.
203	This driver binds the pmic children.
204
205config POWER_MC34VR500
206	bool "Enable driver for Freescale MC34VR500 PMIC"
207	---help---
208	The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
209	SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
210	via an I2C interface.
211
212config DM_PMIC_TPS65910
213	bool "Enable driver for Texas Instruments TPS65910 PMIC"
214	depends on DM_PMIC
215	---help---
216	The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
217	DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
218	pmic children.
219
220config PMIC_STPMU1
221	bool "Enable support for STMicroelectronics STPMU1 PMIC"
222	depends on DM_PMIC && DM_I2C
223	---help---
224	The STPMU1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
225	It is accessed via an I2C interface. The device is used with STM32MP1
226	SoCs. This driver implements register read/write operations.
227