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
-------------------------------

Attachment: 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

Reply via email to