Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _H8300_IRQ_H_ |
2 | #define _H8300_IRQ_H_ | |
3 | ||
4 | #include <asm/ptrace.h> | |
5 | ||
6 | #if defined(__H8300H__) | |
7 | #define NR_IRQS 64 | |
8 | #define EXT_IRQ0 12 | |
9 | #define EXT_IRQ1 13 | |
10 | #define EXT_IRQ2 14 | |
11 | #define EXT_IRQ3 15 | |
12 | #define EXT_IRQ4 16 | |
13 | #define EXT_IRQ5 17 | |
14 | #define EXT_IRQ6 18 | |
15 | #define EXT_IRQ7 19 | |
16 | #define EXT_IRQS 5 | |
17 | ||
18 | #include <asm/regs306x.h> | |
19 | #define h8300_clear_isr(irq) \ | |
20 | do { \ | |
21 | if (irq >= EXT_IRQ0 && irq <= EXT_IRQ5) \ | |
22 | *(volatile unsigned char *)ISR &= ~(1 << (irq - EXT_IRQ0)); \ | |
23 | } while(0) | |
24 | ||
25 | #define IER_REGS *(volatile unsigned char *)IER | |
26 | #endif | |
27 | #if defined(CONFIG_CPU_H8S) | |
28 | #define NR_IRQS 128 | |
29 | #define EXT_IRQ0 16 | |
30 | #define EXT_IRQ1 17 | |
31 | #define EXT_IRQ2 18 | |
32 | #define EXT_IRQ3 19 | |
33 | #define EXT_IRQ4 20 | |
34 | #define EXT_IRQ5 21 | |
35 | #define EXT_IRQ6 22 | |
36 | #define EXT_IRQ7 23 | |
37 | #define EXT_IRQ8 24 | |
38 | #define EXT_IRQ9 25 | |
39 | #define EXT_IRQ10 26 | |
40 | #define EXT_IRQ11 27 | |
41 | #define EXT_IRQ12 28 | |
42 | #define EXT_IRQ13 29 | |
43 | #define EXT_IRQ14 30 | |
44 | #define EXT_IRQ15 31 | |
45 | #define EXT_IRQS 15 | |
46 | ||
47 | #include <asm/regs267x.h> | |
48 | #define h8300_clear_isr(irq) \ | |
49 | do { \ | |
50 | if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15) \ | |
51 | *(volatile unsigned short *)ISR &= ~(1 << (irq - EXT_IRQ0)); \ | |
52 | } while(0) | |
53 | ||
54 | #define IER_REGS *(volatile unsigned short *)IER | |
55 | #endif | |
56 | ||
57 | static __inline__ int irq_canonicalize(int irq) | |
58 | { | |
59 | return irq; | |
60 | } | |
61 | ||
1da177e4 | 62 | #endif /* _H8300_IRQ_H_ */ |