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