summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-07 17:39:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-07 17:39:10 +0000
commitef83c4c70f508621c22106bed90d98b27d4853b5 (patch)
tree495b600b26f4bbccfb03737a4262cbe585283324
parent2008-05-06 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-ef83c4c70f508621c22106bed90d98b27d4853b5.tar.bz2
2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
* clock/ckinit.c: Add nanoseconds clock tick granularity support.
-rw-r--r--c/src/lib/libbsp/sparc/leon2/ChangeLog4
-rw-r--r--c/src/lib/libbsp/sparc/leon2/clock/ckinit.c12
-rw-r--r--c/src/lib/libbsp/sparc/leon3/ChangeLog4
-rw-r--r--c/src/lib/libbsp/sparc/leon3/clock/ckinit.c14
4 files changed, 34 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/leon2/ChangeLog b/c/src/lib/libbsp/sparc/leon2/ChangeLog
index 65cd63cac8..a7aa487a57 100644
--- a/c/src/lib/libbsp/sparc/leon2/ChangeLog
+++ b/c/src/lib/libbsp/sparc/leon2/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ * clock/ckinit.c: Add nanoseconds clock tick granularity support.
+
2008-03-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/linkcmds: Add wildcard to gcc_except_table section so
diff --git a/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c
index 5b63cdf366..4635974418 100644
--- a/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c
+++ b/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c
@@ -59,4 +59,16 @@ extern int CLOCK_SPEED;
LEON_REG.Timer_Control_1 = 0; \
} while (0)
+uint32_t bsp_clock_nanoseconds_since_last_tick(void)
+{
+ uint32_t clicks;
+
+ clicks = LEON_REG.Timer_Counter_1;
+
+ /* Down counter */
+ return (uint32_t) (BSP_Configuration.microseconds_per_tick - clicks) * 1000;
+}
+
+#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
+
#include "../../../shared/clockdrv_shell.c"
diff --git a/c/src/lib/libbsp/sparc/leon3/ChangeLog b/c/src/lib/libbsp/sparc/leon3/ChangeLog
index dcafeb5733..8ebcf926aa 100644
--- a/c/src/lib/libbsp/sparc/leon3/ChangeLog
+++ b/c/src/lib/libbsp/sparc/leon3/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ * clock/ckinit.c: Add nanoseconds clock tick granularity support.
+
2008-03-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/linkcmds: Add wildcard to gcc_except_table section so
diff --git a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
index d9f2acb6fe..cb18d0d076 100644
--- a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
+++ b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
@@ -82,4 +82,18 @@ 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) (BSP_Configuration.microseconds_per_tick - clicks) * 1000;
+}
+
+#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
+
#include "../../../shared/clockdrv_shell.c"