All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom <Tom.Rix@windriver.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm:kirkwood: Add hardware watchdog support for	Marvell Kirkwood boards
Date: Mon, 28 Sep 2009 07:36:32 -0500	[thread overview]
Message-ID: <4AC0ADD0.80402@windriver.com> (raw)
In-Reply-To: <1254121586-26903-1-git-send-email-simon.kagstrom@netinsight.net>

Simon Kagstrom wrote:
> Initialize by calling kw_watchdog_init() with the number of seconds for
> the watchdog to timeout.
> 
> Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
> ---
>  cpu/arm926ejs/kirkwood/timer.c      |   29 +++++++++++++++++++++++++++++
>  include/asm-arm/arch-kirkwood/cpu.h |    2 ++
>  2 files changed, 31 insertions(+), 0 deletions(-)
> 
> diff --git a/cpu/arm926ejs/kirkwood/timer.c b/cpu/arm926ejs/kirkwood/timer.c
> index 817ff42..f3397e7 100644
> --- a/cpu/arm926ejs/kirkwood/timer.c
> +++ b/cpu/arm926ejs/kirkwood/timer.c
> @@ -25,6 +25,7 @@
>  #include <asm/arch/kirkwood.h>
>  
>  #define UBOOT_CNTR	0	/* counter to use for uboot timer */
> +#define WATCHDOG_CNTR	2
>  
>  /* Timer reload and current value registers */
>  struct kwtmr_val {
> @@ -166,3 +167,31 @@ int timer_init(void)
>  
>  	return 0;
>  }
> +
> +#if defined(CONFIG_HW_WATCHDOG)
> +static unsigned long watchdog_timeout = 5;
> +void hw_watchdog_reset(void)
> +{
> +	unsigned long time = CONFIG_SYS_TCLK * watchdog_timeout;
> +
> +	writel(time, CNTMR_VAL_REG(WATCHDOG_CNTR));
> +}
> +
> +void kw_watchdog_init(unsigned long timeout_secs)
> +{
> +	struct kwcpu_registers *cpureg =
> +		(struct kwcpu_registers *)KW_CPU_REG_BASE;
> +	unsigned int cntmrctrl;
> +
> +	watchdog_timeout = timeout_secs;
> +	/* Enable CPU reset if watchdog expires */
> +	cpureg->rstoutn_mask |= WATCHDOG_CNTR;
> +	hw_watchdog_reset();
> +
> +	/* Enable the watchdog */
> +	cntmrctrl = readl(CNTMR_CTRL_REG);
> +	cntmrctrl |= CTCR_ARM_TIMER_EN(WATCHDOG_CNTR);
> +	cntmrctrl |= CTCR_ARM_TIMER_AUTO_EN(WATCHDOG_CNTR);
> +	writel(cntmrctrl, CNTMR_CTRL_REG);
> +}
> +#endif
> diff --git a/include/asm-arm/arch-kirkwood/cpu.h b/include/asm-arm/arch-kirkwood/cpu.h
> index b3022a3..df49c3f 100644
> --- a/include/asm-arm/arch-kirkwood/cpu.h
> +++ b/include/asm-arm/arch-kirkwood/cpu.h
> @@ -165,5 +165,7 @@ int kw_config_mpp(unsigned int mpp0_7, unsigned int mpp8_15,
>  		unsigned int mpp32_39, unsigned int mpp40_47,
>  		unsigned int mpp48_55);
>  unsigned int kw_winctrl_calcsize(unsigned int sizeval);
> +void kw_watchdog_init(unsigned long timeout_secs);
> +

You should add hw_watchdog_reset to H the file or declare it static.

You may want to add #define stubs to handle the ifndef CONFIG_HW_WATCHDOG.

Tom

>  #endif /* __ASSEMBLY__ */
>  #endif /* _KWCPU_H */

  reply	other threads:[~2009-09-28 12:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-28  7:06 [U-Boot] [PATCH] arm:kirkwood: Add hardware watchdog support for Marvell Kirkwood boards Simon Kagstrom
2009-09-28 12:36 ` Tom [this message]
2009-09-28 13:36   ` Simon Kagstrom
2009-09-28 14:28     ` Tom
2009-09-29  2:16 ` Prafulla Wadaskar
2009-09-29  8:28   ` Simon Kagstrom
2009-09-29 13:45     ` Prafulla Wadaskar
2009-09-29 13:59       ` Stefan Roese
2009-09-29 14:01       ` Simon Kagstrom
2009-10-28  8:17 ` Simon Kagstrom
2009-10-28  9:24   ` Prafulla Wadaskar
2009-10-28  9:53     ` Simon Kagstrom
2009-10-28 11:34       ` Prafulla Wadaskar
2009-10-28 12:44         ` Simon Kagstrom
2009-10-28 12:57           ` Prafulla Wadaskar
2009-10-28 13:05             ` Simon Kagstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AC0ADD0.80402@windriver.com \
    --to=tom.rix@windriver.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.