xref: /openbmc/u-boot/drivers/power/regulator/Kconfig (revision 7436f5e54d35bcad53befec90e2e67288071f74e)
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
64*ddc824f8SChristoph Muellnerconfig SPL_REGULATOR_PWM
65*ddc824f8SChristoph Muellner	bool "Enable Driver for PWM regulators in SPL"
66*ddc824f8SChristoph Muellner	depends on REGULATOR_PWM
67*ddc824f8SChristoph Muellner	help
68*ddc824f8SChristoph Muellner	  This config enables implementation of driver-model regulator uclass
69*ddc824f8SChristoph Muellner	  features for PWM regulators in SPL.
70*ddc824f8SChristoph Muellner
711757df46SPrzemyslaw Marczakconfig DM_REGULATOR_MAX77686
721757df46SPrzemyslaw Marczak	bool "Enable Driver Model for REGULATOR MAX77686"
731757df46SPrzemyslaw Marczak	depends on DM_REGULATOR && DM_PMIC_MAX77686
741757df46SPrzemyslaw Marczak	---help---
751757df46SPrzemyslaw Marczak	This config enables implementation of driver-model regulator uclass
761757df46SPrzemyslaw Marczak	features for REGULATOR MAX77686. The driver implements get/set api for:
771757df46SPrzemyslaw Marczak	value, enable and mode.
789923a8b4SPrzemyslaw Marczak
79dfb0a70aSPhilipp Tomsichconfig DM_REGULATOR_FAN53555
80dfb0a70aSPhilipp Tomsich	bool "Enable Driver Model for REGULATOR FAN53555"
81dfb0a70aSPhilipp Tomsich	depends on DM_PMIC_FAN53555
82dfb0a70aSPhilipp Tomsich	help
83dfb0a70aSPhilipp Tomsich	  This config enables implementation of driver-model regulator
84dfb0a70aSPhilipp Tomsich	  uclass features for the FAN53555 regulator. The FAN53555 is
85dfb0a70aSPhilipp Tomsich	  a (family of) single-output regulators that supports
86dfb0a70aSPhilipp Tomsich	  transitioning between two different output voltages based on
87dfb0a70aSPhilipp Tomsich	  an voltage selection pin.
88dfb0a70aSPhilipp Tomsich
89dfb0a70aSPhilipp Tomsich	  The driver implements a get/set api for the voltage of the
90dfb0a70aSPhilipp Tomsich	  'normal mode' voltage only. Switching to 'suspend mode'
91dfb0a70aSPhilipp Tomsich	  (i.e. the alternate voltage), disabling output via software,
92dfb0a70aSPhilipp Tomsich	  or switching the mode is not supported by this driver (at
93dfb0a70aSPhilipp Tomsich	  this time).
94dfb0a70aSPhilipp Tomsich
959923a8b4SPrzemyslaw Marczakconfig DM_REGULATOR_FIXED
969923a8b4SPrzemyslaw Marczak	bool "Enable Driver Model for REGULATOR Fixed value"
979923a8b4SPrzemyslaw Marczak	depends on DM_REGULATOR
989923a8b4SPrzemyslaw Marczak	---help---
999923a8b4SPrzemyslaw Marczak	This config enables implementation of driver-model regulator uclass
1009923a8b4SPrzemyslaw Marczak	features for fixed value regulators. The driver implements get/set api
1019923a8b4SPrzemyslaw Marczak	for enable and get only for voltage value.
1025d387d0dSPrzemyslaw Marczak
1039086eab8SPhilipp Tomsichconfig SPL_DM_REGULATOR_FIXED
1049086eab8SPhilipp Tomsich	bool "Enable Driver Model for REGULATOR Fixed value in SPL"
1059086eab8SPhilipp Tomsich	depends on DM_REGULATOR_FIXED
1069086eab8SPhilipp Tomsich	---help---
1079086eab8SPhilipp Tomsich	This config enables implementation of driver-model regulator uclass
1089086eab8SPhilipp Tomsich	features for fixed value regulators in SPL.
1099086eab8SPhilipp Tomsich
110477dfe2fSKeerthyconfig DM_REGULATOR_GPIO
111477dfe2fSKeerthy	bool "Enable Driver Model for GPIO REGULATOR"
11226da01f7SLokesh Vutla	depends on DM_REGULATOR && DM_GPIO
113477dfe2fSKeerthy	---help---
114477dfe2fSKeerthy	This config enables implementation of driver-model regulator uclass
115477dfe2fSKeerthy	features for gpio regulators. The driver implements get/set for
116477dfe2fSKeerthy	voltage value.
117477dfe2fSKeerthy
11826da01f7SLokesh Vutlaconfig SPL_DM_REGULATOR_GPIO
11926da01f7SLokesh Vutla	bool "Enable Driver Model for GPIO REGULATOR in SPL"
12026da01f7SLokesh Vutla	depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT
12126da01f7SLokesh Vutla	---help---
12226da01f7SLokesh Vutla	This config enables implementation of driver-model regulator uclass
12326da01f7SLokesh Vutla	features for gpio regulators in SPL.
12426da01f7SLokesh Vutla
125453c5a92SJacob Chenconfig REGULATOR_RK8XX
126453c5a92SJacob Chen	bool "Enable driver for RK8XX regulators"
127453c5a92SJacob Chen	depends on DM_REGULATOR && PMIC_RK8XX
128e1227764SSimon Glass	---help---
129453c5a92SJacob Chen	Enable support for the regulator functions of the RK8XX PMIC. The
130e1227764SSimon Glass	driver implements get/set api for the various BUCKS and LDOs supported
131e1227764SSimon Glass	by the PMIC device. This driver is controlled by a device tree node
132e1227764SSimon Glass	which includes voltage limits.
133e1227764SSimon Glass
13460599ea6SJaehoon Chungconfig DM_REGULATOR_S2MPS11
13560599ea6SJaehoon Chung	bool "Enable driver for S2MPS11 regulator"
13660599ea6SJaehoon Chung	depends on DM_REGULATOR && PMIC_S2MPS11
13760599ea6SJaehoon Chung	---help---
13860599ea6SJaehoon Chung	This enables implementation of driver-model regulator uclass
13960599ea6SJaehoon Chung	features for REGULATOR S2MPS11.
14060599ea6SJaehoon Chung	The driver implements get/set api for: value and enable.
14160599ea6SJaehoon Chung
142f615e6a6SSimon Glassconfig REGULATOR_S5M8767
143f615e6a6SSimon Glass	bool "Enable support for S5M8767 regulator"
144f615e6a6SSimon Glass	depends on DM_REGULATOR && PMIC_S5M8767
145f615e6a6SSimon Glass	---help---
146f615e6a6SSimon Glass	This enables the regulator features of the S5M8767, allowing voltages
147f615e6a6SSimon Glass	to be set, etc. The driver is not fully complete but supports most
148f615e6a6SSimon Glass	common requirements, including all LDOs and BUCKs. This allows many
149f615e6a6SSimon Glass	supplies to be set automatically using the device tree values.
150f615e6a6SSimon Glass
1515d387d0dSPrzemyslaw Marczakconfig DM_REGULATOR_SANDBOX
1525d387d0dSPrzemyslaw Marczak	bool "Enable Driver Model for Sandbox PMIC regulator"
1535d387d0dSPrzemyslaw Marczak	depends on DM_REGULATOR && DM_PMIC_SANDBOX
1545d387d0dSPrzemyslaw Marczak	---help---
1555d387d0dSPrzemyslaw Marczak	Enable the regulator driver for emulated Sandbox PMIC.
1565d387d0dSPrzemyslaw Marczak	The emulated PMIC device depends on two drivers:
1575d387d0dSPrzemyslaw Marczak	- sandbox PMIC I/O driver - implements dm pmic operations
1585d387d0dSPrzemyslaw Marczak	- sandbox PMIC regulator driver - implements dm regulator operations
1595d387d0dSPrzemyslaw Marczak	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
1605d387d0dSPrzemyslaw Marczak
1615d387d0dSPrzemyslaw Marczak	The regulator driver provides uclass operations for sandbox PMIC's
1625d387d0dSPrzemyslaw Marczak	regulators. The driver implements get/set api for: voltage, current,
1635d387d0dSPrzemyslaw Marczak	operation mode and enable state.
1645d387d0dSPrzemyslaw Marczak	The driver supports LDO and BUCK regulators.
1655d387d0dSPrzemyslaw Marczak
1665d387d0dSPrzemyslaw Marczak	The Sandbox PMIC info:
1675d387d0dSPrzemyslaw Marczak	* I/O interface:
1685d387d0dSPrzemyslaw Marczak	  - I2C chip address:       0x40
1695d387d0dSPrzemyslaw Marczak	  - first register address: 0x0
1705d387d0dSPrzemyslaw Marczak	  - register count:         0x10
1715d387d0dSPrzemyslaw Marczak	* Adjustable outputs:
1725d387d0dSPrzemyslaw Marczak	  - 2x LDO
1735d387d0dSPrzemyslaw Marczak	  - 2x BUCK
1745d387d0dSPrzemyslaw Marczak	  - Each, with a different operating conditions (header).
1755d387d0dSPrzemyslaw Marczak	* Reset values:
1765d387d0dSPrzemyslaw Marczak	  - set by i2c emul driver's probe() (defaults in header)
1775d387d0dSPrzemyslaw Marczak
1785d387d0dSPrzemyslaw Marczak	A detailed information can be found in header: '<power/sandbox_pmic.h>'
1795d387d0dSPrzemyslaw Marczak	Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
1801c88b67eSSimon Glass
1811c88b67eSSimon Glassconfig REGULATOR_TPS65090
1821c88b67eSSimon Glass	bool "Enable driver for TPS65090 PMIC regulators"
1831c88b67eSSimon Glass	depends on PMIC_TPS65090
1841c88b67eSSimon Glass	---help---
1851c88b67eSSimon Glass	The TPS65090 provides several FETs (Field-effect Transistors,
1861c88b67eSSimon Glass	effectively switches) which are supported by this driver as
1871c88b67eSSimon Glass	regulators, one for each FET. The standard regulator interface is
1881c88b67eSSimon Glass	supported, but it is only possible to turn the regulators on or off.
1891c88b67eSSimon Glass	There is no voltage/current control.
190884d88bcSKeerthy
191884d88bcSKeerthyconfig DM_REGULATOR_PALMAS
192884d88bcSKeerthy	bool "Enable driver for PALMAS PMIC regulators"
193884d88bcSKeerthy       depends on PMIC_PALMAS
194884d88bcSKeerthy	---help---
195884d88bcSKeerthy	This enables implementation of driver-model regulator uclass
196884d88bcSKeerthy	features for REGULATOR PALMAS and the family of PALMAS PMICs.
197884d88bcSKeerthy	The driver implements get/set api for: value and enable.
19899785de8SKeerthy
1998ff7763dSJean-Jacques Hiblotconfig DM_REGULATOR_PBIAS
2008ff7763dSJean-Jacques Hiblot	bool "Enable driver for PBIAS regulator"
2018ff7763dSJean-Jacques Hiblot	depends on DM_REGULATOR
2028ff7763dSJean-Jacques Hiblot	select REGMAP
2038ff7763dSJean-Jacques Hiblot	select SYSCON
2048ff7763dSJean-Jacques Hiblot	---help---
2058ff7763dSJean-Jacques Hiblot	This enables implementation of driver-model regulator uclass
2068ff7763dSJean-Jacques Hiblot	features for pseudo-regulator PBIAS found in the OMAP SOCs.
2078ff7763dSJean-Jacques Hiblot	This pseudo-regulator is used to provide a BIAS voltage to MMC1
2088ff7763dSJean-Jacques Hiblot	signal pads and must be configured properly during a voltage switch.
2098ff7763dSJean-Jacques Hiblot	Voltage switching is required by some operating modes of SDcards and
2108ff7763dSJean-Jacques Hiblot	eMMC.
2118ff7763dSJean-Jacques Hiblot
21299785de8SKeerthyconfig DM_REGULATOR_LP873X
21399785de8SKeerthy	bool "Enable driver for LP873X PMIC regulators"
21499785de8SKeerthy        depends on PMIC_LP873X
21599785de8SKeerthy	---help---
21699785de8SKeerthy	This enables implementation of driver-model regulator uclass
21799785de8SKeerthy	features for REGULATOR LP873X and the family of LP873X PMICs.
21899785de8SKeerthy	The driver implements get/set api for: value and enable.
2192dd9dc02SKeerthy
2202dd9dc02SKeerthyconfig DM_REGULATOR_LP87565
2212dd9dc02SKeerthy	bool "Enable driver for LP87565 PMIC regulators"
2222dd9dc02SKeerthy        depends on PMIC_LP87565
2232dd9dc02SKeerthy	---help---
2242dd9dc02SKeerthy	This enables implementation of driver-model regulator uclass
2252dd9dc02SKeerthy	features for REGULATOR LP87565 and the family of LP87565 PMICs.
2262dd9dc02SKeerthy	LP87565 series of PMICs have 4 single phase BUCKs that can also
2272dd9dc02SKeerthy	be configured in multi phase modes. The driver implements
2282dd9dc02SKeerthy	get/set api for value and enable.
229854dfbf9SFelix Brack
23093cf0ae7SFabrice Gasnierconfig DM_REGULATOR_STM32_VREFBUF
23193cf0ae7SFabrice Gasnier	bool "Enable driver for STMicroelectronics STM32 VREFBUF"
23293cf0ae7SFabrice Gasnier	depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP)
23393cf0ae7SFabrice Gasnier	help
23493cf0ae7SFabrice Gasnier	This driver supports STMicroelectronics STM32 VREFBUF (voltage
23593cf0ae7SFabrice Gasnier	reference buffer) which can be used as voltage reference for
23693cf0ae7SFabrice Gasnier	internal ADCs, DACs and also for external components through
23793cf0ae7SFabrice Gasnier	dedicated Vref+ pin.
23893cf0ae7SFabrice Gasnier
239854dfbf9SFelix Brackconfig DM_REGULATOR_TPS65910
240854dfbf9SFelix Brack	bool "Enable driver for TPS65910 PMIC regulators"
241854dfbf9SFelix Brack	depends on DM_PMIC_TPS65910
242854dfbf9SFelix Brack	---help---
243854dfbf9SFelix Brack	The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
244854dfbf9SFelix Brack	regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
245854dfbf9SFelix Brack	the get/set api for value and enable.
246069f0b63SChristophe Kerello
247069f0b63SChristophe Kerelloconfig DM_REGULATOR_STPMU1
248069f0b63SChristophe Kerello	bool "Enable driver for STPMU1 regulators"
249069f0b63SChristophe Kerello	depends on DM_REGULATOR && PMIC_STPMU1
250069f0b63SChristophe Kerello	---help---
251069f0b63SChristophe Kerello	Enable support for the regulator functions of the STPMU1 PMIC. The
252069f0b63SChristophe Kerello	driver implements get/set api for the various BUCKS and LDOs supported
253069f0b63SChristophe Kerello	by the PMIC device. This driver is controlled by a device tree node
254069f0b63SChristophe Kerello	which includes voltage limits.
255