summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael van Slingerland <michael@deviousops.nl>2015-12-13 13:17:31 +0100
committerHans de Goede <hdegoede@redhat.com>2016-01-26 16:20:04 +0100
commit467e92b35721447045c70d464c85aee8dbe0db2e (patch)
tree2e67f63e4e26df5f370ade7b9c34adaefe3752fe
parentc286cdfe149531669200b66962d47fa54e9a06c1 (diff)
sunxi: Implement poweroff support for axp209 pmic
Adds poweroff support for axp209 pmic. Signed-off-by: Michael van Slingerland <michael@deviousops.nl> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
-rw-r--r--drivers/power/Kconfig1
-rw-r--r--drivers/power/axp209.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index de328287fc..52c9e61f24 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -28,6 +28,7 @@ config AXP152_POWER
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.
diff --git a/drivers/power/axp209.c b/drivers/power/axp209.c
index 71aa000daa..fc162a149e 100644
--- a/drivers/power/axp209.c
+++ b/drivers/power/axp209.c
@@ -6,6 +6,7 @@
*/
#include <common.h>
+#include <command.h>
#include <asm/arch/pmic_bus.h>
#include <axp_pmic.h>
@@ -168,3 +169,14 @@ int axp_init(void)
return 0;
}
+
+int do_poweroff(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+ pmic_bus_write(AXP209_SHUTDOWN, AXP209_POWEROFF);
+
+ /* infinite loop during shutdown */
+ while (1) {}
+
+ /* not reached */
+ return 0;
+}