changing circuitry to disable RTC, update initialization to match
[fw/openalt] / fiq / fiq.c
1 #include "FreeRTOS.h"
2
3 #include "fiq.h"
4
5 //
6 //
7 //
8 static volatile unsigned int fiqCounter;
9
10 //
11 //
12 //
13 void fiqInit (void)
14 {
15   SCB_PCONP |= SCB_PCONP_PCTIM1;
16
17   VIC_IntSelect |= VIC_IntSelect_Timer1;
18   VIC_IntEnable = VIC_IntEnable_Timer1;
19
20   T1_PR = 0;
21   T1_MR0 = configCPU_CLOCK_HZ / 8;
22   T1_MCR = T_MCR_MR0R | T_MCR_MR0I;
23 }
24
25 int fiqEnable (void)
26 {
27   unsigned int state = T1_TCR;
28
29   T1_TCR = T_TCR_CE;
30
31   return (state & T_TCR_CE) ? 1 : 0;
32 }
33
34 int fiqDisable (void)
35 {
36   unsigned int state = T1_TCR;
37
38   T1_TCR = T_TCR_CR;
39
40   return (state & T_TCR_CE) ? 1 : 0;
41 }
42
43 unsigned int fiqGetCount (void)
44 {
45   return fiqCounter;
46 }
47
48 void fiqClearCount (void)
49 {
50   fiqCounter = 0;
51 }
52
53 void fiqISR (void) __attribute__ ((interrupt ("FIQ")));
54 void fiqISR (void)
55 {
56   ++fiqCounter;
57
58   T1_IR = T_IR_MASK;
59 }