summaryrefslogtreecommitdiff
path: root/plat/rockchip/common/plat_pm.c
diff options
context:
space:
mode:
authorCaesar Wang <wxt@rock-chips.com>2016-05-25 19:05:19 +0800
committerCaesar Wang <wxt@rock-chips.com>2016-05-27 09:39:56 +0800
commit86c253e450a6506a95d4fa846945b769026cf72c (patch)
tree6547dcd0bd2e2850e21dacc51f738f26155e145c /plat/rockchip/common/plat_pm.c
parent8867299f0518f9cdd658d3eaf6e7e744618ad217 (diff)
rockchip: support system off function for rk3399
if define power off gpio, BL31 will do system power off through gpio control.
Diffstat (limited to 'plat/rockchip/common/plat_pm.c')
-rw-r--r--plat/rockchip/common/plat_pm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/plat/rockchip/common/plat_pm.c b/plat/rockchip/common/plat_pm.c
index 43558b65..d20a683b 100644
--- a/plat/rockchip/common/plat_pm.c
+++ b/plat/rockchip/common/plat_pm.c
@@ -253,6 +253,16 @@ static void __dead2 rockchip_system_reset(void)
}
/*******************************************************************************
+ * RockChip handlers to power off the system
+ ******************************************************************************/
+static void __dead2 rockchip_system_poweroff(void)
+{
+ assert(rockchip_ops && rockchip_ops->system_off);
+
+ rockchip_ops->system_off();
+}
+
+/*******************************************************************************
* Export the platform handlers via plat_rockchip_psci_pm_ops. The rockchip
* standard
* platform layer will take care of registering the handlers with PSCI.
@@ -265,6 +275,7 @@ const plat_psci_ops_t plat_rockchip_psci_pm_ops = {
.pwr_domain_on_finish = rockchip_pwr_domain_on_finish,
.pwr_domain_suspend_finish = rockchip_pwr_domain_suspend_finish,
.system_reset = rockchip_system_reset,
+ .system_off = rockchip_system_poweroff,
.validate_power_state = rockchip_validate_power_state,
.get_sys_suspend_power_state = rockchip_get_sys_suspend_power_state
};