aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.2/994-mpcore_wdt_fix_timer_mode_setup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.2/994-mpcore_wdt_fix_timer_mode_setup.patch')
-rw-r--r--target/linux/generic/patches-3.2/994-mpcore_wdt_fix_timer_mode_setup.patch57
1 files changed, 0 insertions, 57 deletions
diff --git a/target/linux/generic/patches-3.2/994-mpcore_wdt_fix_timer_mode_setup.patch b/target/linux/generic/patches-3.2/994-mpcore_wdt_fix_timer_mode_setup.patch
deleted file mode 100644
index 009092376f..0000000000
--- a/target/linux/generic/patches-3.2/994-mpcore_wdt_fix_timer_mode_setup.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Allow watchdog to set its iterrupt as pending when it is configured
-for timer mode (in other words, allow emitting interrupt).
-Also add macros for all Watchdog Control Register flags.
-
-Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
----
- arch/arm/include/asm/smp_twd.h | 6 ++++++
- drivers/watchdog/mpcore_wdt.c | 15 +++++++++++----
- 2 files changed, 17 insertions(+), 4 deletions(-)
-
---- a/arch/arm/include/asm/smp_twd.h
-+++ b/arch/arm/include/asm/smp_twd.h
-@@ -18,6 +18,12 @@
- #define TWD_TIMER_CONTROL_PERIODIC (1 << 1)
- #define TWD_TIMER_CONTROL_IT_ENABLE (1 << 2)
-
-+#define TWD_WDOG_CONTROL_ENABLE (1 << 0)
-+#define TWD_WDOG_CONTROL_PERIODIC (1 << 1)
-+#define TWD_WDOG_CONTROL_IT_ENABLE (1 << 2)
-+#define TWD_WDOG_CONTROL_TIMER_MODE (0 << 3)
-+#define TWD_WDOG_CONTROL_WATCHDOG_MODE (1 << 3)
-+
- struct clock_event_device;
-
- extern void __iomem *twd_base;
---- a/drivers/watchdog/mpcore_wdt.c
-+++ b/drivers/watchdog/mpcore_wdt.c
-@@ -118,18 +118,25 @@ static void mpcore_wdt_stop(struct mpcor
-
- static void mpcore_wdt_start(struct mpcore_wdt *wdt)
- {
-+ u32 mode;
-+
- dev_printk(KERN_INFO, wdt->dev, "enabling watchdog.\n");
-
- /* This loads the count register but does NOT start the count yet */
- mpcore_wdt_keepalive(wdt);
-
-+ /* Setup watchdog - prescale=256, enable=1 */
-+ mode = (255 << 8) | TWD_WDOG_CONTROL_ENABLE;
-+
- if (mpcore_noboot) {
-- /* Enable watchdog - prescale=256, watchdog mode=0, enable=1 */
-- writel(0x0000FF01, wdt->base + TWD_WDOG_CONTROL);
-+ /* timer mode, send interrupt */
-+ mode |= TWD_WDOG_CONTROL_TIMER_MODE |
-+ TWD_WDOG_CONTROL_IT_ENABLE;
- } else {
-- /* Enable watchdog - prescale=256, watchdog mode=1, enable=1 */
-- writel(0x0000FF09, wdt->base + TWD_WDOG_CONTROL);
-+ /* watchdog mode */
-+ mode |= TWD_WDOG_CONTROL_WATCHDOG_MODE;
- }
-+ writel(mode, wdt->base + TWD_WDOG_CONTROL);
- }
-
- static int mpcore_wdt_set_heartbeat(int t)