From: Dirk Behme <dirk.behme@googlemail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] core ticks/timer code
Date: Sat, 28 Mar 2009 08:07:45 +0100 [thread overview]
Message-ID: <49CDCCC1.5050503@googlemail.com> (raw)
In-Reply-To: <200903272130.26825.vapier@gentoo.org>
Mike Frysinger wrote:
> the Blackfin core tick/timer code has been around since the start of the
> original port, but i'm not sure it's entirely correct. some common code that
> uses timers seems to be misbehaving in that the timeout is pretty much
> immediate. makes me think that we've spent time on making udelay() work, but
> then just glossed over the rest.
>
> unfortunately, there doesnt seem to be any docs on what exactly these
> functions do so it's hard for me to verify/change any of it.
Yes, you are right. Some days ago I found that no proper documentation
for the ticks/timer related code is there, too.
From looking at the existing code for some ARM boards (OSK, DaVinci,
OMAP3) my idea of this code is:
> my understanding is that:
> - get_ticks - return some notion of "cpu ticks"
Yes. Returns the number of cpu ticks since power up. I.e. with 1000
ticks per second (CONFIG_SYS_HZ) the number of elapsed ms since power up.
> - get_tbclk - return number of "cpu ticks" that elapse in one second
Yes. Some implementations just return CONFIG_SYS_HZ which is supposed
to be 1000.
> - timer_init - setup a core timer
Some implementations do this in interrupt_init(), too.
> - get_timer(x) - not really sure what this is supposed to represent, or how
> "x" is used
This is similar to get_ticks(), i.e. returns the number of ticks since
power up. Parameter x is used as a base which is subtracted from
ticks. With x == 0 this function is the same as get_ticks(). If x != 0
the value returned is
number of ticks since power up - x
> - reset_timer - reset core timer to 0
Some implementations don't reset the timer (hw device) itself. They
just reset the timestamp counter (sw variable) which counts the ticks
since power up (i.e. that is returned by get_ticks()).
> - CONFIG_SYS_HZ - no idea how this relates to ticks/timer in U-Boot as in the
> Linux world, this is the core timer (scheduler) frequency (how many times to
> execute per second)
CONFIG_SYS_HZ is supposed to be 1000
Does this make sense?
Best regards
Dirk
next prev parent reply other threads:[~2009-03-28 7:07 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-28 1:30 [U-Boot] core ticks/timer code Mike Frysinger
2009-03-28 7:07 ` Dirk Behme [this message]
2009-03-31 1:10 ` Mike Frysinger
2009-03-31 11:41 ` Scott McNutt
2009-03-31 15:48 ` Wolfgang Denk
2009-03-31 21:25 ` Scott Wood
2009-03-31 21:27 ` Wolfgang Denk
2009-04-02 12:38 ` Detlev Zundel
2009-04-02 13:09 ` Scott McNutt
2009-03-31 20:46 ` Wolfgang Denk
2009-03-31 8:17 ` Jean-Christophe PLAGNIOL-VILLARD
2009-03-31 9:13 ` Mike Frysinger
2009-03-31 10:28 ` Wolfgang Denk
2009-03-31 11:25 ` Mike Frysinger
2009-03-31 11:41 ` Jean-Christophe PLAGNIOL-VILLARD
2009-03-31 15:55 ` Dirk Behme
2009-04-02 19:16 ` Ladislav Michl
2009-04-02 21:18 ` Graeme Russ
2009-04-04 21:35 ` Wolfgang Denk
2009-03-31 15:46 ` Wolfgang Denk
2009-03-31 11:39 ` Jean-Christophe PLAGNIOL-VILLARD
2009-03-31 15:49 ` Wolfgang Denk
2009-03-31 21:32 ` Scott Wood
2009-04-04 21:14 ` Wolfgang Denk
2009-04-06 19:12 ` Scott Wood
2009-04-06 19:43 ` Wolfgang Denk
2009-03-31 20:43 ` Wolfgang Denk
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=49CDCCC1.5050503@googlemail.com \
--to=dirk.behme@googlemail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox