msm: watchdog: set expired enable register
The apq8064 has an extra register that needs to be set to enable
a watchdog bite.
Change-Id: Ic7542ededaace97c03a7b26eb49aa72fb6c86d83
Signed-off-by: Joel King <joelking@codeaurora.org>
diff --git a/arch/arm/mach-msm/devices-8064.c b/arch/arm/mach-msm/devices-8064.c
index f179bdf..f663d1a 100644
--- a/arch/arm/mach-msm/devices-8064.c
+++ b/arch/arm/mach-msm/devices-8064.c
@@ -69,6 +69,7 @@
.pet_time = 10000,
.bark_time = 11000,
.has_secure = true,
+ .needs_expired_enable = true,
};
struct platform_device msm8064_device_watchdog = {
diff --git a/arch/arm/mach-msm/msm_watchdog.c b/arch/arm/mach-msm/msm_watchdog.c
index 4303f83..5bff832 100644
--- a/arch/arm/mach-msm/msm_watchdog.c
+++ b/arch/arm/mach-msm/msm_watchdog.c
@@ -363,6 +363,9 @@
if (cpu_is_msm9615())
__raw_writel(0xF, MSM_TCSR_BASE + TCSR_WDT_CFG);
+ if (pdata->needs_expired_enable)
+ __raw_writel(0x1, MSM_CLK_CTL_BASE + 0x3820);
+
configure_bark_dump();
delay_time = msecs_to_jiffies(pdata->pet_time);
diff --git a/arch/arm/mach-msm/msm_watchdog.h b/arch/arm/mach-msm/msm_watchdog.h
index 201c2b1..33e9e0c 100644
--- a/arch/arm/mach-msm/msm_watchdog.h
+++ b/arch/arm/mach-msm/msm_watchdog.h
@@ -19,6 +19,7 @@
/* bark timeout in ms */
unsigned int bark_time;
bool has_secure;
+ bool needs_expired_enable;
};
#ifdef CONFIG_MSM_WATCHDOG