xref: /openbmc/u-boot/drivers/power/pmic/Kconfig (revision 0b45a79f)
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 PMIC_PM8916
58	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
59	depends on DM_PMIC
60	---help---
61	The PM8916 is a PMIC connected to one (or several) processors
62	with SPMI bus. It has 2 slaves with several peripherals:
63	- 18x LDO
64	- 4x GPIO
65	- Power and Reset buttons
66	- Watchdog
67	- RTC
68	- Vibrator drivers
69	- Others
70
71	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
72
73config PMIC_RK808
74	bool "Enable support for Rockchip PMIC RK808"
75	depends on DM_PMIC
76	---help---
77	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
78	an RTC and two low Rds (resistance (drain to source)) switches. It is
79	accessed via an I2C interface. The device is used with Rockchip SoCs.
80	This driver implements register read/write operations.
81
82config PMIC_S2MPS11
83	bool "Enable Driver Model for PMIC Samsung S2MPS11"
84	depends on DM_PMIC
85	---help---
86	The Samsung S2MPS11 PMIC provides:
87	 - 38 adjustable LDO regulators
88	 - 9 High-Efficiency Buck Converters
89	 - 1 BuckBoost Converter
90	 - RTC with two alarms
91	 - Backup battery charger
92	 - I2C Configuration Interface
93	This driver provides access to I/O interface only.
94	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
95
96config DM_PMIC_SANDBOX
97	bool "Enable Driver Model for emulated Sandbox PMIC "
98	depends on DM_PMIC
99	---help---
100	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
101	depends on two drivers:
102	- sandbox PMIC I/O driver - implements dm pmic operations
103	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
104
105	A detailed information can be found in header: '<power/sandbox_pmic.h>'
106
107	The Sandbox PMIC info:
108	* I/O interface:
109	  - I2C chip address:       0x40
110	  - first register address: 0x0
111	  - register count:         0x10
112	* Adjustable outputs:
113	  - 2x LDO
114	  - 2x BUCK
115	  - Each, with a different operating conditions (header).
116	* Reset values:
117	  - set by i2c emul driver's probe() (defaults in header)
118
119	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
120
121config PMIC_S5M8767
122	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
123	depends on DM_PMIC
124	---help---
125	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
126	as a SoC power controller. It also provides 32KHz clock outputs. This
127	driver provides basic register access and sets up the attached
128	regulators if regulator support is enabled.
129
130config PMIC_TPS65090
131	bool "Enable driver for Texas Instruments TPS65090 PMIC"
132	depends on DM_PMIC
133	---help---
134	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
135	FETs and a battery charger. This driver provides register access
136	only, and you can enable the regulator/charger drivers separately if
137	required.
138