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