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