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

4.104.11
Last change on this file since c193baad was c193baad, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on Apr 9, 2010 at 8:24:57 PM

unify irq data types and code, merge s3c2400/s3c2410 support

  • 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
20void BSP_rtems_irq_mngt_init(void)
21{
22        long int_stat;
23        long *vectorTable;
24        int i;
25
26        vectorTable = (long *) VECTOR_TABLE;
27
28        /* Initialize the vector table contents with default handler */
29        for (i=0; i<BSP_MAX_INT; i++) {
30            *(vectorTable + i) = (long)(default_int_handler);
31        }
32
33        /* mask all interrupts */
34        *EP7312_INTMR1 = 0x0;
35        *EP7312_INTMR2 = 0x0;
36        *EP7312_INTMR3 = 0x0;
37
38        /* clear all pending interrupt status' */
39        int_stat = *EP7312_INTSR1;
40        if(int_stat & EP7312_INTR1_EXTFIQ)
41        {
42        }
43        if(int_stat & EP7312_INTR1_BLINT)
44        {
45                *EP7312_BLEOI = 0xFFFFFFFF;
46        }
47        if(int_stat & EP7312_INTR1_WEINT)
48        {
49            *EP7312_TEOI = 0xFFFFFFFF;
50        }
51        if(int_stat & EP7312_INTR1_MCINT)
52        {
53        }
54        if(int_stat & EP7312_INTR1_CSINT)
55        {
56                *EP7312_COEOI = 0xFFFFFFFF;
57        }
58        if(int_stat & EP7312_INTR1_EINT1)
59        {
60        }
61        if(int_stat & EP7312_INTR1_EINT2)
62        {
63        }
64        if(int_stat & EP7312_INTR1_EINT3)
65        {
66        }
67        if(int_stat & EP7312_INTR1_TC1OI)
68        {
69            *EP7312_TC1EOI = 0xFFFFFFFF;
70        }
71        if(int_stat & EP7312_INTR1_TC2OI)
72        {
73            *EP7312_TC2EOI = 0xFFFFFFFF;
74        }
75        if(int_stat & EP7312_INTR1_RTCMI)
76        {
77            *EP7312_RTCEOI = 0xFFFFFFFF;
78        }
79        if(int_stat & EP7312_INTR1_TINT)
80        {
81            *EP7312_TEOI = 0xFFFFFFFF;
82        }
83        if(int_stat & EP7312_INTR1_URXINT1)
84        {
85        }
86        if(int_stat & EP7312_INTR1_UTXINT1)
87        {
88        }
89        if(int_stat & EP7312_INTR1_UMSINT)
90        {
91            *EP7312_UMSEOI = 0xFFFFFFFF;
92        }
93        if(int_stat & EP7312_INTR1_SSEOTI)
94        {
95            *EP7312_SYNCIO;
96        }
97        int_stat = *EP7312_INTSR1;
98
99        int_stat = *EP7312_INTSR2;
100        if(int_stat & EP7312_INTR2_KBDINT)
101        {
102            *EP7312_KBDEOI = 0xFFFFFFFF;
103        }
104        if(int_stat & EP7312_INTR2_SS2RX)
105        {
106        }
107        if(int_stat & EP7312_INTR2_SS2TX)
108        {
109        }
110        if(int_stat & EP7312_INTR2_URXINT2)
111        {
112        }
113        if(int_stat & EP7312_INTR2_UTXINT2)
114        {
115        }
116        int_stat = *EP7312_INTSR2;
117
118        int_stat = *EP7312_INTSR3;
119        if(int_stat & EP7312_INTR2_DAIINT)
120        {
121        }
122        int_stat = *EP7312_INTSR3;
123}
Note: See TracBrowser for help on using the repository browser.