• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_BD71837
47	bool "Enable Driver Model for ROHM BD71837/BD71847 regulators"
48	depends on DM_REGULATOR && DM_PMIC_BD71837
49	help
50	This config enables implementation of driver-model regulator uclass
51	features for regulators on ROHM BD71837 and BD71847 PMICs.
52	BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version
53	containing 6 bucks and 6 LDOs. The driver implements get/set api for
54	value and enable.
55
56config SPL_DM_REGULATOR_BD71837
57	bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL"
58	depends on DM_REGULATOR_BD71837
59	help
60	This config enables implementation of driver-model regulator uclass
61	features for regulators on ROHM BD71837 and BD71847 in SPL.
62
63config DM_REGULATOR_PFUZE100
64	bool "Enable Driver Model for REGULATOR PFUZE100"
65	depends on DM_REGULATOR && DM_PMIC_PFUZE100
66	---help---
67	This config enables implementation of driver-model regulator uclass
68	features for REGULATOR PFUZE100. The driver implements get/set api for:
69	value, enable and mode.
70
71config REGULATOR_PWM
72	bool "Enable driver for PWM regulators"
73	depends on DM_REGULATOR
74	---help---
75	Enable support for the PWM regulator functions which voltage are
76	controlled by PWM duty ratio. Some of Rockchip board using this kind
77	of regulator. The driver implements get/set api for the various BUCKS.
78	This driver is controlled by a device tree node
79	which includes voltage limits.
80
81config SPL_REGULATOR_PWM
82	bool "Enable Driver for PWM regulators in SPL"
83	depends on REGULATOR_PWM
84	help
85	  This config enables implementation of driver-model regulator uclass
86	  features for PWM regulators in SPL.
87
88config DM_REGULATOR_MAX77686
89	bool "Enable Driver Model for REGULATOR MAX77686"
90	depends on DM_REGULATOR && DM_PMIC_MAX77686
91	---help---
92	This config enables implementation of driver-model regulator uclass
93	features for REGULATOR MAX77686. The driver implements get/set api for:
94	value, enable and mode.
95
96config DM_REGULATOR_FAN53555
97	bool "Enable Driver Model for REGULATOR FAN53555"
98	depends on DM_PMIC_FAN53555
99	help
100	  This config enables implementation of driver-model regulator
101	  uclass features for the FAN53555 regulator. The FAN53555 is
102	  a (family of) single-output regulators that supports
103	  transitioning between two different output voltages based on
104	  an voltage selection pin.
105
106	  The driver implements a get/set api for the voltage of the
107	  'normal mode' voltage only. Switching to 'suspend mode'
108	  (i.e. the alternate voltage), disabling output via software,
109	  or switching the mode is not supported by this driver (at
110	  this time).
111
112config DM_REGULATOR_COMMON
113	bool
114	depends on DM_REGULATOR
115
116config SPL_DM_REGULATOR_COMMON
117	bool
118	depends on DM_REGULATOR
119
120config DM_REGULATOR_FIXED
121	bool "Enable Driver Model for REGULATOR Fixed value"
122	depends on DM_REGULATOR
123	select DM_REGULATOR_COMMON
124	---help---
125	This config enables implementation of driver-model regulator uclass
126	features for fixed value regulators. The driver implements get/set api
127	for enable and get only for voltage value.
128
129config SPL_DM_REGULATOR_FIXED
130	bool "Enable Driver Model for REGULATOR Fixed value in SPL"
131	depends on DM_REGULATOR_FIXED
132	select SPL_DM_REGULATOR_COMMON
133	---help---
134	This config enables implementation of driver-model regulator uclass
135	features for fixed value regulators in SPL.
136
137config DM_REGULATOR_GPIO
138	bool "Enable Driver Model for GPIO REGULATOR"
139	depends on DM_REGULATOR && DM_GPIO
140	select DM_REGULATOR_COMMON
141	---help---
142	This config enables implementation of driver-model regulator uclass
143	features for gpio regulators. The driver implements get/set for
144	voltage value.
145
146config SPL_DM_REGULATOR_GPIO
147	bool "Enable Driver Model for GPIO REGULATOR in SPL"
148	depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT
149	select SPL_DM_REGULATOR_COMMON
150	---help---
151	This config enables implementation of driver-model regulator uclass
152	features for gpio regulators in SPL.
153
154config REGULATOR_RK8XX
155	bool "Enable driver for RK8XX regulators"
156	depends on DM_REGULATOR && PMIC_RK8XX
157	---help---
158	Enable support for the regulator functions of the RK8XX PMIC. The
159	driver implements get/set api for the various BUCKS and LDOs supported
160	by the PMIC device. This driver is controlled by a device tree node
161	which includes voltage limits.
162
163config DM_REGULATOR_S2MPS11
164	bool "Enable driver for S2MPS11 regulator"
165	depends on DM_REGULATOR && PMIC_S2MPS11
166	---help---
167	This enables implementation of driver-model regulator uclass
168	features for REGULATOR S2MPS11.
169	The driver implements get/set api for: value and enable.
170
171config REGULATOR_S5M8767
172	bool "Enable support for S5M8767 regulator"
173	depends on DM_REGULATOR && PMIC_S5M8767
174	---help---
175	This enables the regulator features of the S5M8767, allowing voltages
176	to be set, etc. The driver is not fully complete but supports most
177	common requirements, including all LDOs and BUCKs. This allows many
178	supplies to be set automatically using the device tree values.
179
180config DM_REGULATOR_SANDBOX
181	bool "Enable Driver Model for Sandbox PMIC regulator"
182	depends on DM_REGULATOR && DM_PMIC_SANDBOX
183	---help---
184	Enable the regulator driver for emulated Sandbox PMIC.
185	The emulated PMIC device depends on two drivers:
186	- sandbox PMIC I/O driver - implements dm pmic operations
187	- sandbox PMIC regulator driver - implements dm regulator operations
188	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
189
190	The regulator driver provides uclass operations for sandbox PMIC's
191	regulators. The driver implements get/set api for: voltage, current,
192	operation mode and enable state.
193	The driver supports LDO and BUCK regulators.
194
195	The Sandbox PMIC info:
196	* I/O interface:
197	  - I2C chip address:       0x40
198	  - first register address: 0x0
199	  - register count:         0x10
200	* Adjustable outputs:
201	  - 2x LDO
202	  - 2x BUCK
203	  - Each, with a different operating conditions (header).
204	* Reset values:
205	  - set by i2c emul driver's probe() (defaults in header)
206
207	A detailed information can be found in header: '<power/sandbox_pmic.h>'
208	Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
209
210config REGULATOR_TPS65090
211	bool "Enable driver for TPS65090 PMIC regulators"
212	depends on PMIC_TPS65090
213	---help---
214	The TPS65090 provides several FETs (Field-effect Transistors,
215	effectively switches) which are supported by this driver as
216	regulators, one for each FET. The standard regulator interface is
217	supported, but it is only possible to turn the regulators on or off.
218	There is no voltage/current control.
219
220config DM_REGULATOR_PALMAS
221	bool "Enable driver for PALMAS PMIC regulators"
222       depends on PMIC_PALMAS
223	---help---
224	This enables implementation of driver-model regulator uclass
225	features for REGULATOR PALMAS and the family of PALMAS PMICs.
226	The driver implements get/set api for: value and enable.
227
228config DM_REGULATOR_PBIAS
229	bool "Enable driver for PBIAS regulator"
230	depends on DM_REGULATOR
231	select REGMAP
232	select SYSCON
233	---help---
234	This enables implementation of driver-model regulator uclass
235	features for pseudo-regulator PBIAS found in the OMAP SOCs.
236	This pseudo-regulator is used to provide a BIAS voltage to MMC1
237	signal pads and must be configured properly during a voltage switch.
238	Voltage switching is required by some operating modes of SDcards and
239	eMMC.
240
241config DM_REGULATOR_LP873X
242	bool "Enable driver for LP873X PMIC regulators"
243        depends on PMIC_LP873X
244	---help---
245	This enables implementation of driver-model regulator uclass
246	features for REGULATOR LP873X and the family of LP873X PMICs.
247	The driver implements get/set api for: value and enable.
248
249config DM_REGULATOR_LP87565
250	bool "Enable driver for LP87565 PMIC regulators"
251        depends on PMIC_LP87565
252	---help---
253	This enables implementation of driver-model regulator uclass
254	features for REGULATOR LP87565 and the family of LP87565 PMICs.
255	LP87565 series of PMICs have 4 single phase BUCKs that can also
256	be configured in multi phase modes. The driver implements
257	get/set api for value and enable.
258
259config DM_REGULATOR_STM32_VREFBUF
260	bool "Enable driver for STMicroelectronics STM32 VREFBUF"
261	depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
262	help
263	This driver supports STMicroelectronics STM32 VREFBUF (voltage
264	reference buffer) which can be used as voltage reference for
265	internal ADCs, DACs and also for external components through
266	dedicated Vref+ pin.
267
268config DM_REGULATOR_TPS65910
269	bool "Enable driver for TPS65910 PMIC regulators"
270	depends on DM_PMIC_TPS65910
271	---help---
272	The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
273	regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
274	the get/set api for value and enable.
275
276config DM_REGULATOR_TPS62360
277	bool "Enable driver for TPS6236x Power Regulator"
278	depends on DM_REGULATOR
279	help
280	The TPS6236X DC/DC step down converter provides a single output
281	power line peaking at 3A current. This driver supports all four
282	variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It
283	implements the get/set api for value only, as the power line is
284	always on.
285
286config DM_REGULATOR_STPMIC1
287	bool "Enable driver for STPMIC1 regulators"
288	depends on DM_REGULATOR && PMIC_STPMIC1
289	---help---
290	Enable support for the regulator functions of the STPMIC1 PMIC. The
291	driver implements get/set api for the various BUCKS and LDOs supported
292	by the PMIC device. This driver is controlled by a device tree node
293	which includes voltage limits.
294
295config SPL_DM_REGULATOR_STPMIC1
296	bool "Enable driver for STPMIC1 regulators in SPL"
297	depends on SPL_DM_REGULATOR && PMIC_STPMIC1
298	help
299	  Enable support for the regulator functions of the STPMIC1 PMIC in SPL.
300
301config SPL_DM_REGULATOR_PALMAS
302	bool "Enable driver for PALMAS PMIC regulators"
303       depends on SPL_PMIC_PALMAS
304	help
305	This enables implementation of driver-model regulator uclass
306	features for REGULATOR PALMAS and the family of PALMAS PMICs.
307	The driver implements get/set api for: value and enable in SPL.
308
309config SPL_DM_REGULATOR_LP87565
310	bool "Enable driver for LP87565 PMIC regulators"
311       depends on SPL_PMIC_LP87565
312	help
313	This enables implementation of driver-model regulator uclass
314	features for REGULATOR LP87565 and the family of LP87565 PMICs.
315	LP87565 series of PMICs have 4 single phase BUCKs that can also
316	be configured in multi phase modes. The driver implements
317	get/set api for value and enable in SPL.
318
319config SPL_DM_REGULATOR_LP873X
320	bool "Enable driver for LP873X PMIC regulators"
321	depends on SPL_PMIC_LP873X
322	help
323	This enables implementation of driver-model regulator uclass
324	features for REGULATOR LP873X and the family of LP873X PMICs.
325	The driver implements get/set api for: value and enable in SPL.
326
327config DM_REGULATOR_TPS65941
328	bool "Enable driver for TPS65941 PMIC regulators"
329        depends on PMIC_TPS65941
330	help
331	This enables implementation of driver-model regulator uclass
332	features for REGULATOR TPS65941 and the family of TPS65941 PMICs.
333	TPS65941 series of PMICs have 5 single phase BUCKs that can also
334	be configured in multi phase modes & 4 LDOs. The driver implements
335	get/set api for value and enable.
336