menu "Power"

source "drivers/power/pmic/Kconfig"

source "drivers/power/regulator/Kconfig"

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
	default AXP818_POWER if MACH_SUN8I_A83T
	default SUNXI_NO_PMIC if MACH_SUN8I_H3 || MACH_SUN50I

config SUNXI_NO_PMIC
	boolean "board without a pmic"
	---help---
	Select this for boards which do not use a PMIC.

config AXP152_POWER
	boolean "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
	boolean "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
	boolean "axp221 / axp223 pmic support"
	depends on MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33
	select CMD_POWEROFF
	---help---
	Select this to enable support for the axp221/axp223 pmic found on most
	A23 and A31 boards.

config AXP818_POWER
	boolean "axp818 pmic support"
	depends on MACH_SUN8I_A83T
	---help---
	Say y here to enable support for the axp818 pmic found on
	A83T dev board.

config SY8106A_POWER
	boolean "SY8106A pmic support"
	depends on MACH_SUN8I_H3
	---help---
	Select this to enable support for the SY8106A pmic found on some
	H3 boards.

endchoice

config AXP_DCDC1_VOLT
	int "axp pmic dcdc1 voltage"
	depends on AXP221_POWER || AXP818_POWER
	default 3300 if AXP818_POWER
	default 3000 if MACH_SUN6I || MACH_SUN8I
	---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
	safe battery. On A31 devices dcdc1 is also used for VCC-IO. On A83T
	dcdc1 is used for VCC-IO, nand, usb0, sd , etc.

config AXP_DCDC2_VOLT
	int "axp pmic dcdc2 voltage"
	depends on AXP152_POWER || AXP209_POWER || AXP221_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
	---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 A83T boards dcdc2 is used for VDD-CPUA(cluster 0) and should be 0.9V.

config AXP_DCDC3_VOLT
	int "axp pmic dcdc3 voltage"
	depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP818_POWER
	default 900 if AXP818_POWER
	default 1500 if AXP152_POWER
	default 1250 if AXP209_POWER
	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 A83T boards dcdc3 is used for VDD-CPUB(cluster 1) and should be 0.9V.

config AXP_DCDC4_VOLT
	int "axp pmic dcdc4 voltage"
	depends on AXP152_POWER || AXP221_POWER || AXP818_POWER
	default 1250 if AXP152_POWER
	default 1200 if MACH_SUN6I
	default 0 if MACH_SUN8I
	---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 A83T boards dcdc4 is used for VDD-GPU.

config AXP_DCDC5_VOLT
	int "axp pmic dcdc5 voltage"
	depends on AXP221_POWER || AXP818_POWER
	default 1500 if MACH_SUN6I || MACH_SUN8I
	---help---
	Set the voltage (mV) to program the axp pmic dcdc5 at, set to 0 to
	disable dcdc5.
	On A23 / A31 / A33 / A83T 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 || AXP818_POWER
	default 0 if MACH_SUN6I
	default 1800 if MACH_SUN8I_A83T
	default 3000 if MACH_SUN8I
	---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 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 || AXP818_POWER
	default 3000 if AXP152_POWER || AXP209_POWER
	default 0 if MACH_SUN6I
	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 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 || AXP818_POWER
	default 0 if AXP209_POWER
	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 boards aldo3 is VCC-PLL and AVCC and should be 3.0V.
	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 || 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 sun8i (A23) boards this is often used to
	power the wifi.

config AXP_DLDO2_VOLT
	int "axp pmic dldo2 voltage"
	depends on AXP221_POWER || AXP818_POWER
	default 0
	---help---
	Set the voltage (mV) to program the axp pmic dldo2 at, set to 0 to
	disable dldo2.

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 || 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 || 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 || AXP818_POWER
	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).

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 eldo2 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 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.

endmenu
