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