All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM: bcm2835: fix get_timer() to return mS
Date: Thu, 28 Mar 2013 10:00:14 +0100	[thread overview]
Message-ID: <20130328100014.074eebc8@lilith> (raw)
In-Reply-To: <1363923150-12493-1-git-send-email-swarren@wwwdotorg.org>

Hi Stephen,

On Thu, 21 Mar 2013 21:32:30 -0600, Stephen Warren
<swarren@wwwdotorg.org> wrote:

> Apparently, CONFIG_SYS_HZ must be 1000. Change this, and fix the timer
> driver to conform to this.
> 
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
> ---
>  arch/arm/cpu/arm1176/bcm2835/timer.c |   13 +++++++++----
>  include/configs/rpi_b.h              |    2 +-
>  2 files changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm1176/bcm2835/timer.c b/arch/arm/cpu/arm1176/bcm2835/timer.c
> index d232d7e..f550020 100644
> --- a/arch/arm/cpu/arm1176/bcm2835/timer.c
> +++ b/arch/arm/cpu/arm1176/bcm2835/timer.c
> @@ -23,12 +23,17 @@ int timer_init(void)
>  	return 0;
>  }
>  
> -ulong get_timer(ulong base)
> +ulong get_timer_us(void)
>  {
>  	struct bcm2835_timer_regs *regs =
>  		(struct bcm2835_timer_regs *)BCM2835_TIMER_PHYSADDR;
>  
> -	return readl(&regs->clo) - base;
> +	return readl(&regs->clo);
> +}
> +
> +ulong get_timer(ulong base)
> +{
> +	return (get_timer_us() / 1000) - base;
>  }
>  
>  unsigned long long get_ticks(void)
> @@ -46,10 +51,10 @@ void __udelay(unsigned long usec)
>  	ulong endtime;
>  	signed long diff;
>  
> -	endtime = get_timer(0) + usec;
> +	endtime = get_timer_us() + usec;
>  
>  	do {
> -		ulong now = get_timer(0);
> +		ulong now = get_timer_us();
>  		diff = endtime - now;
>  	} while (diff >= 0);
>  }
> diff --git a/include/configs/rpi_b.h b/include/configs/rpi_b.h
> index 3d55d36..c18b35b 100644
> --- a/include/configs/rpi_b.h
> +++ b/include/configs/rpi_b.h
> @@ -31,7 +31,7 @@
>  #define CONFIG_MACH_TYPE		MACH_TYPE_BCM2708
>  
>  /* Timer */
> -#define CONFIG_SYS_HZ			1000000
> +#define CONFIG_SYS_HZ			1000
>  
>  /* Memory layout */
>  #define CONFIG_NR_DRAM_BANKS		1

Is this a fix to some known issue or bug?

Amicalement,
-- 
Albert.

  reply	other threads:[~2013-03-28  9:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-22  3:32 [U-Boot] [PATCH] ARM: bcm2835: fix get_timer() to return mS Stephen Warren
2013-03-28  9:00 ` Albert ARIBAUD [this message]
2013-03-28 15:10   ` Stephen Warren

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=20130328100014.074eebc8@lilith \
    --to=albert.u.boot@aribaud.net \
    --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.