From ef9fbab1eb393195724cba4ce179e973d2558d4c Mon Sep 17 00:00:00 2001
From: florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 6 Aug 2009 18:53:44 +0000
Subject: [PATCH] [brcm63xx] fix off-by-one maximum timeout in the wathchdog
 default counter for bcm6345, thanks AndyI

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17149 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 target/linux/brcm63xx/files/arch/mips/bcm63xx/dev-wdt.c    | 4 +---
 target/linux/brcm63xx/files/drivers/watchdog/bcm63xx_wdt.c | 2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/target/linux/brcm63xx/files/arch/mips/bcm63xx/dev-wdt.c b/target/linux/brcm63xx/files/arch/mips/bcm63xx/dev-wdt.c
index 4aa2037db..6e184891d 100644
--- a/target/linux/brcm63xx/files/arch/mips/bcm63xx/dev-wdt.c
+++ b/target/linux/brcm63xx/files/arch/mips/bcm63xx/dev-wdt.c
@@ -32,7 +32,5 @@ int __init bcm63xx_wdt_register(void)
 	wdt_resources[0].end = wdt_resources[0].start;
 	wdt_resources[0].end += RSET_WDT_SIZE - 1;
 
-	/* Disable watchdog for 6345 until we fix it */
-	if (!BCMCPU_IS_6345())
-		return platform_device_register(&bcm63xx_wdt_device);
+	return platform_device_register(&bcm63xx_wdt_device);
 }
diff --git a/target/linux/brcm63xx/files/drivers/watchdog/bcm63xx_wdt.c b/target/linux/brcm63xx/files/drivers/watchdog/bcm63xx_wdt.c
index 5e7689c6f..8d58ccd8b 100644
--- a/target/linux/brcm63xx/files/drivers/watchdog/bcm63xx_wdt.c
+++ b/target/linux/brcm63xx/files/drivers/watchdog/bcm63xx_wdt.c
@@ -57,7 +57,7 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
 /* HW functions */
 static void bcm63xx_wdt_hw_start(void)
 {
-	bcm_writel(0xffffffff, bcm63xx_wdt_device.regs + WDT_DEFVAL_REG);
+	bcm_writel(0xfffffffe, bcm63xx_wdt_device.regs + WDT_DEFVAL_REG);
 	bcm_writel(WDT_START_1, bcm63xx_wdt_device.regs + WDT_CTL_REG);
 	bcm_writel(WDT_START_2, bcm63xx_wdt_device.regs + WDT_CTL_REG);
 }
-- 
2.20.1