blackfin: Move blackfin watchdog driver out of the blackfin arch folder.
- Enable hw_watchdog_init() in watchdog.h if CONFIG_HW_WATCHDOG is defined. - Move blackfin hw watchdog driver to the generic driver folder. - Call hw_watchdog_init() from blackfin board init code. - Reuse macro CONFIG_WATCHDOG_TIMEOUT_MSECS - Update README.watchdog accordingly Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
This commit is contained in:
@@ -33,6 +33,7 @@ endif
|
||||
COBJS-$(CONFIG_TNETV107X_WATCHDOG) += tnetv107x_wdt.o
|
||||
COBJS-$(CONFIG_S5P) += s5p_wdt.o
|
||||
COBJS-$(CONFIG_XILINX_TB_WATCHDOG) += xilinx_tb_wdt.o
|
||||
COBJS-$(CONFIG_BFIN_WATCHDOG) += bfin_wdt.o
|
||||
|
||||
COBJS := $(COBJS-y)
|
||||
SRCS := $(COBJS:.o=.c)
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* watchdog.c - driver for Blackfin on-chip watchdog
|
||||
*
|
||||
* Copyright (c) 2007-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <watchdog.h>
|
||||
#include <asm/blackfin.h>
|
||||
#include <asm/mach-common/bits/watchdog.h>
|
||||
|
||||
void hw_watchdog_reset(void)
|
||||
{
|
||||
bfin_write_WDOG_STAT(0);
|
||||
}
|
||||
|
||||
void hw_watchdog_init(void)
|
||||
{
|
||||
bfin_write_WDOG_CTL(WDDIS);
|
||||
SSYNC();
|
||||
bfin_write_WDOG_CNT(CONFIG_WATCHDOG_TIMEOUT_MSECS / 1000 * get_sclk());
|
||||
hw_watchdog_reset();
|
||||
bfin_write_WDOG_CTL(WDEN);
|
||||
}
|
||||
Reference in New Issue
Block a user