summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2016-05-02 02:28:14 (GMT)
committerHans de Goede <hdegoede@redhat.com>2016-05-25 15:52:39 (GMT)
commit511992695de9309b53a291caa5ff9bce62d44ae4 (patch)
tree2d5fc05579d0563fdce79a1756878492a6982ffd
parent9850e201481dcc13db7b144c609db4480bd47543 (diff)
downloadu-boot-511992695de9309b53a291caa5ff9bce62d44ae4.tar.xz
sunxi: Implement poweroff support for axp818 pmic
Adds poweroff support for axp818 pmic. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r--drivers/power/Kconfig1
-rw-r--r--drivers/power/axp818.c11
-rw-r--r--include/axp818.h3
3 files changed, 15 insertions, 0 deletions
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index 02cb8e7..d137536 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -44,6 +44,7 @@ config AXP221_POWER
config AXP818_POWER
boolean "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.
diff --git a/drivers/power/axp818.c b/drivers/power/axp818.c
index bf6ecd6..af4d7a6 100644
--- a/drivers/power/axp818.c
+++ b/drivers/power/axp818.c
@@ -255,3 +255,14 @@ int axp_init(void)
return 0;
}
+
+int do_poweroff(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+ pmic_bus_write(AXP818_SHUTDOWN, AXP818_SHUTDOWN_POWEROFF);
+
+ /* infinite loop during shutdown */
+ while (1) {}
+
+ /* not reached */
+ return 0;
+}
diff --git a/include/axp818.h b/include/axp818.h
index f7f343a..959774c 100644
--- a/include/axp818.h
+++ b/include/axp818.h
@@ -55,6 +55,9 @@
#define AXP818_ALDO2_CTRL 0x29
#define AXP818_ALDO3_CTRL 0x2a
+#define AXP818_SHUTDOWN 0x32
+#define AXP818_SHUTDOWN_POWEROFF (1 << 7)
+
/* For axp_gpio.c */
#define AXP_POWER_STATUS 0x00
#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)