diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-m68k/amigaints.h | 92 |
1 files changed, 37 insertions, 55 deletions
diff --git a/include/asm-m68k/amigaints.h b/include/asm-m68k/amigaints.h index aa968d014bb6..576f5d1b5706 100644 --- a/include/asm-m68k/amigaints.h +++ b/include/asm-m68k/amigaints.h | |||
@@ -13,6 +13,8 @@ | |||
13 | #ifndef _ASMm68k_AMIGAINTS_H_ | 13 | #ifndef _ASMm68k_AMIGAINTS_H_ |
14 | #define _ASMm68k_AMIGAINTS_H_ | 14 | #define _ASMm68k_AMIGAINTS_H_ |
15 | 15 | ||
16 | #include <asm/irq.h> | ||
17 | |||
16 | /* | 18 | /* |
17 | ** Amiga Interrupt sources. | 19 | ** Amiga Interrupt sources. |
18 | ** | 20 | ** |
@@ -23,72 +25,52 @@ | |||
23 | #define CIA_IRQS (5) | 25 | #define CIA_IRQS (5) |
24 | #define AMI_IRQS (32) /* AUTO_IRQS+AMI_STD_IRQS+2*CIA_IRQS */ | 26 | #define AMI_IRQS (32) /* AUTO_IRQS+AMI_STD_IRQS+2*CIA_IRQS */ |
25 | 27 | ||
26 | /* vertical blanking interrupt */ | 28 | /* builtin serial port interrupts */ |
27 | #define IRQ_AMIGA_VERTB 0 | 29 | #define IRQ_AMIGA_TBE (IRQ_USER+0) |
30 | #define IRQ_AMIGA_RBF (IRQ_USER+11) | ||
28 | 31 | ||
29 | /* copper interrupt */ | 32 | /* floppy disk interrupts */ |
30 | #define IRQ_AMIGA_COPPER 1 | 33 | #define IRQ_AMIGA_DSKBLK (IRQ_USER+1) |
34 | #define IRQ_AMIGA_DSKSYN (IRQ_USER+12) | ||
31 | 35 | ||
32 | /* Audio interrupts */ | 36 | /* software interrupts */ |
33 | #define IRQ_AMIGA_AUD0 2 | 37 | #define IRQ_AMIGA_SOFT (IRQ_USER+2) |
34 | #define IRQ_AMIGA_AUD1 3 | ||
35 | #define IRQ_AMIGA_AUD2 4 | ||
36 | #define IRQ_AMIGA_AUD3 5 | ||
37 | 38 | ||
38 | /* Blitter done interrupt */ | 39 | /* interrupts from external hardware */ |
39 | #define IRQ_AMIGA_BLIT 6 | 40 | #define IRQ_AMIGA_PORTS (IRQ_USER+3) |
41 | #define IRQ_AMIGA_EXTER (IRQ_USER+13) | ||
40 | 42 | ||
41 | /* floppy disk interrupts */ | 43 | /* copper interrupt */ |
42 | #define IRQ_AMIGA_DSKSYN 7 | 44 | #define IRQ_AMIGA_COPPER (IRQ_USER+4) |
43 | #define IRQ_AMIGA_DSKBLK 8 | ||
44 | 45 | ||
45 | /* builtin serial port interrupts */ | 46 | /* vertical blanking interrupt */ |
46 | #define IRQ_AMIGA_RBF 9 | 47 | #define IRQ_AMIGA_VERTB (IRQ_USER+5) |
47 | #define IRQ_AMIGA_TBE 10 | ||
48 | 48 | ||
49 | /* software interrupts */ | 49 | /* Blitter done interrupt */ |
50 | #define IRQ_AMIGA_SOFT 11 | 50 | #define IRQ_AMIGA_BLIT (IRQ_USER+6) |
51 | 51 | ||
52 | /* interrupts from external hardware */ | 52 | /* Audio interrupts */ |
53 | #define IRQ_AMIGA_PORTS 12 | 53 | #define IRQ_AMIGA_AUD0 (IRQ_USER+7) |
54 | #define IRQ_AMIGA_EXTER 13 | 54 | #define IRQ_AMIGA_AUD1 (IRQ_USER+8) |
55 | #define IRQ_AMIGA_AUD2 (IRQ_USER+9) | ||
56 | #define IRQ_AMIGA_AUD3 (IRQ_USER+10) | ||
55 | 57 | ||
56 | /* CIA interrupt sources */ | 58 | /* CIA interrupt sources */ |
57 | #define IRQ_AMIGA_CIAA 14 | 59 | #define IRQ_AMIGA_CIAA (IRQ_USER+14) |
58 | #define IRQ_AMIGA_CIAA_TA 14 | 60 | #define IRQ_AMIGA_CIAA_TA (IRQ_USER+14) |
59 | #define IRQ_AMIGA_CIAA_TB 15 | 61 | #define IRQ_AMIGA_CIAA_TB (IRQ_USER+15) |
60 | #define IRQ_AMIGA_CIAA_ALRM 16 | 62 | #define IRQ_AMIGA_CIAA_ALRM (IRQ_USER+16) |
61 | #define IRQ_AMIGA_CIAA_SP 17 | 63 | #define IRQ_AMIGA_CIAA_SP (IRQ_USER+17) |
62 | #define IRQ_AMIGA_CIAA_FLG 18 | 64 | #define IRQ_AMIGA_CIAA_FLG (IRQ_USER+18) |
63 | #define IRQ_AMIGA_CIAB 19 | 65 | #define IRQ_AMIGA_CIAB (IRQ_USER+19) |
64 | #define IRQ_AMIGA_CIAB_TA 19 | 66 | #define IRQ_AMIGA_CIAB_TA (IRQ_USER+19) |
65 | #define IRQ_AMIGA_CIAB_TB 20 | 67 | #define IRQ_AMIGA_CIAB_TB (IRQ_USER+20) |
66 | #define IRQ_AMIGA_CIAB_ALRM 21 | 68 | #define IRQ_AMIGA_CIAB_ALRM (IRQ_USER+21) |
67 | #define IRQ_AMIGA_CIAB_SP 22 | 69 | #define IRQ_AMIGA_CIAB_SP (IRQ_USER+22) |
68 | #define IRQ_AMIGA_CIAB_FLG 23 | 70 | #define IRQ_AMIGA_CIAB_FLG (IRQ_USER+23) |
69 | |||
70 | /* auto-vector interrupts */ | ||
71 | #define IRQ_AMIGA_AUTO 24 | ||
72 | #define IRQ_AMIGA_AUTO_0 24 /* This is just a dummy */ | ||
73 | #define IRQ_AMIGA_AUTO_1 25 | ||
74 | #define IRQ_AMIGA_AUTO_2 26 | ||
75 | #define IRQ_AMIGA_AUTO_3 27 | ||
76 | #define IRQ_AMIGA_AUTO_4 28 | ||
77 | #define IRQ_AMIGA_AUTO_5 29 | ||
78 | #define IRQ_AMIGA_AUTO_6 30 | ||
79 | #define IRQ_AMIGA_AUTO_7 31 | ||
80 | |||
81 | #define IRQ_FLOPPY IRQ_AMIGA_DSKBLK | ||
82 | 71 | ||
83 | /* INTREQR masks */ | ||
84 | #define IRQ1_MASK 0x0007 /* INTREQR mask for IRQ 1 */ | ||
85 | #define IRQ2_MASK 0x0008 /* INTREQR mask for IRQ 2 */ | ||
86 | #define IRQ3_MASK 0x0070 /* INTREQR mask for IRQ 3 */ | ||
87 | #define IRQ4_MASK 0x0780 /* INTREQR mask for IRQ 4 */ | ||
88 | #define IRQ5_MASK 0x1800 /* INTREQR mask for IRQ 5 */ | ||
89 | #define IRQ6_MASK 0x2000 /* INTREQR mask for IRQ 6 */ | ||
90 | #define IRQ7_MASK 0x4000 /* INTREQR mask for IRQ 7 */ | ||
91 | 72 | ||
73 | /* INTREQR masks */ | ||
92 | #define IF_SETCLR 0x8000 /* set/clr bit */ | 74 | #define IF_SETCLR 0x8000 /* set/clr bit */ |
93 | #define IF_INTEN 0x4000 /* master interrupt bit in INT* registers */ | 75 | #define IF_INTEN 0x4000 /* master interrupt bit in INT* registers */ |
94 | #define IF_EXTER 0x2000 /* external level 6 and CIA B interrupt */ | 76 | #define IF_EXTER 0x2000 /* external level 6 and CIA B interrupt */ |