diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-07 17:39:10 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-07 17:39:10 +0000 |
commit | ef83c4c70f508621c22106bed90d98b27d4853b5 (patch) | |
tree | 495b600b26f4bbccfb03737a4262cbe585283324 | |
parent | 2008-05-06 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-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/ChangeLog | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/clock/ckinit.c | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/ChangeLog | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/clock/ckinit.c | 14 |
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" |