source: rtems/c/src/lib/libbsp/mips/genmongoosev/clock/clockdrv.c @ a355e3ea

4.104.114.84.95
Last change on this file since a355e3ea was a355e3ea, checked in by Joel Sherrill <joel.sherrill@…>, on May 22, 2001 at 11:07:09 PM

2001-05-22 Greg Menke <gregory.menke@…>

  • Assisted in design and debug by Joel Sherrill <joel@…>.
  • clock/clockdrv.c, console/conscfg.c: Corrected.
  • include/bsp.h: Support for tm27 and addition of CPU_CLOCK_RATE.
  • startup/bspstart.c: Properly set initial status register and pending interrupts.
  • timer/timer.c: Works now.
  • Property mode set to 100644
File size: 1.5 KB
Line 
1/*
2 *  Instantiate the clock driver shell for the Mongoose-V's on-CPU timer.
3 *
4 *  COPYRIGHT (c) 1989-2001.
5 *  On-Line Applications Research Corporation (OAR).
6 *
7 *  The license and distribution terms for this file may be
8 *  found in found in the file LICENSE in this distribution or at
9 *  http://www.OARcorp.com/rtems/license.html.
10 *
11 *  $Id$
12 */
13
14#include <rtems.h>
15#include <libcpu/mongoose-v.h>
16#include <bsp.h>
17
18#if defined(USE_TIMER2_FOR_CLOCK)
19#define CLOCK_BASE   MONGOOSEV_TIMER2_BASE
20#define CLOCK_VECTOR MONGOOSEV_IRQ_TIMER2
21#else
22#define CLOCK_BASE   MONGOOSEV_TIMER1_BASE
23#define CLOCK_VECTOR MONGOOSEV_IRQ_TIMER1
24#endif
25
26
27
28/* reset Timeout (TO) bit */
29
30#define Clock_driver_support_at_tick() \
31  do { \
32    MONGOOSEV_WRITE_REGISTER( CLOCK_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER, \
33         (MONGOOSEV_TIMER_CONTROL_COUNTER_ENABLE | MONGOOSEV_TIMER_CONTROL_INTERRUPT_ENABLE)); \
34  } while(0)
35
36
37#define Clock_driver_support_install_isr( _new, _old ) \
38  do { \
39    _old = set_vector( _new, CLOCK_VECTOR, 1 ); \
40  } while(0)
41
42
43#define Clock_driver_support_initialize_hardware() \
44   do { \
45    unsigned32 _clicks = CPU_CLOCK_RATE_MHZ * rtems_configuration_get_microseconds_per_tick(); \
46    MONGOOSEV_WRITE_REGISTER( CLOCK_BASE, MONGOOSEV_TIMER_INITIAL_COUNTER_REGISTER, _clicks ); \
47    Clock_driver_support_at_tick(); \
48   } while(0)
49
50#define Clock_driver_support_shutdown_hardware() \
51  MONGOOSEV_WRITE_REGISTER( CLOCK_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER, 0 )
52
53#include <clockdrv_shell.c>
Note: See TracBrowser for help on using the repository browser.