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