u-boot/drivers/power/pmic/Kconfig
Samuel Holland 7f51b554be power: pmic: Consistently depend on DM_PMIC
Kconfig symbols for two PMIC drivers (PMIC_AS3722 and DM_PMIC_MC34708)
were missing a dependency on DM_PMIC. To fix this inconsistency, and to
keep it from happening again, wrap the driver section with "if DM_PMIC"
instead of using a "depends on DM_PMIC" clause for each driver.

Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-10-12 09:35:41 +01:00

338 lines
12 KiB
Text

config DM_PMIC
bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC)"
depends on DM
---help---
This config enables the driver-model PMIC support.
UCLASS_PMIC - designed to provide an I/O interface for PMIC devices.
For the multi-function PMIC devices, this can be used as parent I/O
device for each IC's interface. Then, each children uses its parent
for read/write. For detailed description, please refer to the files:
- 'drivers/power/pmic/pmic-uclass.c'
- 'include/power/pmic.h'
if DM_PMIC
config SPL_DM_PMIC
bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC) in SPL"
depends on SPL_DM
default y
---help---
This config enables the driver-model PMIC support in SPL.
UCLASS_PMIC - designed to provide an I/O interface for PMIC devices.
For the multi-function PMIC devices, this can be used as parent I/O
device for each IC's interface. Then, each children uses its parent
for read/write. For detailed description, please refer to the files:
- 'drivers/power/pmic/pmic-uclass.c'
- 'include/power/pmic.h'
config PMIC_CHILDREN
bool "Allow child devices for PMICs"
default y
---help---
This allows PMICs to support child devices (such as regulators) in
SPL. This adds quite a bit of code so if you are not using this
feature you can turn it off. Most likely you should turn it on for
U-Boot proper.
config SPL_PMIC_CHILDREN
bool "Allow child devices for PMICs in SPL"
default y
---help---
This allows PMICs to support child devices (such as regulators) in
SPL. This adds quite a bit of code so if you are not using this
feature you can turn it off. In this case you may need a 'back door'
to call your regulator code (e.g. see rk8xx.c for direct functions
for use in SPL).
config PMIC_AB8500
bool "Enable driver for ST-Ericsson AB8500 PMIC via PRCMU"
select REGMAP
select SYSCON
help
Enable support for the ST-Ericsson AB8500 (Analog Baseband) PMIC.
It connects with the ST-Ericsson DB8500 SoC via an I2C bus managed by
the power/reset/clock management unit (PRCMU) firmware.
config PMIC_ACT8846
bool "Enable support for the active-semi 8846 PMIC"
depends on DM_I2C
---help---
This PMIC includes 4 DC/DC step-down buck regulators and 8 low-dropout
regulators (LDOs). It also provides some GPIO, reset and battery
functions. It uses an I2C interface and is designed for use with
tablets and smartphones.
config DM_PMIC_DA9063
bool "Enable Driver Model for the Dialog DA9063 PMIC"
help
This config enables implementation of driver-model pmic uclass features
for PMIC DA9063. The driver implements read/write operations.
config SPL_DM_PMIC_DA9063
bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL"
depends on SPL
help
This config enables implementation of driver-model pmic uclass features
for PMIC DA9063. The driver implements read/write operations.
config PMIC_AS3722
bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
help
The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
real-time clock, GPIOs, ADC and a few other features. It uses an I2C
interface and is designs to cover most of the power managementment
required for a tablets or laptop.
config DM_PMIC_BD71837
bool "Enable Driver Model for PMIC BD71837"
help
This config enables implementation of driver-model pmic uclass features
for PMIC BD71837. The driver implements read/write operations.
config SPL_DM_PMIC_BD71837
bool "Enable Driver Model for PMIC BD71837 in SPL stage"
help
This config enables implementation of driver-model pmic uclass
features for PMIC BD71837. The driver implements read/write
operations.
config DM_PMIC_FAN53555
bool "Enable support for OnSemi FAN53555"
depends on DM_REGULATOR && DM_I2C
select DM_REGULATOR_FAN53555
help
This config enables implementation of driver-model PMIC
uclass features for the FAN53555 regulator. The FAN53555 is
a (family of) single-output regulators that supports
transitioning between two different output voltages based on
an voltage selection pin.
The driver implements read/write operations for use with the FAN53555
regulator driver and binds the regulator driver to its node.
config DM_PMIC_MP5416
bool "Enable Driver Model for PMIC MP5416"
help
This config enables implementation of driver-model pmic uclass features
for PMIC MP5416. The driver implements read/write operations.
config SPL_DM_PMIC_MP5416
bool "Enable Driver Model for PMIC MP5416 in SPL stage"
help
This config enables implementation of driver-model pmic uclass
features for PMIC MP5416. The driver implements read/write
operations.
config DM_PMIC_PCA9450
bool "Enable Driver Model for PMIC PCA9450"
help
This config enables implementation of driver-model pmic uclass features
for PMIC PCA9450. The driver implements read/write operations.
config SPL_DM_PMIC_PCA9450
bool "Enable Driver Model for PMIC PCA9450"
help
This config enables implementation of driver-model pmic uclass features
for PMIC PCA9450 in SPL. The driver implements read/write operations.
config DM_PMIC_PFUZE100
bool "Enable Driver Model for PMIC PFUZE100"
---help---
This config enables implementation of driver-model pmic uclass features
for PMIC PFUZE100. The driver implements read/write operations.
config SPL_DM_PMIC_PFUZE100
bool "Enable Driver Model for PMIC PFUZE100 in SPL"
---help---
This config enables implementation of driver-model pmic uclass features
for PMIC PFUZE100 in SPL. The driver implements read/write operations.
config DM_PMIC_MAX77686
bool "Enable Driver Model for PMIC MAX77686"
---help---
This config enables implementation of driver-model pmic uclass features
for PMIC MAX77686. The driver implements read/write operations.
config DM_PMIC_MAX8998
bool "Enable Driver Model for PMIC MAX8998"
---help---
This config enables implementation of driver-model pmic uclass features
for PMIC MAX8998. The driver implements read/write operations.
config DM_PMIC_MC34708
bool "Enable Driver Model for PMIC MC34708"
help
This config enables implementation of driver-model pmic uclass features
for PMIC MC34708. The driver implements read/write operations.
config PMIC_MAX8997
bool "Enable Driver Model for PMIC MAX8997"
---help---
This config enables implementation of driver-model pmic uclass features
for PMIC MAX8997. The driver implements read/write operations.
This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
- 21x LDOs
- 12x GPIOs
- Haptic Motor driver
- RTC with two alarms
- Fueal Gauge and One backup battery charger
- MUIC
- Others
config PMIC_PM8916
bool "Enable Driver Model for Qualcomm PM8916 PMIC"
---help---
The PM8916 is a PMIC connected to one (or several) processors
with SPMI bus. It has 2 slaves with several peripherals:
- 18x LDO
- 4x GPIO
- Power and Reset buttons
- Watchdog
- RTC
- Vibrator drivers
- Others
Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
config PMIC_RK8XX
bool "Enable support for Rockchip PMIC RK8XX"
---help---
The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
an RTC and two low Rds (resistance (drain to source)) switches. It is
accessed via an I2C interface. The device is used with Rockchip SoCs.
This driver implements register read/write operations.
config SPL_PMIC_RK8XX
bool "Enable support for Rockchip PMIC RK8XX"
---help---
The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
an RTC and two low Rds (resistance (drain to source)) switches. It is
accessed via an I2C interface. The device is used with Rockchip SoCs.
This driver implements register read/write operations.
config PMIC_S2MPS11
bool "Enable Driver Model for PMIC Samsung S2MPS11"
---help---
The Samsung S2MPS11 PMIC provides:
- 38 adjustable LDO regulators
- 9 High-Efficiency Buck Converters
- 1 BuckBoost Converter
- RTC with two alarms
- Backup battery charger
- I2C Configuration Interface
This driver provides access to I/O interface only.
Binding info: doc/device-tree-bindings/pmic/s2mps11.txt
config DM_PMIC_SANDBOX
bool "Enable Driver Model for emulated Sandbox PMIC"
---help---
Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
depends on two drivers:
- sandbox PMIC I/O driver - implements dm pmic operations
- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
A detailed information can be found in header: '<power/sandbox_pmic.h>'
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)
Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt
config PMIC_S5M8767
bool "Enable Driver Model for the Samsung S5M8767 PMIC"
---help---
The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
as a SoC power controller. It also provides 32KHz clock outputs. This
driver provides basic register access and sets up the attached
regulators if regulator support is enabled.
config PMIC_RN5T567
bool "Enable driver for Ricoh RN5T567 PMIC"
---help---
The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
regulators Real-Time Clock and 4 GPIOs. This driver provides
register access only.
config PMIC_TPS65090
bool "Enable driver for Texas Instruments TPS65090 PMIC"
---help---
The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
FETs and a battery charger. This driver provides register access
only, and you can enable the regulator/charger drivers separately if
required.
config PMIC_PALMAS
bool "Enable driver for Texas Instruments PALMAS PMIC"
---help---
The PALMAS is a PMIC containing several LDOs, SMPS.
This driver binds the pmic children.
config PMIC_LP873X
bool "Enable driver for Texas Instruments LP873X PMIC"
---help---
The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
This driver binds the pmic children.
config PMIC_LP87565
bool "Enable driver for Texas Instruments LP87565 PMIC"
---help---
The LP87565 is a PMIC containing a bunch of SMPS.
This driver binds the pmic children.
config POWER_MC34VR500
bool "Enable driver for Freescale MC34VR500 PMIC"
---help---
The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
via an I2C interface.
config DM_PMIC_TPS65910
bool "Enable driver for Texas Instruments TPS65910 PMIC"
---help---
The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
pmic children.
config PMIC_STPMIC1
bool "Enable support for STMicroelectronics STPMIC1 PMIC"
depends on DM_I2C
select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
---help---
The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
It is accessed via an I2C interface. The device is used with STM32MP1
SoCs. This driver implements register read/write operations.
config SPL_PMIC_PALMAS
bool "Enable driver for Texas Instruments PALMAS PMIC"
help
The PALMAS is a PMIC containing several LDOs, SMPS.
This driver binds the pmic children in SPL.
config SPL_PMIC_LP873X
bool "Enable driver for Texas Instruments LP873X PMIC"
help
The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
This driver binds the pmic children in SPL.
config SPL_PMIC_LP87565
bool "Enable driver for Texas Instruments LP87565 PMIC"
help
The LP87565 is a PMIC containing a bunch of SMPS.
This driver binds the pmic children in SPL.
config PMIC_TPS65941
bool "Enable driver for Texas Instruments TPS65941 PMIC"
help
The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
This driver binds the pmic children.
endif