menu "Power" 
 | 
  
 | 
source "drivers/power/domain/Kconfig" 
 | 
  
 | 
source "drivers/power/fuel_gauge/Kconfig" 
 | 
  
 | 
source "drivers/power/io-domain/Kconfig" 
 | 
  
 | 
source "drivers/power/pmic/Kconfig" 
 | 
  
 | 
source "drivers/power/power_delivery/Kconfig" 
 | 
  
 | 
source "drivers/power/regulator/Kconfig" 
 | 
  
 | 
source "drivers/power/dvfs/Kconfig" 
 | 
  
 | 
source "drivers/power/charge/Kconfig" 
 | 
  
 | 
config DM_CHARGE_DISPLAY 
 | 
    bool "Enable driver model for charge display support" 
 | 
    depends on DM 
 | 
    help 
 | 
      This adds a simple uclass for charge display. 
 | 
  
 | 
choice 
 | 
    prompt "Select Sunxi PMIC Variant" 
 | 
    depends on ARCH_SUNXI 
 | 
    default AXP209_POWER if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I 
 | 
    default AXP221_POWER if MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_R40 
 | 
    default AXP818_POWER if MACH_SUN8I_A83T 
 | 
    default SUNXI_NO_PMIC if MACH_SUNXI_H3_H5 || MACH_SUN50I 
 | 
  
 | 
config SUNXI_NO_PMIC 
 | 
    bool "board without a pmic" 
 | 
    ---help--- 
 | 
    Select this for boards which do not use a PMIC. 
 | 
  
 | 
config AXP152_POWER 
 | 
    bool "axp152 pmic support" 
 | 
    depends on MACH_SUN5I 
 | 
    select CMD_POWEROFF 
 | 
    ---help--- 
 | 
    Select this to enable support for the axp152 pmic found on most 
 | 
    A10s boards. 
 | 
  
 | 
config AXP209_POWER 
 | 
    bool "axp209 pmic support" 
 | 
    depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I 
 | 
    select CMD_POWEROFF 
 | 
    ---help--- 
 | 
    Select this to enable support for the axp209 pmic found on most 
 | 
    A10, A13 and A20 boards. 
 | 
  
 | 
config AXP221_POWER 
 | 
    bool "axp221 / axp223 pmic support" 
 | 
    depends on MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_R40 
 | 
    select CMD_POWEROFF 
 | 
    ---help--- 
 | 
    Select this to enable support for the axp221/axp223 pmic found on most 
 | 
    A23 and A31 boards. 
 | 
  
 | 
config AXP809_POWER 
 | 
    bool "axp809 pmic support" 
 | 
    depends on MACH_SUN9I 
 | 
    select CMD_POWEROFF 
 | 
    ---help--- 
 | 
    Say y here to enable support for the axp809 pmic found on A80 boards. 
 | 
  
 | 
config AXP818_POWER 
 | 
    bool "axp818 pmic support" 
 | 
    depends on MACH_SUN8I_A83T 
 | 
    select CMD_POWEROFF 
 | 
    ---help--- 
 | 
    Say y here to enable support for the axp818 pmic found on 
 | 
    A83T dev board. 
 | 
  
 | 
config SY8106A_POWER 
 | 
    bool "SY8106A pmic support" 
 | 
    depends on MACH_SUNXI_H3_H5 
 | 
    ---help--- 
 | 
    Select this to enable support for the SY8106A pmic found on some 
 | 
    H3 boards. 
 | 
  
 | 
endchoice 
 | 
  
 | 
config CHARGE_ANIMATION 
 | 
    bool "Enable charge animation" 
 | 
    depends on DM_CHARGE_DISPLAY && DM_FUEL_GAUGE 
 | 
    select ARM_CPU_SUSPEND 
 | 
    help 
 | 
      This adds a simple function for charge animation display. 
 | 
  
 | 
config ROCKCHIP_PM 
 | 
    bool "Enable Rockchip power manager for charge animation" 
 | 
    depends on CHARGE_ANIMATION 
 | 
    default y 
 | 
    help 
 | 
      This adds power manage control of devices for low power 
 | 
      during system suspend in charge animation. 
 | 
  
 | 
config AXP_DCDC1_VOLT 
 | 
    int "axp pmic dcdc1 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 3300 if AXP818_POWER || MACH_SUN8I_R40 
 | 
    default 3000 if MACH_SUN6I || MACH_SUN8I || MACH_SUN9I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dcdc1 at, set to 0 to 
 | 
    disable dcdc1. On A23 / A31 / A33 (axp221) boards dcdc1 is used for 
 | 
    generic 3.3V IO voltage for external devices like the lcd-panal and 
 | 
    sdcard interfaces, etc. On most boards dcdc1 is undervolted to 3.0V to 
 | 
    save battery. On A31 devices dcdc1 is also used for VCC-IO. On A83T 
 | 
    dcdc1 is used for VCC-IO, nand, usb0, sd , etc. On A80 dcdc1 normally 
 | 
    powers some of the pingroups, NAND/eMMC, SD/MMC, and USB OTG. 
 | 
  
 | 
config AXP_DCDC2_VOLT 
 | 
    int "axp pmic dcdc2 voltage" 
 | 
    depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 900 if AXP818_POWER 
 | 
    default 1400 if AXP152_POWER || AXP209_POWER 
 | 
    default 1200 if MACH_SUN6I 
 | 
    default 1100 if MACH_SUN8I 
 | 
    default 0 if MACH_SUN9I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dcdc2 at, set to 0 to 
 | 
    disable dcdc2. 
 | 
    On A10(s) / A13 / A20 boards dcdc2 is VDD-CPU and should be 1.4V. 
 | 
    On A31 boards dcdc2 is used for VDD-GPU and should be 1.2V. 
 | 
    On A23/A33 boards dcdc2 is used for VDD-SYS and should be 1.1V. 
 | 
    On A80 boards dcdc2 powers the GPU and can be left off. 
 | 
    On A83T boards dcdc2 is used for VDD-CPUA(cluster 0) and should be 0.9V. 
 | 
    On R40 boards dcdc2 is VDD-CPU and should be 1.1V 
 | 
  
 | 
config AXP_DCDC3_VOLT 
 | 
    int "axp pmic dcdc3 voltage" 
 | 
    depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 900 if AXP809_POWER || AXP818_POWER 
 | 
    default 1500 if AXP152_POWER 
 | 
    default 1250 if AXP209_POWER 
 | 
    default 1100 if MACH_SUN8I_R40 
 | 
    default 1200 if MACH_SUN6I || MACH_SUN8I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dcdc3 at, set to 0 to 
 | 
    disable dcdc3. 
 | 
    On A10(s) / A13 / A20 boards with an axp209 dcdc3 is VDD-INT-DLL and 
 | 
    should be 1.25V. 
 | 
    On A10s boards with an axp152 dcdc3 is VCC-DRAM and should be 1.5V. 
 | 
    On A23 / A31 / A33 boards dcdc3 is VDD-CPU and should be 1.2V. 
 | 
    On A80 boards dcdc3 is used for VDD-CPUA(cluster 0) and should be 0.9V. 
 | 
    On A83T boards dcdc3 is used for VDD-CPUB(cluster 1) and should be 0.9V. 
 | 
    On R40 boards dcdc3 is VDD-SYS and VDD-GPU and should be 1.1V. 
 | 
  
 | 
config AXP_DCDC4_VOLT 
 | 
    int "axp pmic dcdc4 voltage" 
 | 
    depends on AXP152_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 1250 if AXP152_POWER 
 | 
    default 1200 if MACH_SUN6I 
 | 
    default 0 if MACH_SUN8I 
 | 
    default 900 if MACH_SUN9I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dcdc4 at, set to 0 to 
 | 
    disable dcdc4. 
 | 
    On A10s boards with an axp152 dcdc4 is VDD-INT-DLL and should be 1.25V. 
 | 
    On A31 boards dcdc4 is used for VDD-SYS and should be 1.2V. 
 | 
    On A23 / A33 boards dcdc4 is unused and should be disabled. 
 | 
    On A80 boards dcdc4 powers VDD-SYS, HDMI, USB OTG and should be 0.9V. 
 | 
    On A83T boards dcdc4 is used for VDD-GPU. 
 | 
  
 | 
config AXP_DCDC5_VOLT 
 | 
    int "axp pmic dcdc5 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 1500 if MACH_SUN6I || MACH_SUN8I || MACH_SUN9I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dcdc5 at, set to 0 to 
 | 
    disable dcdc5. 
 | 
    On A23 / A31 / A33 / A80 / A83T / R40 boards dcdc5 is VCC-DRAM and 
 | 
    should be 1.5V, 1.35V if DDR3L is used. 
 | 
  
 | 
config AXP_ALDO1_VOLT 
 | 
    int "axp pmic (a)ldo1 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 0 if MACH_SUN6I || MACH_SUN8I_R40 
 | 
    default 1800 if MACH_SUN8I_A83T 
 | 
    default 3000 if MACH_SUN8I || MACH_SUN9I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic aldo1 at, set to 0 to 
 | 
    disable aldo1. 
 | 
    On A31 boards aldo1 is often used to power the wifi module. 
 | 
    On A23 / A33 boards aldo1 is used for VCC-IO and should be 3.0V. 
 | 
    On A80 boards aldo1 powers the USB hosts and should be 3.0V. 
 | 
    On A83T / H8 boards aldo1 is used for MIPI CSI, DSI, HDMI, EFUSE, and 
 | 
    should be 1.8V. 
 | 
  
 | 
config AXP_ALDO2_VOLT 
 | 
    int "axp pmic (a)ldo2 voltage" 
 | 
    depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 3000 if AXP152_POWER || AXP209_POWER 
 | 
    default 0 if MACH_SUN6I || MACH_SUN9I 
 | 
    default 1800 if MACH_SUN8I_A83T 
 | 
    default 2500 if MACH_SUN8I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic aldo2 at, set to 0 to 
 | 
    disable aldo2. 
 | 
    On A10(s) / A13 / A20 boards aldo2 is AVCC and should be 3.0V. 
 | 
    On A31 boards aldo2 is typically unused and should be disabled. 
 | 
    On A31 boards aldo2 may be used for LPDDR2 then it should be 1.8V. 
 | 
    On A23 / A33 boards aldo2 is used for VDD-DLL and should be 2.5V. 
 | 
    On A80 boards aldo2 powers PB pingroup and camera IO and can be left off. 
 | 
    On A83T / H8 boards aldo2 powers VDD-DLL, VCC18-PLL, CPVDD, VDD18-ADC, 
 | 
    LPDDR2, and the codec. It should be 1.8V. 
 | 
  
 | 
config AXP_ALDO3_VOLT 
 | 
    int "axp pmic (a)ldo3 voltage" 
 | 
    depends on AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 0 if AXP209_POWER || MACH_SUN9I 
 | 
    default 3000 if MACH_SUN6I || MACH_SUN8I 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic aldo3 at, set to 0 to 
 | 
    disable aldo3. 
 | 
    On A10(s) / A13 / A20 boards aldo3 should be 2.8V. 
 | 
    On A23 / A31 / A33 / R40 boards aldo3 is VCC-PLL and AVCC and should 
 | 
    be 3.0V. 
 | 
    On A80 boards aldo3 is normally not used. 
 | 
    On A83T / H8 boards aldo3 is AVCC, VCC-PL, and VCC-LED, and should be 
 | 
    3.0V. 
 | 
  
 | 
config AXP_ALDO4_VOLT 
 | 
    int "axp pmic (a)ldo4 voltage" 
 | 
    depends on AXP209_POWER 
 | 
    default 0 if AXP209_POWER 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic aldo4 at, set to 0 to 
 | 
    disable aldo4. 
 | 
    On A10(s) / A13 / A20 boards aldo4 should be 2.8V. 
 | 
  
 | 
config AXP_DLDO1_VOLT 
 | 
    int "axp pmic dldo1 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dldo1 at, set to 0 to 
 | 
    disable dldo1. On sun6i (A31) boards with ethernet dldo1 is often used 
 | 
    to power the ethernet phy. On A23, A33 and A80 boards this is often 
 | 
    used to power the wifi. 
 | 
  
 | 
config AXP_DLDO2_VOLT 
 | 
    int "axp pmic dldo2 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 3000 if MACH_SUN9I 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dldo2 at, set to 0 to 
 | 
    disable dldo2. 
 | 
    On A80 boards dldo2 normally powers the PL pins and should be 3.0V. 
 | 
  
 | 
config AXP_DLDO3_VOLT 
 | 
    int "axp pmic dldo3 voltage" 
 | 
    depends on AXP221_POWER || AXP818_POWER 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dldo3 at, set to 0 to 
 | 
    disable dldo3. 
 | 
  
 | 
config AXP_DLDO4_VOLT 
 | 
    int "axp pmic dldo4 voltage" 
 | 
    depends on AXP221_POWER || AXP818_POWER 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic dldo4 at, set to 0 to 
 | 
    disable dldo4. 
 | 
  
 | 
config AXP_ELDO1_VOLT 
 | 
    int "axp pmic eldo1 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic eldo1 at, set to 0 to 
 | 
    disable eldo1. 
 | 
  
 | 
config AXP_ELDO2_VOLT 
 | 
    int "axp pmic eldo2 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic eldo2 at, set to 0 to 
 | 
    disable eldo2. 
 | 
  
 | 
config AXP_ELDO3_VOLT 
 | 
    int "axp pmic eldo3 voltage" 
 | 
    depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 
 | 
    default 3000 if MACH_SUN9I 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic eldo3 at, set to 0 to 
 | 
    disable eldo3. On some A31(s) tablets it might be used to supply 
 | 
    1.2V for the SSD2828 chip (converter of parallel LCD interface 
 | 
    into MIPI DSI). 
 | 
    On A80 boards it powers the PM pingroup and should be 3.0V. 
 | 
  
 | 
config AXP_FLDO1_VOLT 
 | 
    int "axp pmic fldo1 voltage" 
 | 
    depends on AXP818_POWER 
 | 
    default 0 if MACH_SUN8I_A83T 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic fldo1 at, set to 0 to 
 | 
    disable fldo1. 
 | 
    On A83T / H8 boards fldo1 is VCC-HSIC and should be 1.2V if HSIC is 
 | 
    used. 
 | 
  
 | 
config AXP_FLDO2_VOLT 
 | 
    int "axp pmic fldo2 voltage" 
 | 
    depends on AXP818_POWER 
 | 
    default 900 if MACH_SUN8I_A83T 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic fldo2 at, set to 0 to 
 | 
    disable fldo2. 
 | 
    On A83T / H8 boards fldo2 is VCC-CPUS and should be 0.9V. 
 | 
  
 | 
config AXP_FLDO3_VOLT 
 | 
    int "axp pmic fldo3 voltage" 
 | 
    depends on AXP818_POWER 
 | 
    default 0 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the axp pmic fldo3 at, set to 0 to 
 | 
    disable fldo3. 
 | 
  
 | 
config AXP_SW_ON 
 | 
    bool "axp pmic sw on" 
 | 
    depends on AXP809_POWER || AXP818_POWER 
 | 
    default n 
 | 
    ---help--- 
 | 
    Enable to turn on axp pmic sw. 
 | 
  
 | 
config SY8106A_VOUT1_VOLT 
 | 
    int "SY8106A pmic VOUT1 voltage" 
 | 
    depends on SY8106A_POWER 
 | 
    default 1200 
 | 
    ---help--- 
 | 
    Set the voltage (mV) to program the SY8106A pmic VOUT1. This 
 | 
    is typically used to power the VDD-CPU and should be 1200mV. 
 | 
    Values can range from 680mV till 1950mV. 
 | 
  
 | 
config TWL4030_POWER 
 | 
    depends on OMAP34XX 
 | 
    bool "Enable driver for TI TWL4030 power management chip" 
 | 
    imply CMD_POWEROFF 
 | 
    ---help--- 
 | 
    The TWL4030 in a combination audio CODEC/power management with 
 | 
    GPIO and it is commonly used with the OMAP3 family of processors 
 | 
  
 | 
endmenu 
 |