mediatek: mt8192: add power-off support

add power-off support

Change-Id: If19e99971515a8ae1ac9ae21046e4382adc18a69
diff --git a/plat/mediatek/mt8192/plat_pm.c b/plat/mediatek/mt8192/plat_pm.c
index 654a9a9..ac6cb80 100644
--- a/plat/mediatek/mt8192/plat_pm.c
+++ b/plat/mediatek/mt8192/plat_pm.c
@@ -19,6 +19,7 @@
 #include <plat_mtk_lpm.h>
 #include <plat_params.h>
 #include <plat_pm.h>
+#include <pmic.h>
 
 /*
  * Cluster state request:
@@ -334,6 +335,17 @@
 			sizeof(plat_power_state[cpu]));
 }
 
+static void __dead2 plat_mtk_system_off(void)
+{
+	INFO("MTK System Off\n");
+
+	pmic_power_off();
+
+	wfi();
+	ERROR("MTK System Off: operation not handled.\n");
+	panic();
+}
+
 static void __dead2 plat_mtk_system_reset(void)
 {
 	struct bl_aux_gpio_info *gpio_reset = plat_get_mtk_gpio_reset();
@@ -355,6 +367,7 @@
 	.pwr_domain_off			= plat_power_domain_off,
 	.pwr_domain_suspend		= plat_power_domain_suspend,
 	.pwr_domain_suspend_finish	= plat_power_domain_suspend_finish,
+	.system_off			= plat_mtk_system_off,
 	.validate_power_state		= plat_validate_power_state,
 	.get_sys_suspend_power_state	= plat_get_sys_suspend_power_state
 };