summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-07 17:40:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-07 17:40:52 +0000
commit0e58c4f598fc8782041bc01c2f58e02d5bf2e001 (patch)
treeebba2f03d64a0949912b18f77fdf9e79e7b5827b /c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
parent2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-0e58c4f598fc8782041bc01c2f58e02d5bf2e001.tar.bz2
2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
* clock/ckinit.c: Add nanoseconds clock tick granularity support.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/sparc/leon3/clock/ckinit.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
index bde71411f6..977b9d887a 100644
--- a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
+++ b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
@@ -94,4 +94,19 @@ static int clkirq;
LEON3_Timer_Regs->timer[LEON3_CLOCK_INDEX].conf = 0; \
} while (0)
+uint32_t bsp_clock_nanoseconds_since_last_tick(void)
+{
+ uint32_t clicks;
+ if ( !LEON3_Timer_Regs )
+ return 0;
+
+ clicks = LEON3_Timer_Regs->timer[0].value;
+
+ /* Down counter */
+ return (uint32_t)
+ (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
+}
+
+#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
+
#include "../../../shared/clockdrv_shell.c"