summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoschung, Rainer <Rainer.Boschung@keymile.com>2014-06-03 09:05:14 +0200
committerYork Sun <yorksun@freescale.com>2014-08-01 14:18:17 -0700
commit0f8062b25b31988bf62f166aa5b988add8454e42 (patch)
tree7e8143925466d922e6f3264382bebb1096716c62
parent60b295672d61fe79e6af3d9e4f3e8bd23bf3b4ad (diff)
mpc85xx: watchdog initialisation added
Function to inititialize the cpu watchdog added. Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com> [York Sun: Add prototype in watchdog.h] Reviewed-by: York Sun <yorksun@freescale.com>
-rw-r--r--arch/powerpc/cpu/mpc85xx/cpu.c8
-rw-r--r--include/watchdog.h4
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c
index 684d4007e4..6274f929dd 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu.c
@@ -310,6 +310,14 @@ __weak unsigned long get_tbclk (void)
#if defined(CONFIG_WATCHDOG)
+#define WATCHDOG_MASK (TCR_WP(63) | TCR_WRC(3) | TCR_WIE)
+void
+init_85xx_watchdog(void)
+{
+ mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WATCHDOG_MASK) |
+ TCR_WP(CONFIG_WATCHDOG_PRESC) | TCR_WRC(CONFIG_WATCHDOG_RC));
+}
+
void
reset_85xx_watchdog(void)
{
diff --git a/include/watchdog.h b/include/watchdog.h
index aacacb970a..bd0a8d6b19 100644
--- a/include/watchdog.h
+++ b/include/watchdog.h
@@ -95,4 +95,8 @@ int init_func_watchdog_reset(void);
#if defined(CONFIG_HW_WATCHDOG) && !defined(__ASSEMBLY__)
void hw_watchdog_init(void);
#endif
+
+#if defined(CONFIG_MPC85xx) && !defined(__ASSEMBLY__)
+ void init_85xx_watchdog(void);
+#endif
#endif /* _WATCHDOG_H_ */