u-boot/drivers/power/regulator/Kconfig
Felix Brack 854dfbf99b power: pmic/regulator: Add basic support for TPS65910
Texas Instrument's TPS65910 PMIC contains 3 buck DC-DC converts, one
boost DC-DC converter and 8 LDOs. This patch implements driver model
support for the TPS65910 PMIC and its regulators making the get/set
API for regulator value/enable available.
This patch depends on the patch "am33xx: Add a function to query MPU
voltage in uV" to build correctly. For boards relying on the DT
include file tps65910.dtsi the v3 patch "power: extend prefix match
to regulator-name property" and an appropriate regulator naming is
also required.

Signed-off-by: Felix Brack <fb@ltec.ch>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-12-12 19:53:45 -07:00

198 lines
7.6 KiB
Text

config DM_REGULATOR
bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)"
depends on DM
---help---
This config enables the driver model regulator support.
UCLASS_REGULATOR - designed to provide a common API for basic regulator's
functions, like get/set Voltage or Current value, enable state, etc...
Note:
When enabling this, please read the description, found in the files:
- 'include/power/pmic.h'
- 'include/power/regulator.h'
- 'drivers/power/pmic/pmic-uclass.c'
- 'drivers/power/pmic/regulator-uclass.c'
It's important to call the device_bind() with the proper node offset,
when binding the regulator devices. The pmic_bind_childs() can be used
for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
otherwise. Detailed information can be found in the header file.
config SPL_DM_REGULATOR
bool "Enable regulators for SPL"
depends on DM_REGULATOR
---help---
Regulators are seldom needed in SPL. Even if they are accessed, some
code space can be saved by accessing the PMIC registers directly.
Enable this option if you need regulators in SPL and can cope with
the extra code size.
config REGULATOR_ACT8846
bool "Enable driver for ACT8846 regulator"
depends on DM_REGULATOR && PMIC_ACT8846
---help---
Enable support for the regulator functions of the ACT8846 PMIC. The
driver implements get/set api for the various BUCKS and LDOS supported
by the PMIC device. This driver is controlled by a device tree node
which includes voltage limits.
config REGULATOR_AS3722
bool "Enable driver for AS7322 regulator"
depends on DM_REGULATOR && PMIC_AS3722
help
Enable support for the regulator functions of the AS3722. The
driver implements enable/disable for step-down bucks and LDOs,
but does not yet support change voltages. Currently this must be
done using direct register writes to the PMIC.
config DM_REGULATOR_PFUZE100
bool "Enable Driver Model for REGULATOR PFUZE100"
depends on DM_REGULATOR && DM_PMIC_PFUZE100
---help---
This config enables implementation of driver-model regulator uclass
features for REGULATOR PFUZE100. The driver implements get/set api for:
value, enable and mode.
config REGULATOR_PWM
bool "Enable driver for PWM regulators"
depends on DM_REGULATOR
---help---
Enable support for the PWM regulator functions which voltage are
controlled by PWM duty ratio. Some of Rockchip board using this kind
of regulator. The driver implements get/set api for the various BUCKS.
This driver is controlled by a device tree node
which includes voltage limits.
config DM_REGULATOR_MAX77686
bool "Enable Driver Model for REGULATOR MAX77686"
depends on DM_REGULATOR && DM_PMIC_MAX77686
---help---
This config enables implementation of driver-model regulator uclass
features for REGULATOR MAX77686. The driver implements get/set api for:
value, enable and mode.
config DM_REGULATOR_FIXED
bool "Enable Driver Model for REGULATOR Fixed value"
depends on DM_REGULATOR
---help---
This config enables implementation of driver-model regulator uclass
features for fixed value regulators. The driver implements get/set api
for enable and get only for voltage value.
config SPL_DM_REGULATOR_FIXED
bool "Enable Driver Model for REGULATOR Fixed value in SPL"
depends on DM_REGULATOR_FIXED
---help---
This config enables implementation of driver-model regulator uclass
features for fixed value regulators in SPL.
config DM_REGULATOR_GPIO
bool "Enable Driver Model for GPIO REGULATOR"
depends on DM_REGULATOR
---help---
This config enables implementation of driver-model regulator uclass
features for gpio regulators. The driver implements get/set for
voltage value.
config REGULATOR_RK8XX
bool "Enable driver for RK8XX regulators"
depends on DM_REGULATOR && PMIC_RK8XX
---help---
Enable support for the regulator functions of the RK8XX PMIC. The
driver implements get/set api for the various BUCKS and LDOs supported
by the PMIC device. This driver is controlled by a device tree node
which includes voltage limits.
config REGULATOR_S5M8767
bool "Enable support for S5M8767 regulator"
depends on DM_REGULATOR && PMIC_S5M8767
---help---
This enables the regulator features of the S5M8767, allowing voltages
to be set, etc. The driver is not fully complete but supports most
common requirements, including all LDOs and BUCKs. This allows many
supplies to be set automatically using the device tree values.
config DM_REGULATOR_SANDBOX
bool "Enable Driver Model for Sandbox PMIC regulator"
depends on DM_REGULATOR && DM_PMIC_SANDBOX
---help---
Enable the regulator driver for emulated Sandbox PMIC.
The emulated PMIC device depends on two drivers:
- sandbox PMIC I/O driver - implements dm pmic operations
- sandbox PMIC regulator driver - implements dm regulator operations
- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
The regulator driver provides uclass operations for sandbox PMIC's
regulators. The driver implements get/set api for: voltage, current,
operation mode and enable state.
The driver supports LDO and BUCK regulators.
The Sandbox PMIC info:
* I/O interface:
- I2C chip address: 0x40
- first register address: 0x0
- register count: 0x10
* Adjustable outputs:
- 2x LDO
- 2x BUCK
- Each, with a different operating conditions (header).
* Reset values:
- set by i2c emul driver's probe() (defaults in header)
A detailed information can be found in header: '<power/sandbox_pmic.h>'
Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
config REGULATOR_TPS65090
bool "Enable driver for TPS65090 PMIC regulators"
depends on PMIC_TPS65090
---help---
The TPS65090 provides several FETs (Field-effect Transistors,
effectively switches) which are supported by this driver as
regulators, one for each FET. The standard regulator interface is
supported, but it is only possible to turn the regulators on or off.
There is no voltage/current control.
config DM_REGULATOR_PALMAS
bool "Enable driver for PALMAS PMIC regulators"
depends on PMIC_PALMAS
---help---
This enables implementation of driver-model regulator uclass
features for REGULATOR PALMAS and the family of PALMAS PMICs.
The driver implements get/set api for: value and enable.
config DM_REGULATOR_PBIAS
bool "Enable driver for PBIAS regulator"
depends on DM_REGULATOR
select REGMAP
select SYSCON
---help---
This enables implementation of driver-model regulator uclass
features for pseudo-regulator PBIAS found in the OMAP SOCs.
This pseudo-regulator is used to provide a BIAS voltage to MMC1
signal pads and must be configured properly during a voltage switch.
Voltage switching is required by some operating modes of SDcards and
eMMC.
config DM_REGULATOR_LP873X
bool "Enable driver for LP873X PMIC regulators"
depends on PMIC_LP873X
---help---
This enables implementation of driver-model regulator uclass
features for REGULATOR LP873X and the family of LP873X PMICs.
The driver implements get/set api for: value and enable.
config DM_REGULATOR_LP87565
bool "Enable driver for LP87565 PMIC regulators"
depends on PMIC_LP87565
---help---
This enables implementation of driver-model regulator uclass
features for REGULATOR LP87565 and the family of LP87565 PMICs.
LP87565 series of PMICs have 4 single phase BUCKs that can also
be configured in multi phase modes. The driver implements
get/set api for value and enable.
config DM_REGULATOR_TPS65910
bool "Enable driver for TPS65910 PMIC regulators"
depends on DM_PMIC_TPS65910
---help---
The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all
regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements
the get/set api for value and enable.