diff options
Diffstat (limited to 'c/src/lib/libcpu/bfin/clock/clock.c')
-rw-r--r-- | c/src/lib/libcpu/bfin/clock/clock.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/c/src/lib/libcpu/bfin/clock/clock.c b/c/src/lib/libcpu/bfin/clock/clock.c deleted file mode 100644 index d46ab3581e..0000000000 --- a/c/src/lib/libcpu/bfin/clock/clock.c +++ /dev/null @@ -1,81 +0,0 @@ -/* RTEMS Clock Tick Driver for Blackfin. Uses Blackfin Core Timer. - */ - -/* - * Copyright (c) 2008 Kallisti Labs, Los Gatos, CA, USA - * written by Allan Hessenflow <allanh@kallisti.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 <stdlib.h> -#include <rtems/libio.h> -#include <rtems/score/percpu.h> -#include <bsp.h> -#include <rtems/clockdrv.h> - - -#include <libcpu/cecRegs.h> -#include <libcpu/coreTimerRegs.h> - -#if (BFIN_ON_SKYEYE) -#define CLOCK_DRIVER_USE_FAST_IDLE 1 -#endif - -volatile uint32_t Clock_driver_ticks; - -void Clock_exit(void); - -static rtems_isr clockISR(rtems_vector_number vector) { - - Clock_driver_ticks += 1; - -#if CLOCK_DRIVER_USE_FAST_IDLE - do { - rtems_clock_tick(); - } while ( _Thread_Heir == _Thread_Executing && _Thread_Executing->is_idle ); -#else - rtems_clock_tick(); -#endif -} - -/* - * Clock_exit - * - * This routine allows the clock driver to exit by masking the interrupt and - * disabling the clock's counter. - */ -void Clock_exit(void) -{ - *(uint32_t volatile *) TCNTL = 0; -} - -/* - * Clock_initialize - * - * This routine initializes the clock driver. - */ -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - Clock_driver_ticks = 0; - - set_vector(clockISR, CEC_CORE_TIMER_VECTOR, 1); - - *(uint32_t volatile *) TCNTL = TCNTL_TMPWR | TCNTL_TAUTORLD; - *(uint32_t volatile *) TSCALE = 0; - *(uint32_t volatile *) TPERIOD = CCLK / 1000000 * - rtems_configuration_get_microseconds_per_tick(); - *(uint32_t volatile *) TCNTL = TCNTL_TMPWR | TCNTL_TAUTORLD | TCNTL_TMREN; - - atexit(Clock_exit); - - return RTEMS_SUCCESSFUL; -} |