changing circuitry to disable RTC, update initialization to match
[fw/openalt] / swi / swi.c
1 #include "FreeRTOS.h"
2
3 #include <stdio.h>
4
5 #include "swi.h"
6
7 //
8 //
9 //
10 #define LED2 GPIO_IO_P11
11
12 //
13 //
14 //
15 void swiInit (void)
16 {
17 }
18
19 int swiDispatchC (unsigned long r0, unsigned long r1 __attribute__ ((unused)), unsigned long r2 __attribute__ ((unused)), unsigned long swi)
20 {
21   int state = 0;
22
23   switch (swi)
24   {
25     case SWICALL_YIELDPROCESSOR :
26     case SWICALL_A_LED2SET :
27     case SWICALL_A_LED2ON :
28     case SWICALL_A_LED2OFF :
29     case SWICALL_A_LED2TOGGLE :
30       printf ("Eeek!  This should have been handled in the asm code\n");
31       break;
32
33     case SWICALL_C_LED2SET :
34       {
35         state = GPIO0_IOPIN & LED2;
36
37         if (r0)
38           GPIO0_IOSET = LED2;                   
39         else
40           GPIO0_IOCLR = LED2;
41       }
42       break;
43
44     case SWICALL_C_LED2ON :
45       {
46         state = GPIO0_IOPIN & LED2;
47         GPIO0_IOCLR = LED2;                     
48       }
49       break;
50
51     case SWICALL_C_LED2OFF :
52       {
53         state = GPIO0_IOPIN & LED2;
54         GPIO0_IOSET = LED2;                     
55       }
56       break;
57
58     case SWICALL_C_LED2TOGGLE :
59       {
60         if ((state = GPIO0_IOPIN & LED2))
61           GPIO0_IOCLR = LED2;
62         else
63           GPIO0_IOSET = LED2;                   
64       }
65       break;
66
67     default :
68       printf ("Eeek! Unhandled SWI value\n");
69       break;
70   }
71
72   return state;
73 }