Hi Aleksandar, Le Wednesday 21 January 2009 13:02:19 Aleksandar Radovanovic, vous avez écrit : > Hi, > > I'm trying to write a driver for my wl-500gP to export the watchdog > timer on BCM4712 to userspace, via /dev/watchdog. > > Since I have no access to chip datasheets, I've been digging through > SSB code, trying to figure out a a way to manipulate the watchdog. > > The problem is that, if I use ssb_watchdog_timer_set(), it will trigger > a reboot almost immediately for all valid values of the WDT register, > as WDT is apparently clocked by the SSB backplane clock > (something like 133 MHz, if I'm right).
Yeah, if you are setting the timeout counting in HZ instead of SSB_HZ, the timeout is too small and therefore the watchdog will trigger a software reset which for you seems to be immediate. > > Anyway, I need timeouts in the range of up to several tens of seconds > for the watchdog to be useful in userspace. > > Does anyone know of a way to pre-scale the WDT register or otherwise > extend the timeout? You might want to have a look at the bcm63xx watchdog driver, which I hope, should give you a good insight of how broadcom possibly designed its watchdog IP. See: https://dev.openwrt.org/browser/trunk/target/linux/brcm63xx/files/drivers/watchdog/bcm63xx_wdt.c There are also some bcm5325 pdfs on the internet which I am sure you can find the link to in the wiki. -- Best regards, Florian Fainelli Email : [email protected] http://openwrt.org -------------------------------
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ openwrt-devel mailing list [email protected] http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
