For some boards the pmic interface is useful but the regulator interface (which comes with it) is too large. Allow them to be separated such that SPL can decide which it needs. Signed-off-by: Simon Glass <sjg@chromium.org>
118 lines
4.6 KiB
Text
118 lines
4.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_node()
|
|
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 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 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 REGULATOR_RK808
|
|
bool "Enable driver for RK808 regulators"
|
|
depends on DM_REGULATOR && PMIC_RK808
|
|
---help---
|
|
Enable support for the regulator functions of the RK808 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.
|