summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/csb336
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 12:08:42 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 13:52:19 +0200
commite0dd8a5ad830798bc8082b03b8c42c32fb9660e0 (patch)
treed147bfc4d670fcdfbd2e2d2e75eb209f92e07df1 /c/src/lib/libbsp/arm/csb336
parentbsps: Move startup files to bsps (diff)
downloadrtems-e0dd8a5ad830798bc8082b03b8c42c32fb9660e0.tar.bz2
bsps: Move benchmark timer to bsps
This patch is a part of the BSP source reorganization. Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/arm/csb336')
-rw-r--r--c/src/lib/libbsp/arm/csb336/Makefile.am2
-rw-r--r--c/src/lib/libbsp/arm/csb336/timer/timer.c93
2 files changed, 1 insertions, 94 deletions
diff --git a/c/src/lib/libbsp/arm/csb336/Makefile.am b/c/src/lib/libbsp/arm/csb336/Makefile.am
index 58bab61c7f..8702c2cbb6 100644
--- a/c/src/lib/libbsp/arm/csb336/Makefile.am
+++ b/c/src/lib/libbsp/arm/csb336/Makefile.am
@@ -28,7 +28,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/sbrk.c
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/cpucounter/cpucounterread.c
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/cpucounter/cpucounterdiff.c
librtemsbsp_a_SOURCES +=../../../../../../bsps/arm/csb336/clock/clockdrv.c
-librtemsbsp_a_SOURCES += timer/timer.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/csb336/btimer/btimer.c
# console
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/csb336/console/uart.c
# IRQ
diff --git a/c/src/lib/libbsp/arm/csb336/timer/timer.c b/c/src/lib/libbsp/arm/csb336/timer/timer.c
deleted file mode 100644
index 66ff4a0bf4..0000000000
--- a/c/src/lib/libbsp/arm/csb336/timer/timer.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * @file
- * @brief Cogent CSB336 Timer driver
- *
- * This uses timer 2 for timing measurments.
- */
-
-/*
- * Copyright (c) 2004 Cogent Computer Systems
- * Written by Jay Monkman <jtm@lopingdog.com>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <rtems.h>
-#include <bsp.h>
-#include <rtems/btimer.h>
-#include <mc9328mxl.h>
-
-uint32_t g_start;
-uint32_t g_freq;
-
-bool benchmark_timer_find_average_overhead;
-
-
-/*
- * Set up Timer 1
- */
-void benchmark_timer_initialize( void )
-{
- MC9328MXL_TMR2_TCTL = (MC9328MXL_TMR_TCTL_CLKSRC_PCLK1 |
- MC9328MXL_TMR_TCTL_FRR |
- MC9328MXL_TMR_TCTL_TEN);
- /* set prescaler to 1 (register value + 1) */ \
- MC9328MXL_TMR2_TPRER = 0;
-
- /* get freq of counter in KHz */
- g_freq = get_perclk1_freq() / 1000;
-
- g_start = MC9328MXL_TMR2_TCN;
-}
-
-/*
- * The following controls the behavior of benchmark_timer_read().
- *
- * AVG_OVEREHAD is the overhead for starting and stopping the timer. It
- * is usually deducted from the number returned.
- *
- * LEAST_VALID is the lowest number this routine should trust. Numbers
- * below this are "noise" and zero is returned.
- */
-
-#define AVG_OVERHEAD 0 /* It typically takes X.X microseconds */
- /* (Y countdowns) to start/stop the timer. */
- /* This value is in microseconds. */
-#define LEAST_VALID 1 /* Don't trust a clicks value lower than this */
-
-benchmark_timer_t benchmark_timer_read( void )
-{
- uint32_t t;
- unsigned long long total;
-
- t = MC9328MXL_TMR2_TCN;
- /*
- * Total is calculated by taking into account the number of timer overflow
- * interrupts since the timer was initialized and clicks since the last
- * interrupts.
- */
-
- total = (t - g_start);
-
- /* convert to nanoseconds */
- total = (total * 1000)/ g_freq;
-
- if ( benchmark_timer_find_average_overhead == 1 ) {
- return (int) total;
- } else if ( total < LEAST_VALID ) {
- return 0;
- }
- /*
- * Somehow convert total into microseconds
- */
-
- return (total - AVG_OVERHEAD);
-}
-
-void benchmark_timer_disable_subtracting_average_overhead(bool find_flag)
-{
- benchmark_timer_find_average_overhead = find_flag;
-}
-