summaryrefslogtreecommitdiff
path: root/cpu/arm926ejs/nomadik/timer.c
diff options
context:
space:
mode:
authorScott McNutt <smcnutt@psyent.com>2010-04-01 00:00:56 -0400
committerScott McNutt <smcnutt@psyent.com>2010-04-02 12:28:41 -0400
commitd8bc0a2889700ba063598de6d4e7d135360b537e (patch)
tree78412b80d2152b3690723179897fc5113c108b8e /cpu/arm926ejs/nomadik/timer.c
parented2941578480d30b413e081b6f1a5675d4afd9e2 (diff)
downloadu-boot-imx-d8bc0a2889700ba063598de6d4e7d135360b537e.zip
u-boot-imx-d8bc0a2889700ba063598de6d4e7d135360b537e.tar.gz
u-boot-imx-d8bc0a2889700ba063598de6d4e7d135360b537e.tar.bz2
nios2: Reload timer count in reset_timer()
When the timestamp is incremented via interrupt and the interrupt period is greater than 1 msec, successive calls to get_timer() can produce inaccurate timing since the interrupts are asynchronous to the timing loop. For example, with an interrupt period of 10 msec two successive calls to get_timer() could indicate an elapsed time of 10 msec after only several hundred usecs -- depending on when the next interrupt actually occurs. This behavior can cause reliability issues with components such as CFI and NAND. This can be remedied by calling reset_timer() prior to establishing the base timestamp with get_timer(0), provided reset_timer() resets the hardware timer (rather than simply resetting only the timestamp). This has the effect of synchronizing the interrupts (and the advance of the timestamp) with the timing loop. Signed-off-by: Scott McNutt <smcnutt@psyent.com>
Diffstat (limited to 'cpu/arm926ejs/nomadik/timer.c')
0 files changed, 0 insertions, 0 deletions