OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [uclinux/] [uClinux-2.0.x/] [include/] [asm-armnommu/] [arch-ebsa110/] [irq.h] - Blame information for rev 199

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
/*
2
 * include/asm-arm/arch-ebsa/irq.h
3
 *
4
 * Copyright (C) 1996 Russell King
5
 */
6
 
7
#define IRQ_MCLR        ((volatile unsigned char *)0xf3000000)
8
#define IRQ_MSET        ((volatile unsigned char *)0xf2c00000)
9
#define IRQ_MASK        ((volatile unsigned char *)0xf2c00000)
10
 
11
#define BUILD_IRQ(s,n,m)
12
 
13
extern void IRQ_interrupt(void);
14
extern void timer_IRQ_interrupt(void);
15
extern void fast_IRQ_interrupt(void);
16
extern void bad_IRQ_interrupt(void);
17
extern void probe_IRQ_interrupt(void);
18
 
19
#define IRQ_interrupt0 IRQ_interrupt
20
#define IRQ_interrupt1 IRQ_interrupt
21
#define IRQ_interrupt2 IRQ_interrupt
22
#define IRQ_interrupt3 IRQ_interrupt
23
#define IRQ_interrupt4 timer_IRQ_interrupt
24
#define IRQ_interrupt5 IRQ_interrupt
25
#define IRQ_interrupt6 IRQ_interrupt
26
#define IRQ_interrupt7 IRQ_interrupt
27
#define IRQ_interrupt8 IRQ_interrupt
28
#define IRQ_interrupt9 IRQ_interrupt
29
#define IRQ_interrupt10 IRQ_interrupt
30
#define IRQ_interrupt11 IRQ_interrupt
31
#define IRQ_interrupt12 IRQ_interrupt
32
#define IRQ_interrupt13 IRQ_interrupt
33
#define IRQ_interrupt14 IRQ_interrupt
34
#define IRQ_interrupt15 IRQ_interrupt
35
#define IRQ_interrupt16 IRQ_interrupt
36
#define IRQ_interrupt17 IRQ_interrupt
37
#define IRQ_interrupt18 IRQ_interrupt
38
#define IRQ_interrupt19 IRQ_interrupt
39
#define IRQ_interrupt20 IRQ_interrupt
40
#define IRQ_interrupt21 IRQ_interrupt
41
#define IRQ_interrupt22 IRQ_interrupt
42
#define IRQ_interrupt23 IRQ_interrupt
43
 
44
#define IRQ_INTERRUPT(n)        IRQ_interrupt##n
45
#define FAST_INTERRUPT(n)       fast_IRQ_interrupt
46
#define BAD_INTERRUPT(n)        bad_IRQ_interrupt
47
#define PROBE_INTERRUPT(n)      probe_IRQ_interrupt
48
 
49
static __inline__ void mask_irq(unsigned int irq)
50
{
51
        if (irq < 8)
52
                *IRQ_MCLR = 1 << irq;
53
}
54
 
55
static __inline__ void unmask_irq(unsigned int irq)
56
{
57
        if (irq < 8)
58
                *IRQ_MSET = 1 << irq;
59
}
60
 
61
static __inline__ unsigned long get_enabled_irqs(void)
62
{
63
        return 0;
64
}
65
 
66
static __inline__ void irq_init_irq(void)
67
{
68
        unsigned long flags;
69
 
70
        save_flags_cli (flags);
71
        *IRQ_MCLR = 0xff;
72
        *IRQ_MSET = 0x55;
73
        *IRQ_MSET = 0x00;
74
        if (*IRQ_MASK != 0x55)
75
                while (1);
76
        *IRQ_MCLR = 0xff;               /* clear all interrupt enables */
77
        restore_flags (flags);
78
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.