xref: /openbmc/u-boot/drivers/power/regulator/Kconfig (revision 24b56e2b)
1config DM_REGULATOR
2	bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)"
3	depends on DM
4	---help---
5	This config enables the driver model regulator support.
6	UCLASS_REGULATOR - designed to provide a common API for basic regulator's
7	functions, like get/set Voltage or Current value, enable state, etc...
8	Note:
9	When enabling this, please read the description, found in the files:
10	- 'include/power/pmic.h'
11	- 'include/power/regulator.h'
12	- 'drivers/power/pmic/pmic-uclass.c'
13	- 'drivers/power/pmic/regulator-uclass.c'
14	It's important to call the device_bind() with the proper node offset,
15	when binding the regulator devices. The pmic_bind_childs() can be used
16	for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
17	otherwise. Detailed information can be found in the header file.
18
19config SPL_DM_REGULATOR
20	bool "Enable regulators for SPL"
21	depends on DM_REGULATOR
22	---help---
23	Regulators are seldom needed in SPL. Even if they are accessed, some
24	code space can be saved by accessing the PMIC registers directly.
25	Enable this option if you need regulators in SPL and can cope with
26	the extra code size.
27
28config REGULATOR_ACT8846
29	bool "Enable driver for ACT8846 regulator"
30	depends on DM_REGULATOR && PMIC_ACT8846
31	---help---
32	Enable support for the regulator functions of the ACT8846 PMIC. The
33	driver implements get/set api for the various BUCKS and LDOS supported
34	by the PMIC device. This driver is controlled by a device tree node
35	which includes voltage limits.
36
37config REGULATOR_AS3722
38	bool "Enable driver for AS7322 regulator"
39	depends on DM_REGULATOR && PMIC_AS3722
40	help
41	  Enable support for the regulator functions of the AS3722. The
42	  driver implements enable/disable for step-down bucks and LDOs,
43	  but does not yet support change voltages. Currently this must be
44	  done using direct register writes to the PMIC.
45
46config DM_REGULATOR_PFUZE100
47	bool "Enable Driver Model for REGULATOR PFUZE100"
48	depends on DM_REGULATOR && DM_PMIC_PFUZE100
49	---help---
50	This config enables implementation of driver-model regulator uclass
51	features for REGULATOR PFUZE100. The driver implements get/set api for:
52	value, enable and mode.
53
54config REGULATOR_PWM
55	bool "Enable driver for PWM regulators"
56	depends on DM_REGULATOR
57	---help---
58	Enable support for the PWM regulator functions which voltage are
59	controlled by PWM duty ratio. Some of Rockchip board using this kind
60	of regulator. The driver implements get/set api for the various BUCKS.
61	This driver is controlled by a device tree node
62	which includes voltage limits.
63
64config SPL_REGULATOR_PWM
65	bool "Enable Driver for PWM regulators in SPL"
66	depends on REGULATOR_PWM
67	help
68	  This config enables implementation of driver-model regulator uclass
69	  features for PWM regulators in SPL.
70
71config DM_REGULATOR_MAX77686
72	bool "Enable Driver Model for REGULATOR MAX77686"
73	depends on DM_REGULATOR && DM_PMIC_MAX77686
74	---help---
75	This config enables implementation of driver-model regulator uclass
76	features for REGULATOR MAX77686. The driver implements get/set api for:
77	value, enable and mode.
78
79config DM_REGULATOR_FAN53555
80	bool "Enable Driver Model for REGULATOR FAN53555"
81	depends on DM_PMIC_FAN53555
82	help
83	  This config enables implementation of driver-model regulator
84	  uclass features for the FAN53555 regulator. The FAN53555 is
85	  a (family of) single-output regulators that supports
86	  transitioning between two different output voltages based on
87	  an voltage selection pin.
88
89	  The driver implements a get/set api for the voltage of the
90	  'normal mode' voltage only. Switching to 'suspend mode'
91	  (i.e. the alternate voltage), disabling output via software,
92	  or switching the mode is not supported by this driver (at
93	  this time).
94
95config DM_REGULATOR_FIXED
96	bool "Enable Driver Model for REGULATOR Fixed value"
97	depends on DM_REGULATOR
98	---help---
99	This config enables implementation of driver-model regulator uclass
100	features for fixed value regulators. The driver implements get/set api
101	for enable and get only for voltage value.
102
103config SPL_DM_REGULATOR_FIXED
104	bool "Enable Driver Model for REGULATOR Fixed value in SPL"
105	depends on DM_REGULATOR_FIXED
106	---help---
107	This config enables implementation of driver-model regulator uclass
108	features for fixed value regulators in SPL.
109
110config DM_REGULATOR_GPIO
111	bool "Enable Driver Model for GPIO REGULATOR"
112	depends on DM_REGULATOR && DM_GPIO
113	---help---
114	This config enables implementation of driver-model regulator uclass
115	features for gpio regulators. The driver implements get/set for
116	voltage value.
117
118config SPL_DM_REGULATOR_GPIO
119	bool "Enable Driver Model for GPIO REGULATOR in SPL"
120	depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT
121	---help---
122	This config enables implementation of driver-model regulator uclass
123	features for gpio regulators in SPL.
124
125config REGULATOR_RK8XX
126	bool "Enable driver for RK8XX regulators"
127	depends on DM_REGULATOR && PMIC_RK8XX
128	---help---
129	Enable support for the regulator functions of the RK8XX PMIC. The
130	driver implements get/set api for the various BUCKS and LDOs supported
131	by the PMIC device. This driver is controlled by a device tree node
132	which includes voltage limits.
133
134config DM_REGULATOR_S2MPS11
135	bool "Enable driver for S2MPS11 regulator"
136	depends on DM_REGULATOR && PMIC_S2MPS11
137	---help---
138	This enables implementation of driver-model regulator uclass
139	features for REGULATOR S2MPS11.
140	The driver implements get/set api for: value and enable.
141
142config REGULATOR_S5M8767
143	bool "Enable support for S5M8767 regulator"
144	depends on DM_REGULATOR && PMIC_S5M8767
145	---help---
146	This enables the regulator features of the S5M8767, allowing voltages
147	to be set, etc. The driver is not fully complete but supports most
148	common requirements, including all LDOs and BUCKs. This allows many
149	supplies to be set automatically using the device tree values.
150
151config DM_REGULATOR_SANDBOX
152	bool "Enable Driver Model for Sandbox PMIC regulator"
153	depends on DM_REGULATOR && DM_PMIC_SANDBOX
154	---help---
155	Enable the regulator driver for emulated Sandbox PMIC.
156	The emulated PMIC device depends on two drivers:
157	- sandbox PMIC I/O driver - implements dm pmic operations
158	- sandbox PMIC regulator driver - implements dm regulator operations
159	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
160
161	The regulator driver provides uclass operations for sandbox PMIC's
162	regulators. The driver implements get/set api for: voltage, current,
163	operation mode and enable state.
164	The driver supports LDO and BUCK regulators.
165
166	The Sandbox PMIC info:
167	* I/O interface:
168	  - I2C chip address:       0x40
169	  - first register address: 0x0
170	  - register count:         0x10
171	* Adjustable outputs:
172	  - 2x LDO
173	  - 2x BUCK
174	  - Each, with a different operating conditions (header).
175	* Reset values:
176	  - set by i2c emul driver's probe() (defaults in header)
177
178	A detailed information can be found in header: '<power/sandbox_pmic.h>'
179	Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
180
181config REGULATOR_TPS65090
182	bool "Enable driver for TPS65090 PMIC regulators"
183	depends on PMIC_TPS65090
184	---help---
185	The TPS65090 provides several FETs (Field-effect Transistors,
186	effectively switches) which are supported by this driver as
187	regulators, one for each FET. The standard regulator interface is
188	supported, but it is only possible to turn the regulators on or off.
189	There is no voltage/current control.
190
191config DM_REGULATOR_PALMAS
192	bool "Enable driver for PALMAS PMIC regulators"
193       depends on PMIC_PALMAS
194	---help---
195	This enables implementation of driver-model regulator uclass
196	features for REGULATOR PALMAS and the family of PALMAS PMICs.
197	The driver implements get/set api for: value and enable.
198
199config DM_REGULATOR_PBIAS
200	bool "Enable driver for PBIAS regulator"
201	depends on DM_REGULATOR
202	select REGMAP
203	select SYSCON
204	---help---
205	This enables implementation of driver-model regulator uclass
206	features for pseudo-regulator PBIAS found in the OMAP SOCs.
207	This pseudo-regulator is used to provide a BIAS voltage to MMC1
208	signal pads and must be configured properly during a voltage switch.
209	Voltage switching is required by some operating modes of SDcards and
210	eMMC.
211
212config DM_REGULATOR_LP873X
213	bool "Enable driver for LP873X PMIC regulators"
214        depends on PMIC_LP873X
215	---help---
216	This enables implementation of driver-model regulator uclass
217	features for REGULATOR LP873X and the family of LP873X PMICs.
218	The driver implements get/set api for: value and enable.
219
220config DM_REGULATOR_LP87565
221	bool "Enable driver for LP87565 PMIC regulators"
222        depends on PMIC_LP87565
223	---help---
224	This enables implementation of driver-model regulator uclass
225	features for REGULATOR LP87565 and the family of LP87565 PMICs.
226	LP87565 series of PMICs have 4 single phase BUCKs that can also
227	be configured in multi phase modes. The driver implements
228	get/set api for value and enable.
229
230config DM_REGULATOR_STM32_VREFBUF
231	bool "Enable driver for STMicroelectronics STM32 VREFBUF"
232	depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
233	help
234	This driver supports STMicroelectronics STM32 VREFBUF (voltage
235	reference buffer) which can be used as voltage reference for
236	internal ADCs, DACs and also for external components through
237	dedicated Vref+ pin.
238
239config DM_REGULATOR_TPS65910
240	bool "Enable driver for TPS65910 PMIC regulators"
241	depends on DM_PMIC_TPS65910
242	---help---
243	The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
244	regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
245	the get/set api for value and enable.
246
247config DM_REGULATOR_STPMU1
248	bool "Enable driver for STPMU1 regulators"
249	depends on DM_REGULATOR && PMIC_STPMU1
250	---help---
251	Enable support for the regulator functions of the STPMU1 PMIC. The
252	driver implements get/set api for the various BUCKS and LDOs supported
253	by the PMIC device. This driver is controlled by a device tree node
254	which includes voltage limits.
255