Skip to content
Snippets Groups Projects
Commit fe4b71b2 authored by Hans de Goede's avatar Hans de Goede
Browse files

sunxi: Implement poweroff support for axp221 pmic


Adds poweroff support for axp221 pmic.

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Acked-by: default avatarIan Campbell <ijc@hellion.org.uk>
parent 467e92b3
Branches
Tags
No related merge requests found
...@@ -36,6 +36,7 @@ config AXP209_POWER ...@@ -36,6 +36,7 @@ config AXP209_POWER
config AXP221_POWER config AXP221_POWER
boolean "axp221 / axp223 pmic support" boolean "axp221 / axp223 pmic support"
depends on MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 depends on MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33
select CMD_POWEROFF
---help--- ---help---
Select this to enable support for the axp221/axp223 pmic found on most Select this to enable support for the axp221/axp223 pmic found on most
A23 and A31 boards. A23 and A31 boards.
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
*/ */
#include <common.h> #include <common.h>
#include <command.h>
#include <errno.h> #include <errno.h>
#include <asm/arch/pmic_bus.h> #include <asm/arch/pmic_bus.h>
#include <axp_pmic.h> #include <axp_pmic.h>
...@@ -312,3 +313,14 @@ int axp_get_sid(unsigned int *sid) ...@@ -312,3 +313,14 @@ int axp_get_sid(unsigned int *sid)
return 0; return 0;
} }
int do_poweroff(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
pmic_bus_write(AXP221_SHUTDOWN, AXP221_SHUTDOWN_POWEROFF);
/* infinite loop during shutdown */
while (1) {}
/* not reached */
return 0;
}
...@@ -45,6 +45,8 @@ ...@@ -45,6 +45,8 @@
#define AXP221_ALDO3_CTRL 0x2a #define AXP221_ALDO3_CTRL 0x2a
#define AXP221_VBUS_IPSOUT 0x30 #define AXP221_VBUS_IPSOUT 0x30
#define AXP221_VBUS_IPSOUT_DRIVEBUS (1 << 2) #define AXP221_VBUS_IPSOUT_DRIVEBUS (1 << 2)
#define AXP221_SHUTDOWN 0x32
#define AXP221_SHUTDOWN_POWEROFF (1 << 7)
#define AXP221_MISC_CTRL 0x8f #define AXP221_MISC_CTRL 0x8f
#define AXP221_MISC_CTRL_N_VBUSEN_FUNC (1 << 4) #define AXP221_MISC_CTRL_N_VBUSEN_FUNC (1 << 4)
#define AXP221_PAGE 0xff #define AXP221_PAGE 0xff
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment