source: rtems/c/src/lib/libbsp/arm/edb7312/irq/bsp_irq_init.c @ c001766

4.104.114.95
Last change on this file since c001766 was c001766, checked in by Ralf Corsepius <ralf.corsepius@…>, on Aug 18, 2008 at 9:07:48 PM

2008-08-18 Ralf Corsépius <ralf.corsepius@…>

  • irq/bsp_irq_init.c: Add missing prototypes.
  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 * Cirrus EP7312 Intererrupt handler
3 *
4 * Copyright (c) 2002 by Jay Monkman <jtm@smoothsmoothie.com>
5 *
6 * Copyright (c) 2002 by Charlie Steader <charlies@poliac.com>
7 *
8 *  The license and distribution terms for this file may be
9 *  found in the file LICENSE in this distribution or at
10 *
11 *  http://www.rtems.com/license/LICENSE.
12 *
13 *
14 *  $Id$
15*/
16#include <irq.h>
17#include <bsp.h>
18#include <ep7312.h>
19
20extern void default_int_handler(void);
21
22void BSP_rtems_irq_mngt_init(void)
23{
24        long int_stat;
25        long *vectorTable;
26        int i;
27
28        vectorTable = (long *) VECTOR_TABLE;
29
30        /* Initialize the vector table contents with default handler */
31        for (i=0; i<BSP_MAX_INT; i++) {
32            *(vectorTable + i) = (long)(default_int_handler);
33        }
34
35        /* mask all interrupts */
36        *EP7312_INTMR1 = 0x0;
37        *EP7312_INTMR2 = 0x0;
38        *EP7312_INTMR3 = 0x0;
39
40        /* clear all pending interrupt status' */
41        int_stat = *EP7312_INTSR1;
42        if(int_stat & EP7312_INTR1_EXTFIQ)
43        {
44        }
45        if(int_stat & EP7312_INTR1_BLINT)
46        {
47                *EP7312_BLEOI = 0xFFFFFFFF;
48        }
49        if(int_stat & EP7312_INTR1_WEINT)
50        {
51            *EP7312_TEOI = 0xFFFFFFFF;
52        }
53        if(int_stat & EP7312_INTR1_MCINT)
54        {
55        }
56        if(int_stat & EP7312_INTR1_CSINT)
57        {
58                *EP7312_COEOI = 0xFFFFFFFF;
59        }
60        if(int_stat & EP7312_INTR1_EINT1)
61        {
62        }
63        if(int_stat & EP7312_INTR1_EINT2)
64        {
65        }
66        if(int_stat & EP7312_INTR1_EINT3)
67        {
68        }
69        if(int_stat & EP7312_INTR1_TC1OI)
70        {
71            *EP7312_TC1EOI = 0xFFFFFFFF;
72        }
73        if(int_stat & EP7312_INTR1_TC2OI)
74        {
75            *EP7312_TC2EOI = 0xFFFFFFFF;
76        }
77        if(int_stat & EP7312_INTR1_RTCMI)
78        {
79            *EP7312_RTCEOI = 0xFFFFFFFF;
80        }
81        if(int_stat & EP7312_INTR1_TINT)
82        {
83            *EP7312_TEOI = 0xFFFFFFFF;
84        }
85        if(int_stat & EP7312_INTR1_URXINT1)
86        {
87        }
88        if(int_stat & EP7312_INTR1_UTXINT1)
89        {
90        }
91        if(int_stat & EP7312_INTR1_UMSINT)
92        {
93            *EP7312_UMSEOI = 0xFFFFFFFF;
94        }
95        if(int_stat & EP7312_INTR1_SSEOTI)
96        {
97            *EP7312_SYNCIO;
98        }
99        int_stat = *EP7312_INTSR1;
100
101        int_stat = *EP7312_INTSR2;
102        if(int_stat & EP7312_INTR2_KBDINT)
103        {
104            *EP7312_KBDEOI = 0xFFFFFFFF;
105        }
106        if(int_stat & EP7312_INTR2_SS2RX)
107        {
108        }
109        if(int_stat & EP7312_INTR2_SS2TX)
110        {
111        }
112        if(int_stat & EP7312_INTR2_URXINT2)
113        {
114        }
115        if(int_stat & EP7312_INTR2_UTXINT2)
116        {
117        }
118        int_stat = *EP7312_INTSR2;
119
120        int_stat = *EP7312_INTSR3;
121        if(int_stat & EP7312_INTR2_DAIINT)
122        {
123        }
124        int_stat = *EP7312_INTSR3;
125}
Note: See TracBrowser for help on using the repository browser.