
On 02:29 Fri 15 Aug , Sergey Lapin wrote:
Signed-off-by: Sergey Lapin slapin@ossfans.org
cpu/arm926ejs/at91/Makefile | 1 + cpu/arm926ejs/at91/watchdog.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 0 deletions(-) create mode 100644 cpu/arm926ejs/at91/watchdog.c
diff --git a/cpu/arm926ejs/at91/Makefile b/cpu/arm926ejs/at91/Makefile index 44cde1a..7befcd7 100644 --- a/cpu/arm926ejs/at91/Makefile +++ b/cpu/arm926ejs/at91/Makefile @@ -29,6 +29,7 @@ COBJS-y += ether.o COBJS-y += timer.o COBJS-$(CONFIG_HAS_DATAFLASH) +=spi.o COBJS-y += usb.o +COBJS-$(CONFIG_HW_WATCHDOG) +=watchdog.o SOBJS = lowlevel_init.o
SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) diff --git a/cpu/arm926ejs/at91/watchdog.c b/cpu/arm926ejs/at91/watchdog.c new file mode 100644 index 0000000..da15268 --- /dev/null +++ b/cpu/arm926ejs/at91/watchdog.c @@ -0,0 +1,35 @@ +/*
- watchdog.c - driver for at91sam9260 watchdog
This drivers can be used on all at91sam9
- Copyright (c) 2007-2008 Analog Devices Inc.
Are you from ADI?
- Licensed under the GPL-2 or later.
- */
+#include <common.h> +#include <watchdog.h> +#include <asm/arch/hardware.h> +#include <asm/arch/io.h>
+#ifdef CONFIG_HW_WATCHDOG
no need please remove
+#define AT91_WDT_CR (AT91_WDT+0x00)
^ please add space arround '+'
+#define AT91_WDT_MR (AT91_WDT+0x04) +#define AT91_WDT_SR (AT91_WDT+0x08)
+void hw_watchdog_reset(void) +{
- at91_sys_write(AT91_WDT_CR, 0xa5000001);
^^^^ please use macro you can import them from Linux
+}
+void hw_watchdog_init(void) +{
- /* 16 seconds timer, resets enabled */
- at91_sys_write(AT91_WDT_MR, 0x3FFF2FFF);
Ditto
+}
+void hw_watchdog_disable(void) +{
- /* Can't reenable per documentation */
- at91_sys_write(AT91_WDT_MR, 0x8000);
Ditto
+} +#endif
Best Regargds, J.