Merge branch 'u-boot-sunxi/master' into 'u-boot-arm/master'
[platform/kernel/u-boot.git] / drivers / watchdog / bfin_wdt.c
1 /*
2  * watchdog.c - driver for Blackfin on-chip watchdog
3  *
4  * Copyright (c) 2007-2009 Analog Devices Inc.
5  *
6  * Licensed under the GPL-2 or later.
7  */
8
9 #include <common.h>
10 #include <watchdog.h>
11 #include <asm/blackfin.h>
12 #include <asm/clock.h>
13 #include <asm/mach-common/bits/watchdog.h>
14
15 void hw_watchdog_reset(void)
16 {
17         bfin_write_WDOG_STAT(0);
18 }
19
20 void hw_watchdog_init(void)
21 {
22         bfin_write_WDOG_CTL(WDDIS);
23         SSYNC();
24         bfin_write_WDOG_CNT(CONFIG_WATCHDOG_TIMEOUT_MSECS / 1000 * get_sclk());
25         hw_watchdog_reset();
26         bfin_write_WDOG_CTL(WDEN);
27 }