xref: /openbmc/u-boot/drivers/power/pmic/Kconfig (revision 68e7999b)
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 rk808.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 DM_PMIC_PFUZE100
44	bool "Enable Driver Model for PMIC PFUZE100"
45	depends on DM_PMIC
46	---help---
47	This config enables implementation of driver-model pmic uclass features
48	for PMIC PFUZE100. The driver implements read/write operations.
49
50config DM_PMIC_MAX77686
51	bool "Enable Driver Model for PMIC MAX77686"
52	depends on DM_PMIC
53	---help---
54	This config enables implementation of driver-model pmic uclass features
55	for PMIC MAX77686. The driver implements read/write operations.
56
57config DM_PMIC_MAX8998
58	bool "Enable Driver Model for PMIC MAX8998"
59	depends on DM_PMIC
60	---help---
61	This config enables implementation of driver-model pmic uclass features
62	for PMIC MAX8998. The driver implements read/write operations.
63
64config PMIC_PM8916
65	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
66	depends on DM_PMIC
67	---help---
68	The PM8916 is a PMIC connected to one (or several) processors
69	with SPMI bus. It has 2 slaves with several peripherals:
70	- 18x LDO
71	- 4x GPIO
72	- Power and Reset buttons
73	- Watchdog
74	- RTC
75	- Vibrator drivers
76	- Others
77
78	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
79
80config PMIC_RK808
81	bool "Enable support for Rockchip PMIC RK808"
82	depends on DM_PMIC
83	---help---
84	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
85	an RTC and two low Rds (resistance (drain to source)) switches. It is
86	accessed via an I2C interface. The device is used with Rockchip SoCs.
87	This driver implements register read/write operations.
88
89config PMIC_S2MPS11
90	bool "Enable Driver Model for PMIC Samsung S2MPS11"
91	depends on DM_PMIC
92	---help---
93	The Samsung S2MPS11 PMIC provides:
94	 - 38 adjustable LDO regulators
95	 - 9 High-Efficiency Buck Converters
96	 - 1 BuckBoost Converter
97	 - RTC with two alarms
98	 - Backup battery charger
99	 - I2C Configuration Interface
100	This driver provides access to I/O interface only.
101	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
102
103config DM_PMIC_SANDBOX
104	bool "Enable Driver Model for emulated Sandbox PMIC "
105	depends on DM_PMIC
106	---help---
107	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
108	depends on two drivers:
109	- sandbox PMIC I/O driver - implements dm pmic operations
110	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
111
112	A detailed information can be found in header: '<power/sandbox_pmic.h>'
113
114	The Sandbox PMIC info:
115	* I/O interface:
116	  - I2C chip address:       0x40
117	  - first register address: 0x0
118	  - register count:         0x10
119	* Adjustable outputs:
120	  - 2x LDO
121	  - 2x BUCK
122	  - Each, with a different operating conditions (header).
123	* Reset values:
124	  - set by i2c emul driver's probe() (defaults in header)
125
126	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
127
128config PMIC_S5M8767
129	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
130	depends on DM_PMIC
131	---help---
132	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
133	as a SoC power controller. It also provides 32KHz clock outputs. This
134	driver provides basic register access and sets up the attached
135	regulators if regulator support is enabled.
136
137config PMIC_RN5T567
138	bool "Enable driver for Ricoh RN5T567 PMIC"
139	depends on DM_PMIC
140	---help---
141	The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
142	regulators Real-Time Clock and 4 GPIOs. This driver provides
143	register access only.
144
145config PMIC_TPS65090
146	bool "Enable driver for Texas Instruments TPS65090 PMIC"
147	depends on DM_PMIC
148	---help---
149	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
150	FETs and a battery charger. This driver provides register access
151	only, and you can enable the regulator/charger drivers separately if
152	required.
153
154config PMIC_PALMAS
155	bool "Enable driver for Texas Instruments PALMAS PMIC"
156	depends on DM_PMIC
157	---help---
158	The PALMAS is a PMIC containing several LDOs, SMPS.
159	This driver binds the pmic children.
160
161config PMIC_LP873X
162	bool "Enable driver for Texas Instruments LP873X PMIC"
163	depends on DM_PMIC
164	---help---
165	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
166	This driver binds the pmic children.
167