xref: /openbmc/u-boot/drivers/power/regulator/Kconfig (revision dfb0a70a1abc16c1db1e2f30db6f3605db7e774c)
1af41e8dbSPrzemyslaw Marczakconfig DM_REGULATOR
2af41e8dbSPrzemyslaw Marczak	bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)"
3af41e8dbSPrzemyslaw Marczak	depends on DM
4af41e8dbSPrzemyslaw Marczak	---help---
5af41e8dbSPrzemyslaw Marczak	This config enables the driver model regulator support.
6af41e8dbSPrzemyslaw Marczak	UCLASS_REGULATOR - designed to provide a common API for basic regulator's
7af41e8dbSPrzemyslaw Marczak	functions, like get/set Voltage or Current value, enable state, etc...
8af41e8dbSPrzemyslaw Marczak	Note:
9af41e8dbSPrzemyslaw Marczak	When enabling this, please read the description, found in the files:
10af41e8dbSPrzemyslaw Marczak	- 'include/power/pmic.h'
11af41e8dbSPrzemyslaw Marczak	- 'include/power/regulator.h'
12af41e8dbSPrzemyslaw Marczak	- 'drivers/power/pmic/pmic-uclass.c'
13af41e8dbSPrzemyslaw Marczak	- 'drivers/power/pmic/regulator-uclass.c'
14af41e8dbSPrzemyslaw Marczak	It's important to call the device_bind() with the proper node offset,
15af41e8dbSPrzemyslaw Marczak	when binding the regulator devices. The pmic_bind_childs() can be used
162e3f1ff6SSimon Glass	for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
173b880757SPrzemyslaw Marczak	otherwise. Detailed information can be found in the header file.
181757df46SPrzemyslaw Marczak
191f2b4b06SSimon Glassconfig SPL_DM_REGULATOR
201f2b4b06SSimon Glass	bool "Enable regulators for SPL"
211f2b4b06SSimon Glass	depends on DM_REGULATOR
221f2b4b06SSimon Glass	---help---
231f2b4b06SSimon Glass	Regulators are seldom needed in SPL. Even if they are accessed, some
241f2b4b06SSimon Glass	code space can be saved by accessing the PMIC registers directly.
251f2b4b06SSimon Glass	Enable this option if you need regulators in SPL and can cope with
261f2b4b06SSimon Glass	the extra code size.
271f2b4b06SSimon Glass
289119820bSSimon Glassconfig REGULATOR_ACT8846
299119820bSSimon Glass	bool "Enable driver for ACT8846 regulator"
309119820bSSimon Glass	depends on DM_REGULATOR && PMIC_ACT8846
319119820bSSimon Glass	---help---
329119820bSSimon Glass	Enable support for the regulator functions of the ACT8846 PMIC. The
339119820bSSimon Glass	driver implements get/set api for the various BUCKS and LDOS supported
349119820bSSimon Glass	by the PMIC device. This driver is controlled by a device tree node
359119820bSSimon Glass	which includes voltage limits.
369119820bSSimon Glass
37deea211aSSimon Glassconfig REGULATOR_AS3722
38deea211aSSimon Glass	bool "Enable driver for AS7322 regulator"
39deea211aSSimon Glass	depends on DM_REGULATOR && PMIC_AS3722
40deea211aSSimon Glass	help
41deea211aSSimon Glass	  Enable support for the regulator functions of the AS3722. The
42deea211aSSimon Glass	  driver implements enable/disable for step-down bucks and LDOs,
43deea211aSSimon Glass	  but does not yet support change voltages. Currently this must be
44deea211aSSimon Glass	  done using direct register writes to the PMIC.
45deea211aSSimon Glass
468fa46350SPeng Fanconfig DM_REGULATOR_PFUZE100
478fa46350SPeng Fan	bool "Enable Driver Model for REGULATOR PFUZE100"
488fa46350SPeng Fan	depends on DM_REGULATOR && DM_PMIC_PFUZE100
498fa46350SPeng Fan	---help---
508fa46350SPeng Fan	This config enables implementation of driver-model regulator uclass
518fa46350SPeng Fan	features for REGULATOR PFUZE100. The driver implements get/set api for:
528fa46350SPeng Fan	value, enable and mode.
538fa46350SPeng Fan
541a016956SKever Yangconfig REGULATOR_PWM
551a016956SKever Yang	bool "Enable driver for PWM regulators"
561a016956SKever Yang	depends on DM_REGULATOR
571a016956SKever Yang	---help---
581a016956SKever Yang	Enable support for the PWM regulator functions which voltage are
591a016956SKever Yang	controlled by PWM duty ratio. Some of Rockchip board using this kind
601a016956SKever Yang	of regulator. The driver implements get/set api for the various BUCKS.
611a016956SKever Yang	This driver is controlled by a device tree node
621a016956SKever Yang	which includes voltage limits.
631a016956SKever Yang
641757df46SPrzemyslaw Marczakconfig DM_REGULATOR_MAX77686
651757df46SPrzemyslaw Marczak	bool "Enable Driver Model for REGULATOR MAX77686"
661757df46SPrzemyslaw Marczak	depends on DM_REGULATOR && DM_PMIC_MAX77686
671757df46SPrzemyslaw Marczak	---help---
681757df46SPrzemyslaw Marczak	This config enables implementation of driver-model regulator uclass
691757df46SPrzemyslaw Marczak	features for REGULATOR MAX77686. The driver implements get/set api for:
701757df46SPrzemyslaw Marczak	value, enable and mode.
719923a8b4SPrzemyslaw Marczak
72*dfb0a70aSPhilipp Tomsichconfig DM_REGULATOR_FAN53555
73*dfb0a70aSPhilipp Tomsich	bool "Enable Driver Model for REGULATOR FAN53555"
74*dfb0a70aSPhilipp Tomsich	depends on DM_PMIC_FAN53555
75*dfb0a70aSPhilipp Tomsich	help
76*dfb0a70aSPhilipp Tomsich	  This config enables implementation of driver-model regulator
77*dfb0a70aSPhilipp Tomsich	  uclass features for the FAN53555 regulator. The FAN53555 is
78*dfb0a70aSPhilipp Tomsich	  a (family of) single-output regulators that supports
79*dfb0a70aSPhilipp Tomsich	  transitioning between two different output voltages based on
80*dfb0a70aSPhilipp Tomsich	  an voltage selection pin.
81*dfb0a70aSPhilipp Tomsich
82*dfb0a70aSPhilipp Tomsich	  The driver implements a get/set api for the voltage of the
83*dfb0a70aSPhilipp Tomsich	  'normal mode' voltage only. Switching to 'suspend mode'
84*dfb0a70aSPhilipp Tomsich	  (i.e. the alternate voltage), disabling output via software,
85*dfb0a70aSPhilipp Tomsich	  or switching the mode is not supported by this driver (at
86*dfb0a70aSPhilipp Tomsich	  this time).
87*dfb0a70aSPhilipp Tomsich
889923a8b4SPrzemyslaw Marczakconfig DM_REGULATOR_FIXED
899923a8b4SPrzemyslaw Marczak	bool "Enable Driver Model for REGULATOR Fixed value"
909923a8b4SPrzemyslaw Marczak	depends on DM_REGULATOR
919923a8b4SPrzemyslaw Marczak	---help---
929923a8b4SPrzemyslaw Marczak	This config enables implementation of driver-model regulator uclass
939923a8b4SPrzemyslaw Marczak	features for fixed value regulators. The driver implements get/set api
949923a8b4SPrzemyslaw Marczak	for enable and get only for voltage value.
955d387d0dSPrzemyslaw Marczak
969086eab8SPhilipp Tomsichconfig SPL_DM_REGULATOR_FIXED
979086eab8SPhilipp Tomsich	bool "Enable Driver Model for REGULATOR Fixed value in SPL"
989086eab8SPhilipp Tomsich	depends on DM_REGULATOR_FIXED
999086eab8SPhilipp Tomsich	---help---
1009086eab8SPhilipp Tomsich	This config enables implementation of driver-model regulator uclass
1019086eab8SPhilipp Tomsich	features for fixed value regulators in SPL.
1029086eab8SPhilipp Tomsich
103477dfe2fSKeerthyconfig DM_REGULATOR_GPIO
104477dfe2fSKeerthy	bool "Enable Driver Model for GPIO REGULATOR"
10526da01f7SLokesh Vutla	depends on DM_REGULATOR && DM_GPIO
106477dfe2fSKeerthy	---help---
107477dfe2fSKeerthy	This config enables implementation of driver-model regulator uclass
108477dfe2fSKeerthy	features for gpio regulators. The driver implements get/set for
109477dfe2fSKeerthy	voltage value.
110477dfe2fSKeerthy
11126da01f7SLokesh Vutlaconfig SPL_DM_REGULATOR_GPIO
11226da01f7SLokesh Vutla	bool "Enable Driver Model for GPIO REGULATOR in SPL"
11326da01f7SLokesh Vutla	depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT
11426da01f7SLokesh Vutla	---help---
11526da01f7SLokesh Vutla	This config enables implementation of driver-model regulator uclass
11626da01f7SLokesh Vutla	features for gpio regulators in SPL.
11726da01f7SLokesh Vutla
118453c5a92SJacob Chenconfig REGULATOR_RK8XX
119453c5a92SJacob Chen	bool "Enable driver for RK8XX regulators"
120453c5a92SJacob Chen	depends on DM_REGULATOR && PMIC_RK8XX
121e1227764SSimon Glass	---help---
122453c5a92SJacob Chen	Enable support for the regulator functions of the RK8XX PMIC. The
123e1227764SSimon Glass	driver implements get/set api for the various BUCKS and LDOs supported
124e1227764SSimon Glass	by the PMIC device. This driver is controlled by a device tree node
125e1227764SSimon Glass	which includes voltage limits.
126e1227764SSimon Glass
12760599ea6SJaehoon Chungconfig DM_REGULATOR_S2MPS11
12860599ea6SJaehoon Chung	bool "Enable driver for S2MPS11 regulator"
12960599ea6SJaehoon Chung	depends on DM_REGULATOR && PMIC_S2MPS11
13060599ea6SJaehoon Chung	---help---
13160599ea6SJaehoon Chung	This enables implementation of driver-model regulator uclass
13260599ea6SJaehoon Chung	features for REGULATOR S2MPS11.
13360599ea6SJaehoon Chung	The driver implements get/set api for: value and enable.
13460599ea6SJaehoon Chung
135f615e6a6SSimon Glassconfig REGULATOR_S5M8767
136f615e6a6SSimon Glass	bool "Enable support for S5M8767 regulator"
137f615e6a6SSimon Glass	depends on DM_REGULATOR && PMIC_S5M8767
138f615e6a6SSimon Glass	---help---
139f615e6a6SSimon Glass	This enables the regulator features of the S5M8767, allowing voltages
140f615e6a6SSimon Glass	to be set, etc. The driver is not fully complete but supports most
141f615e6a6SSimon Glass	common requirements, including all LDOs and BUCKs. This allows many
142f615e6a6SSimon Glass	supplies to be set automatically using the device tree values.
143f615e6a6SSimon Glass
1445d387d0dSPrzemyslaw Marczakconfig DM_REGULATOR_SANDBOX
1455d387d0dSPrzemyslaw Marczak	bool "Enable Driver Model for Sandbox PMIC regulator"
1465d387d0dSPrzemyslaw Marczak	depends on DM_REGULATOR && DM_PMIC_SANDBOX
1475d387d0dSPrzemyslaw Marczak	---help---
1485d387d0dSPrzemyslaw Marczak	Enable the regulator driver for emulated Sandbox PMIC.
1495d387d0dSPrzemyslaw Marczak	The emulated PMIC device depends on two drivers:
1505d387d0dSPrzemyslaw Marczak	- sandbox PMIC I/O driver - implements dm pmic operations
1515d387d0dSPrzemyslaw Marczak	- sandbox PMIC regulator driver - implements dm regulator operations
1525d387d0dSPrzemyslaw Marczak	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
1535d387d0dSPrzemyslaw Marczak
1545d387d0dSPrzemyslaw Marczak	The regulator driver provides uclass operations for sandbox PMIC's
1555d387d0dSPrzemyslaw Marczak	regulators. The driver implements get/set api for: voltage, current,
1565d387d0dSPrzemyslaw Marczak	operation mode and enable state.
1575d387d0dSPrzemyslaw Marczak	The driver supports LDO and BUCK regulators.
1585d387d0dSPrzemyslaw Marczak
1595d387d0dSPrzemyslaw Marczak	The Sandbox PMIC info:
1605d387d0dSPrzemyslaw Marczak	* I/O interface:
1615d387d0dSPrzemyslaw Marczak	  - I2C chip address:       0x40
1625d387d0dSPrzemyslaw Marczak	  - first register address: 0x0
1635d387d0dSPrzemyslaw Marczak	  - register count:         0x10
1645d387d0dSPrzemyslaw Marczak	* Adjustable outputs:
1655d387d0dSPrzemyslaw Marczak	  - 2x LDO
1665d387d0dSPrzemyslaw Marczak	  - 2x BUCK
1675d387d0dSPrzemyslaw Marczak	  - Each, with a different operating conditions (header).
1685d387d0dSPrzemyslaw Marczak	* Reset values:
1695d387d0dSPrzemyslaw Marczak	  - set by i2c emul driver's probe() (defaults in header)
1705d387d0dSPrzemyslaw Marczak
1715d387d0dSPrzemyslaw Marczak	A detailed information can be found in header: '<power/sandbox_pmic.h>'
1725d387d0dSPrzemyslaw Marczak	Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
1731c88b67eSSimon Glass
1741c88b67eSSimon Glassconfig REGULATOR_TPS65090
1751c88b67eSSimon Glass	bool "Enable driver for TPS65090 PMIC regulators"
1761c88b67eSSimon Glass	depends on PMIC_TPS65090
1771c88b67eSSimon Glass	---help---
1781c88b67eSSimon Glass	The TPS65090 provides several FETs (Field-effect Transistors,
1791c88b67eSSimon Glass	effectively switches) which are supported by this driver as
1801c88b67eSSimon Glass	regulators, one for each FET. The standard regulator interface is
1811c88b67eSSimon Glass	supported, but it is only possible to turn the regulators on or off.
1821c88b67eSSimon Glass	There is no voltage/current control.
183884d88bcSKeerthy
184884d88bcSKeerthyconfig DM_REGULATOR_PALMAS
185884d88bcSKeerthy	bool "Enable driver for PALMAS PMIC regulators"
186884d88bcSKeerthy       depends on PMIC_PALMAS
187884d88bcSKeerthy	---help---
188884d88bcSKeerthy	This enables implementation of driver-model regulator uclass
189884d88bcSKeerthy	features for REGULATOR PALMAS and the family of PALMAS PMICs.
190884d88bcSKeerthy	The driver implements get/set api for: value and enable.
19199785de8SKeerthy
1928ff7763dSJean-Jacques Hiblotconfig DM_REGULATOR_PBIAS
1938ff7763dSJean-Jacques Hiblot	bool "Enable driver for PBIAS regulator"
1948ff7763dSJean-Jacques Hiblot	depends on DM_REGULATOR
1958ff7763dSJean-Jacques Hiblot	select REGMAP
1968ff7763dSJean-Jacques Hiblot	select SYSCON
1978ff7763dSJean-Jacques Hiblot	---help---
1988ff7763dSJean-Jacques Hiblot	This enables implementation of driver-model regulator uclass
1998ff7763dSJean-Jacques Hiblot	features for pseudo-regulator PBIAS found in the OMAP SOCs.
2008ff7763dSJean-Jacques Hiblot	This pseudo-regulator is used to provide a BIAS voltage to MMC1
2018ff7763dSJean-Jacques Hiblot	signal pads and must be configured properly during a voltage switch.
2028ff7763dSJean-Jacques Hiblot	Voltage switching is required by some operating modes of SDcards and
2038ff7763dSJean-Jacques Hiblot	eMMC.
2048ff7763dSJean-Jacques Hiblot
20599785de8SKeerthyconfig DM_REGULATOR_LP873X
20699785de8SKeerthy	bool "Enable driver for LP873X PMIC regulators"
20799785de8SKeerthy        depends on PMIC_LP873X
20899785de8SKeerthy	---help---
20999785de8SKeerthy	This enables implementation of driver-model regulator uclass
21099785de8SKeerthy	features for REGULATOR LP873X and the family of LP873X PMICs.
21199785de8SKeerthy	The driver implements get/set api for: value and enable.
2122dd9dc02SKeerthy
2132dd9dc02SKeerthyconfig DM_REGULATOR_LP87565
2142dd9dc02SKeerthy	bool "Enable driver for LP87565 PMIC regulators"
2152dd9dc02SKeerthy        depends on PMIC_LP87565
2162dd9dc02SKeerthy	---help---
2172dd9dc02SKeerthy	This enables implementation of driver-model regulator uclass
2182dd9dc02SKeerthy	features for REGULATOR LP87565 and the family of LP87565 PMICs.
2192dd9dc02SKeerthy	LP87565 series of PMICs have 4 single phase BUCKs that can also
2202dd9dc02SKeerthy	be configured in multi phase modes. The driver implements
2212dd9dc02SKeerthy	get/set api for value and enable.
222854dfbf9SFelix Brack
22393cf0ae7SFabrice Gasnierconfig DM_REGULATOR_STM32_VREFBUF
22493cf0ae7SFabrice Gasnier	bool "Enable driver for STMicroelectronics STM32 VREFBUF"
22593cf0ae7SFabrice Gasnier	depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
22693cf0ae7SFabrice Gasnier	help
22793cf0ae7SFabrice Gasnier	This driver supports STMicroelectronics STM32 VREFBUF (voltage
22893cf0ae7SFabrice Gasnier	reference buffer) which can be used as voltage reference for
22993cf0ae7SFabrice Gasnier	internal ADCs, DACs and also for external components through
23093cf0ae7SFabrice Gasnier	dedicated Vref+ pin.
23193cf0ae7SFabrice Gasnier
232854dfbf9SFelix Brackconfig DM_REGULATOR_TPS65910
233854dfbf9SFelix Brack	bool "Enable driver for TPS65910 PMIC regulators"
234854dfbf9SFelix Brack	depends on DM_PMIC_TPS65910
235854dfbf9SFelix Brack	---help---
236854dfbf9SFelix Brack	The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
237854dfbf9SFelix Brack	regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
238854dfbf9SFelix Brack	the get/set api for value and enable.
239069f0b63SChristophe Kerello
240069f0b63SChristophe Kerelloconfig DM_REGULATOR_STPMU1
241069f0b63SChristophe Kerello	bool "Enable driver for STPMU1 regulators"
242069f0b63SChristophe Kerello	depends on DM_REGULATOR && PMIC_STPMU1
243069f0b63SChristophe Kerello	---help---
244069f0b63SChristophe Kerello	Enable support for the regulator functions of the STPMU1 PMIC. The
245069f0b63SChristophe Kerello	driver implements get/set api for the various BUCKS and LDOs supported
246069f0b63SChristophe Kerello	by the PMIC device. This driver is controlled by a device tree node
247069f0b63SChristophe Kerello	which includes voltage limits.
248