[U-Boot] [PATCH] Hardware watchdog support for AT91SAM9260 CPU

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Wed Oct 22 23:49:44 CEST 2008


On 02:29 Fri 15 Aug     , Sergey Lapin wrote:
> 
> Signed-off-by: Sergey Lapin <slapin at 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.


More information about the U-Boot mailing list