target: msm8996: Add long press power on
Add long press power on feature for msm8996.
Change-Id: I5bb03170a26a1c5bb8121e752107e03a8b9999f3
diff --git a/target/msm8996/init.c b/target/msm8996/init.c
index 9f49ceb..a60a4dd 100644
--- a/target/msm8996/init.c
+++ b/target/msm8996/init.c
@@ -62,6 +62,11 @@
#include <pm_app_smbchg.h>
#endif
+#if LONG_PRESS_POWER_ON
+#include <shutdown_detect.h>
+#endif
+
+
#define CE_INSTANCE 1
#define CE_EE 0
#define CE_FIFO_SIZE 64
@@ -202,6 +207,16 @@
tlmm_set_pull_ctrl(sdc1_rclk_cfg, ARRAY_SIZE(sdc1_rclk_cfg));
}
+uint32_t target_is_pwrkey_pon_reason()
+{
+ uint8_t pon_reason = pm8950_get_pon_reason();
+ if (pm8x41_get_is_cold_boot() && ((pon_reason == KPDPWR_N) || (pon_reason == (KPDPWR_N|PON1))))
+ return 1;
+ else
+ return 0;
+}
+
+
void target_sdc_init()
{
struct mmc_config_data config = {0};
@@ -256,6 +271,16 @@
rpm_glink_init();
target_keystatus();
+#if defined(LONG_PRESS_POWER_ON) || defined(PON_VIB_SUPPORT)
+ switch(board_hardware_id())
+ {
+ case HW_PLATFORM_QRD:
+#if LONG_PRESS_POWER_ON
+ shutdown_detect();
+#endif
+ break;
+ }
+#endif
if (target_use_signed_kernel())
target_crypto_init_params();