xref: /openbmc/u-boot/drivers/power/regulator/Kconfig (revision 477dfe2ffc45720462ff0baca82076d704b785df)
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
378fa46350SPeng Fanconfig DM_REGULATOR_PFUZE100
388fa46350SPeng Fan	bool "Enable Driver Model for REGULATOR PFUZE100"
398fa46350SPeng Fan	depends on DM_REGULATOR && DM_PMIC_PFUZE100
408fa46350SPeng Fan	---help---
418fa46350SPeng Fan	This config enables implementation of driver-model regulator uclass
428fa46350SPeng Fan	features for REGULATOR PFUZE100. The driver implements get/set api for:
438fa46350SPeng Fan	value, enable and mode.
448fa46350SPeng Fan
451a016956SKever Yangconfig REGULATOR_PWM
461a016956SKever Yang	bool "Enable driver for PWM regulators"
471a016956SKever Yang	depends on DM_REGULATOR
481a016956SKever Yang	---help---
491a016956SKever Yang	Enable support for the PWM regulator functions which voltage are
501a016956SKever Yang	controlled by PWM duty ratio. Some of Rockchip board using this kind
511a016956SKever Yang	of regulator. The driver implements get/set api for the various BUCKS.
521a016956SKever Yang	This driver is controlled by a device tree node
531a016956SKever Yang	which includes voltage limits.
541a016956SKever Yang
551757df46SPrzemyslaw Marczakconfig DM_REGULATOR_MAX77686
561757df46SPrzemyslaw Marczak	bool "Enable Driver Model for REGULATOR MAX77686"
571757df46SPrzemyslaw Marczak	depends on DM_REGULATOR && DM_PMIC_MAX77686
581757df46SPrzemyslaw Marczak	---help---
591757df46SPrzemyslaw Marczak	This config enables implementation of driver-model regulator uclass
601757df46SPrzemyslaw Marczak	features for REGULATOR MAX77686. The driver implements get/set api for:
611757df46SPrzemyslaw Marczak	value, enable and mode.
629923a8b4SPrzemyslaw Marczak
639923a8b4SPrzemyslaw Marczakconfig DM_REGULATOR_FIXED
649923a8b4SPrzemyslaw Marczak	bool "Enable Driver Model for REGULATOR Fixed value"
659923a8b4SPrzemyslaw Marczak	depends on DM_REGULATOR
669923a8b4SPrzemyslaw Marczak	---help---
679923a8b4SPrzemyslaw Marczak	This config enables implementation of driver-model regulator uclass
689923a8b4SPrzemyslaw Marczak	features for fixed value regulators. The driver implements get/set api
699923a8b4SPrzemyslaw Marczak	for enable and get only for voltage value.
705d387d0dSPrzemyslaw Marczak
71*477dfe2fSKeerthyconfig DM_REGULATOR_GPIO
72*477dfe2fSKeerthy	bool "Enable Driver Model for GPIO REGULATOR"
73*477dfe2fSKeerthy	depends on DM_REGULATOR
74*477dfe2fSKeerthy	---help---
75*477dfe2fSKeerthy	This config enables implementation of driver-model regulator uclass
76*477dfe2fSKeerthy	features for gpio regulators. The driver implements get/set for
77*477dfe2fSKeerthy	voltage value.
78*477dfe2fSKeerthy
79e1227764SSimon Glassconfig REGULATOR_RK808
80e1227764SSimon Glass	bool "Enable driver for RK808 regulators"
81e1227764SSimon Glass	depends on DM_REGULATOR && PMIC_RK808
82e1227764SSimon Glass	---help---
83e1227764SSimon Glass	Enable support for the regulator functions of the RK808 PMIC. The
84e1227764SSimon Glass	driver implements get/set api for the various BUCKS and LDOs supported
85e1227764SSimon Glass	by the PMIC device. This driver is controlled by a device tree node
86e1227764SSimon Glass	which includes voltage limits.
87e1227764SSimon Glass
88f615e6a6SSimon Glassconfig REGULATOR_S5M8767
89f615e6a6SSimon Glass	bool "Enable support for S5M8767 regulator"
90f615e6a6SSimon Glass	depends on DM_REGULATOR && PMIC_S5M8767
91f615e6a6SSimon Glass	---help---
92f615e6a6SSimon Glass	This enables the regulator features of the S5M8767, allowing voltages
93f615e6a6SSimon Glass	to be set, etc. The driver is not fully complete but supports most
94f615e6a6SSimon Glass	common requirements, including all LDOs and BUCKs. This allows many
95f615e6a6SSimon Glass	supplies to be set automatically using the device tree values.
96f615e6a6SSimon Glass
975d387d0dSPrzemyslaw Marczakconfig DM_REGULATOR_SANDBOX
985d387d0dSPrzemyslaw Marczak	bool "Enable Driver Model for Sandbox PMIC regulator"
995d387d0dSPrzemyslaw Marczak	depends on DM_REGULATOR && DM_PMIC_SANDBOX
1005d387d0dSPrzemyslaw Marczak	---help---
1015d387d0dSPrzemyslaw Marczak	Enable the regulator driver for emulated Sandbox PMIC.
1025d387d0dSPrzemyslaw Marczak	The emulated PMIC device depends on two drivers:
1035d387d0dSPrzemyslaw Marczak	- sandbox PMIC I/O driver - implements dm pmic operations
1045d387d0dSPrzemyslaw Marczak	- sandbox PMIC regulator driver - implements dm regulator operations
1055d387d0dSPrzemyslaw Marczak	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
1065d387d0dSPrzemyslaw Marczak
1075d387d0dSPrzemyslaw Marczak	The regulator driver provides uclass operations for sandbox PMIC's
1085d387d0dSPrzemyslaw Marczak	regulators. The driver implements get/set api for: voltage, current,
1095d387d0dSPrzemyslaw Marczak	operation mode and enable state.
1105d387d0dSPrzemyslaw Marczak	The driver supports LDO and BUCK regulators.
1115d387d0dSPrzemyslaw Marczak
1125d387d0dSPrzemyslaw Marczak	The Sandbox PMIC info:
1135d387d0dSPrzemyslaw Marczak	* I/O interface:
1145d387d0dSPrzemyslaw Marczak	  - I2C chip address:       0x40
1155d387d0dSPrzemyslaw Marczak	  - first register address: 0x0
1165d387d0dSPrzemyslaw Marczak	  - register count:         0x10
1175d387d0dSPrzemyslaw Marczak	* Adjustable outputs:
1185d387d0dSPrzemyslaw Marczak	  - 2x LDO
1195d387d0dSPrzemyslaw Marczak	  - 2x BUCK
1205d387d0dSPrzemyslaw Marczak	  - Each, with a different operating conditions (header).
1215d387d0dSPrzemyslaw Marczak	* Reset values:
1225d387d0dSPrzemyslaw Marczak	  - set by i2c emul driver's probe() (defaults in header)
1235d387d0dSPrzemyslaw Marczak
1245d387d0dSPrzemyslaw Marczak	A detailed information can be found in header: '<power/sandbox_pmic.h>'
1255d387d0dSPrzemyslaw Marczak	Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
1261c88b67eSSimon Glass
1271c88b67eSSimon Glassconfig REGULATOR_TPS65090
1281c88b67eSSimon Glass	bool "Enable driver for TPS65090 PMIC regulators"
1291c88b67eSSimon Glass	depends on PMIC_TPS65090
1301c88b67eSSimon Glass	---help---
1311c88b67eSSimon Glass	The TPS65090 provides several FETs (Field-effect Transistors,
1321c88b67eSSimon Glass	effectively switches) which are supported by this driver as
1331c88b67eSSimon Glass	regulators, one for each FET. The standard regulator interface is
1341c88b67eSSimon Glass	supported, but it is only possible to turn the regulators on or off.
1351c88b67eSSimon Glass	There is no voltage/current control.
136