diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-07 17:40:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-07 17:40:52 +0000 |
commit | 0e58c4f598fc8782041bc01c2f58e02d5bf2e001 (patch) | |
tree | ebba2f03d64a0949912b18f77fdf9e79e7b5827b /c/src/lib/libbsp/sparc | |
parent | 2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-0e58c4f598fc8782041bc01c2f58e02d5bf2e001.tar.bz2 |
2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
* clock/ckinit.c: Add nanoseconds clock tick granularity support.
Diffstat (limited to 'c/src/lib/libbsp/sparc')
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/ChangeLog | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/clock/ckinit.c | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/ChangeLog | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/clock/ckinit.c | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/ChangeLog | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/clock/ckinit.c | 15 |
6 files changed, 44 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/sparc/erc32/ChangeLog b/c/src/lib/libbsp/sparc/erc32/ChangeLog index ea7ac85577..2e1721a631 100644 --- a/c/src/lib/libbsp/sparc/erc32/ChangeLog +++ b/c/src/lib/libbsp/sparc/erc32/ChangeLog @@ -1,3 +1,7 @@ +2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com> + + * clock/ckinit.c: Add nanoseconds clock tick granularity support. + 2008-04-23 Joel Sherrill <joel.sherrill@OARcorp.com> * Makefile.am: Remove all references to console_reserve_resources and diff --git a/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c b/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c index b97a834627..7163ac3363 100644 --- a/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c +++ b/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c @@ -7,7 +7,7 @@ * The tick frequency is directly programmed to the configured number of * microseconds per tick. * - * COPYRIGHT (c) 1989-2006. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -52,7 +52,8 @@ uint32_t bsp_clock_nanoseconds_since_last_tick(void) clicks = ERC32_MEC.Real_Time_Clock_Counter; - return (uint32_t) (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000; + return (uint32_t) + (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000; } #define Clock_driver_nanoseconds_since_last_tick \ diff --git a/c/src/lib/libbsp/sparc/leon2/ChangeLog b/c/src/lib/libbsp/sparc/leon2/ChangeLog index e6b6cc7132..5568e908be 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-04-23 Joel Sherrill <joel.sherrill@OARcorp.com> * Makefile.am: Remove all references to console_reserve_resources and diff --git a/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c index 5d128ebb3b..9f7cdcb31f 100644 --- a/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c +++ b/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c @@ -6,7 +6,7 @@ * The tick frequency is directly programmed to the configured number of * microseconds per tick. * - * COPYRIGHT (c) 1989-2006. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * Modified for LEON BSP @@ -59,4 +59,17 @@ 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) + (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" diff --git a/c/src/lib/libbsp/sparc/leon3/ChangeLog b/c/src/lib/libbsp/sparc/leon3/ChangeLog index bc67f53389..3828dc21ab 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-04-23 Joel Sherrill <joel.sherrill@OARcorp.com> * ChangeLog, Makefile.am: Remove all references to 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" |