public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] powerpc: Make Book E watchdog reset type configurable
@ 2013-05-02 14:45 dirk.eibach
  2013-05-02 16:17 ` Guenter Roeck
  0 siblings, 1 reply; 10+ messages in thread
From: dirk.eibach @ 2013-05-02 14:45 UTC (permalink / raw)
  To: linux-kernel; +Cc: Dirk Eibach, Kumar Gala, Wim Van Sebroeck, linux-watchdog

From: Dirk Eibach <dirk.eibach@gdsys.cc>

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: linux-watchdog@vger.kernel.org
---
 drivers/watchdog/Kconfig     |   32 ++++++++++++++++++++++++++++++++
 drivers/watchdog/booke_wdt.c |   10 +++++++++-
 2 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index e89fc31..6048593 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -1172,6 +1172,38 @@ config BOOKE_WDT_DEFAULT_TIMEOUT
 
 	  The value can be overridden by the wdt_period command-line parameter.
 
+choice
+	prompt "PowerPC Book-E Watchdog reset type"
+	depends on BOOKE_WDT
+	default BOOKE_WDT_RESET_CHIP
+	help
+	  Specify what kind of reset will be executed on watchdog timeout.
+
+	config BOOKE_WDT_RESET_CORE
+		bool "Core reset"
+	help
+	  Watchdog timeout will trigger a core reset.
+	  The exact function of any of these settings is implementation-de-
+	  pendent.
+	  See the User's Manual for the implementation for further details.
+
+	config BOOKE_WDT_RESET_CHIP
+		bool "Chip reset"
+	help
+	  Watchdog timeout will trigger a chip reset.
+	  The exact function of any of these settings is implementation-de-
+	  pendent.
+	  See the User's Manual for the implementation for further details.
+
+	config BOOKE_WDT_RESET_SYSTEM
+		bool "System reset"
+	help
+	  Watchdog timeout will trigger a system reset.
+	  The exact function of any of these settings is implementation-de-
+	  pendent.
+	  See the User's Manual for the implementation for further details.
+endchoice
+
 # PPC64 Architecture
 
 config WATCHDOG_RTAS
diff --git a/drivers/watchdog/booke_wdt.c b/drivers/watchdog/booke_wdt.c
index a8dbceb3..7791d19 100644
--- a/drivers/watchdog/booke_wdt.c
+++ b/drivers/watchdog/booke_wdt.c
@@ -22,6 +22,14 @@
 #include <asm/time.h>
 #include <asm/div64.h>
 
+#if defined(CONFIG_BOOKE_WDT_RESET_CORE)
+#define WRC		WRC_CORE
+#elif defined(CONFIG_BOOKE_WDT_RESET_CHIP)
+#define WRC		WRC_CHIP
+#elif defined(CONFIG_BOOKE_WDT_RESET_SYSTEM)
+#define WRC		WRC_SYSTEM
+#endif
+
 /* If the kernel parameter wdt=1, the watchdog will be enabled at boot.
  * Also, the wdt_period sets the watchdog timer period timeout.
  * For E500 cpus the wdt_period sets which bit changing from 0->1 will
@@ -136,7 +144,7 @@ static void __booke_wdt_enable(void *data)
 	__booke_wdt_ping(NULL);
 	val = mfspr(SPRN_TCR);
 	val &= ~WDTP_MASK;
-	val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period));
+	val |= (TCR_WIE|TCR_WRC(WRC)|WDTP(booke_wdt_period));
 
 	mtspr(SPRN_TCR, val);
 }
-- 
1.7.2.5


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-05-26 17:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-02 14:45 [PATCH] powerpc: Make Book E watchdog reset type configurable dirk.eibach
2013-05-02 16:17 ` Guenter Roeck
2013-05-02 19:11   ` Dirk Eibach
2013-05-03  1:17     ` Guenter Roeck
2013-05-03  8:33       ` Dirk Eibach
2013-05-03 13:46         ` Guenter Roeck
2013-05-03 18:30           ` Dirk Eibach
2013-05-03 20:33             ` Guenter Roeck
2013-05-03 15:59         ` Guenter Roeck
2013-05-26 17:04         ` Wim Van Sebroeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox