Convert CONFIG_POWER_LTC3676 et al to Kconfig
[platform/kernel/u-boot.git] / drivers / power / pmic / Kconfig
index 586772f..d94048d 100644 (file)
@@ -10,9 +10,23 @@ config DM_PMIC
        - 'drivers/power/pmic/pmic-uclass.c'
        - 'include/power/pmic.h'
 
        - '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"
 config PMIC_CHILDREN
        bool "Allow child devices for PMICs"
-       depends on DM_PMIC
        default y
        ---help---
        This allows PMICs to support child devices (such as regulators) in
        default y
        ---help---
        This allows PMICs to support child devices (such as regulators) in
@@ -22,7 +36,7 @@ config PMIC_CHILDREN
 
 config SPL_PMIC_CHILDREN
        bool "Allow child devices for PMICs in SPL"
 
 config SPL_PMIC_CHILDREN
        bool "Allow child devices for PMICs in SPL"
-       depends on DM_PMIC
+       depends on SPL_DM_PMIC
        default y
        ---help---
        This allows PMICs to support child devices (such as regulators) in
        default y
        ---help---
        This allows PMICs to support child devices (such as regulators) in
@@ -31,15 +45,53 @@ config SPL_PMIC_CHILDREN
        to call your regulator code (e.g. see rk8xx.c for direct functions
        for use in SPL).
 
        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"
 config PMIC_ACT8846
        bool "Enable support for the active-semi 8846 PMIC"
-       depends on DM_PMIC && DM_I2C
+       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.
 
        ---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 PMIC_AXP
+       bool "Enable Driver Model for X-Powers AXP PMICs"
+       depends on DM_I2C
+       select SYSRESET_CMD_POWEROFF if SYSRESET && CMD_POWEROFF
+       imply CMD_POWEROFF if SYSRESET
+       help
+         This config enables driver-model PMIC uclass features for
+         X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
+
+config SPL_PMIC_AXP
+       bool "Enable Driver Model for X-Powers AXP PMICs in SPL"
+       depends on SPL_DM_I2C && SPL_DM_PMIC
+       help
+         This config enables driver-model PMIC uclass features in the SPL for
+         X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
+
+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_DM_PMIC
+       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
 config PMIC_AS3722
        bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
        help
@@ -50,14 +102,21 @@ config PMIC_AS3722
 
 config DM_PMIC_BD71837
        bool "Enable Driver Model for PMIC BD71837"
 
 config DM_PMIC_BD71837
        bool "Enable Driver Model for PMIC BD71837"
-       depends on DM_PMIC
        help
          This config enables implementation of driver-model pmic uclass features
          for PMIC BD71837. The driver implements read/write operations.
 
        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"
+       depends on SPL_DM_PMIC
+       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"
 config DM_PMIC_FAN53555
        bool "Enable support for OnSemi FAN53555"
-       depends on DM_PMIC && DM_REGULATOR && DM_I2C
+       depends on DM_REGULATOR && DM_I2C
        select DM_REGULATOR_FAN53555
        help
          This config enables implementation of driver-model PMIC
        select DM_REGULATOR_FAN53555
        help
          This config enables implementation of driver-model PMIC
@@ -69,37 +128,82 @@ config DM_PMIC_FAN53555
          The driver implements read/write operations for use with the FAN53555
          regulator driver and binds the regulator driver to its node.
 
          The driver implements read/write operations for use with the FAN53555
          regulator driver and binds the regulator driver to its node.
 
+config SPL_DM_PMIC_FAN53555
+       bool "Enable support for OnSemi FAN53555 in SPL"
+       depends on SPL_DM_REGULATOR && SPL_DM_I2C
+       select SPL_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"
+       depends on SPL_DM_PMIC
+       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"
+       depends on DM_I2C
+       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 in SPL"
+       depends on SPL_DM_PMIC
+       depends on SPL_DM_I2C
+       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"
 config DM_PMIC_PFUZE100
        bool "Enable Driver Model for PMIC PFUZE100"
-       depends on DM_PMIC
        ---help---
        This config enables implementation of driver-model pmic uclass features
        for PMIC PFUZE100. The driver implements read/write operations.
 
        ---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"
+       depends on SPL_DM_PMIC
+       ---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"
 config DM_PMIC_MAX77686
        bool "Enable Driver Model for PMIC MAX77686"
-       depends on DM_PMIC
        ---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 MAX77686. The driver implements read/write operations.
 
 config DM_PMIC_MAX8998
        bool "Enable Driver Model for PMIC MAX8998"
-       depends on DM_PMIC
        ---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 MAX8998. The driver implements read/write operations.
 
 config DM_PMIC_MC34708
        bool "Enable Driver Model for PMIC MC34708"
-       depends on DM_PMIC
        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 MC34708. The driver implements read/write operations.
 
 config PMIC_MAX8997
        bool "Enable Driver Model for PMIC MAX8997"
-       depends on DM_PMIC
        ---help---
        This config enables implementation of driver-model pmic uclass features
        for PMIC MAX8997. The driver implements read/write operations.
        ---help---
        This config enables implementation of driver-model pmic uclass features
        for PMIC MAX8997. The driver implements read/write operations.
@@ -112,11 +216,10 @@ config PMIC_MAX8997
        - MUIC
        - Others
 
        - MUIC
        - Others
 
-config PMIC_PM8916
-       bool "Enable Driver Model for Qualcomm PM8916 PMIC"
-       depends on DM_PMIC
+config PMIC_QCOM
+       bool "Enable Driver Model for Qualcomm generic PMIC"
        ---help---
        ---help---
-       The PM8916 is a PMIC connected to one (or several) processors
+       The Qcom PMIC is connected to one (or several) processors
        with SPMI bus. It has 2 slaves with several peripherals:
        - 18x LDO
        - 4x GPIO
        with SPMI bus. It has 2 slaves with several peripherals:
        - 18x LDO
        - 4x GPIO
@@ -126,11 +229,19 @@ config PMIC_PM8916
        - Vibrator drivers
        - Others
 
        - Vibrator drivers
        - Others
 
-       Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt
+       Driver binding info: doc/device-tree-bindings/pmic/qcom,spmi-pmic.txt
 
 config PMIC_RK8XX
        bool "Enable support for Rockchip PMIC RK8XX"
 
 config PMIC_RK8XX
        bool "Enable support for Rockchip PMIC RK8XX"
-       depends on DM_PMIC
+       ---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"
+       depends on SPL_DM_PMIC
        ---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
        ---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
@@ -139,7 +250,6 @@ config PMIC_RK8XX
 
 config PMIC_S2MPS11
        bool "Enable Driver Model for PMIC Samsung S2MPS11"
 
 config PMIC_S2MPS11
        bool "Enable Driver Model for PMIC Samsung S2MPS11"
-       depends on DM_PMIC
        ---help---
        The Samsung S2MPS11 PMIC provides:
         - 38 adjustable LDO regulators
        ---help---
        The Samsung S2MPS11 PMIC provides:
         - 38 adjustable LDO regulators
@@ -153,7 +263,6 @@ config PMIC_S2MPS11
 
 config DM_PMIC_SANDBOX
        bool "Enable Driver Model for emulated Sandbox PMIC"
 
 config DM_PMIC_SANDBOX
        bool "Enable Driver Model for emulated Sandbox PMIC"
-       depends on DM_PMIC
        ---help---
        Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
        depends on two drivers:
        ---help---
        Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
        depends on two drivers:
@@ -178,7 +287,6 @@ config DM_PMIC_SANDBOX
 
 config PMIC_S5M8767
        bool "Enable Driver Model for the Samsung S5M8767 PMIC"
 
 config PMIC_S5M8767
        bool "Enable Driver Model for the Samsung S5M8767 PMIC"
-       depends on DM_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
        ---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
@@ -187,7 +295,14 @@ config PMIC_S5M8767
 
 config PMIC_RN5T567
        bool "Enable driver for Ricoh RN5T567 PMIC"
 
 config PMIC_RN5T567
        bool "Enable driver for Ricoh RN5T567 PMIC"
-       depends on DM_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 SPL_PMIC_RN5T567
+       bool "Enable driver for Ricoh RN5T567 PMIC in SPL"
+       depends on SPL_DM_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
        ---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
@@ -195,7 +310,6 @@ config PMIC_RN5T567
 
 config PMIC_TPS65090
        bool "Enable driver for Texas Instruments TPS65090 PMIC"
 
 config PMIC_TPS65090
        bool "Enable driver for Texas Instruments TPS65090 PMIC"
-       depends on DM_PMIC
        ---help---
        The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
        FETs and a battery charger. This driver provides register access
        ---help---
        The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
        FETs and a battery charger. This driver provides register access
@@ -204,35 +318,24 @@ config PMIC_TPS65090
 
 config PMIC_PALMAS
        bool "Enable driver for Texas Instruments PALMAS PMIC"
 
 config PMIC_PALMAS
        bool "Enable driver for Texas Instruments PALMAS PMIC"
-       depends on DM_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 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"
-       depends on DM_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 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"
-       depends on DM_PMIC
        ---help---
        The LP87565 is a PMIC containing a bunch of SMPS.
        This driver binds the pmic children.
 
        ---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"
 config DM_PMIC_TPS65910
        bool "Enable driver for Texas Instruments TPS65910 PMIC"
-       depends on DM_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
        ---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
@@ -240,7 +343,7 @@ config DM_PMIC_TPS65910
 
 config PMIC_STPMIC1
        bool "Enable support for STMicroelectronics STPMIC1 PMIC"
 
 config PMIC_STPMIC1
        bool "Enable support for STMicroelectronics STPMIC1 PMIC"
-       depends on DM_PMIC && DM_I2C
+       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.
        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.
@@ -249,21 +352,81 @@ config PMIC_STPMIC1
 
 config SPL_PMIC_PALMAS
        bool "Enable driver for Texas Instruments PALMAS PMIC"
 
 config SPL_PMIC_PALMAS
        bool "Enable driver for Texas Instruments PALMAS PMIC"
-       depends on DM_PMIC
+       depends on SPL_DM_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 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"
-       depends on DM_PMIC
+       depends on SPL_DM_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 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"
-       depends on DM_PMIC
+       depends on SPL_DM_PMIC
        help
        The LP87565 is a PMIC containing a bunch of SMPS.
        This driver binds the pmic children in SPL.
        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.
+
+config PMIC_TPS65219
+       bool "Enable driver for Texas Instruments TPS65219 PMIC"
+       depends on DM_PMIC
+       help
+       The TPS65219 is a PMIC containing a bunch of SMPS & LDOs.
+       This driver binds the pmic children.
+endif
+
+config PMIC_TPS65217
+       bool "Enable driver for Texas Instruments TPS65217 PMIC"
+       ---help---
+       The TPS65217 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 POWER_TPS65218
+       bool "Enable legacy driver for TPS65218 PMIC"
+
+config POWER_TPS62362
+       bool "Enable legacy driver for TPS62362 PMIC"
+
+config SPL_POWER_TPS62362
+       bool "Enable legacy driver for TPS62362 PMIC in SPL"
+       default y if POWER_TPS62362
+       depends on SPL
+
+config SPL_POWER_TPS65910
+       bool "Enable legacy driver for TPS65910 PMIC in SPL"
+       depends on SPL
+
+if POWER_LEGACY || SPL_POWER_LEGACY
+
+config POWER_HI6553
+       bool "Enable legacy driver for HI6553 PMIC"
+
+config POWER_LTC3676
+       bool "Enable legacy driver for LTC3676 PMIC"
+
+config POWER_PFUZE100
+       bool "Enable legacy driver for PFUZE100 PMIC"
+
+config POWER_PFUZE3000
+       bool "Enable legacy driver for PFUZE3000 PMIC"
+
+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.
+
+endif