mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 22:20:45 +00:00
0d8382ae70
SY8106A is a PMIC which is used on the Allwinner H3 Orange Pi Pc and Plus board. The VOUT1_SEL register is implemented to set the default V-CPU voltage to 1200 mV. This driver is required to ensure the SY8106A V-CPU voltage is set to 1200 mV after a software reset. On cold boot the default SY8106A output voltage is selected to be 1200 mV by a pair of resistors on the Orange Pi PC and Plus. Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl> Tested-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
251 lines
8 KiB
Text
251 lines
8 KiB
Text
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
|
|
|
|
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 1800 if 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.8V for A83T.
|
|
|
|
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 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
|