Import changeset
[linux-flexiantxendom0-3.2.10.git] / include / asm-mips / dec / ioasic_ints.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Definitions for the interrupt related bits in the JUNKIO Asic
7  * interrupt status register (and the interrupt mask register, of course)
8  *
9  * Created with Information from:
10  *
11  * "DEC 3000 300/400/500/600/700/800/900 AXP Models System Programmer's Manual"
12  *
13  * and the Mach Sources
14  */
15
16 /* 
17  * the upper 16 bits are common to all JUNKIO machines
18  * (except the FLOPPY and ISDN bits, which are Maxine sepcific)
19  */
20 #define SCC0_TRANS_PAGEEND      0x80000000      /* Serial DMA Errors    */
21 #define SCC0_TRANS_MEMRDERR     0x40000000      /* see below            */
22 #define SCC0_RECV_HALFPAGE      0x20000000
23 #define SCC0_RECV_PAGOVRRUN     0x10000000
24 #define SCC1_TRANS_PAGEEND      0x08000000      /* end of page reached  */
25 #define SCC1_TRANS_MEMRDERR     0x04000000      /* SCC1 DMA memory err  */
26 #define SCC1_RECV_HALFPAGE      0x02000000      /* SCC1 half page       */
27 #define SCC1_RECV_PAGOVRRUN     0x01000000      /* SCC1 receive overrun */
28 #define FLOPPY_DMA_ERROR        0x00800000      /* FDI DMA error        */
29 #define ISDN_TRANS_PTR_LOADED   0x00400000      /* xmitbuf ptr loaded   */
30 #define ISDN_RECV_PTR_LOADED    0x00200000      /* rcvbuf ptr loaded    */
31 #define ISDN_DMA_MEMRDERR       0x00100000      /* read or ovrrun error */
32 #define SCSI_PTR_LOADED         0x00080000
33 #define SCSI_PAGOVRRUN          0x00040000      /* page overrun? */
34 #define SCSI_DMA_MEMRDERR       0x00020000
35 #define LANCE_DMA_MEMRDERR      0x00010000
36
37 /*
38  * the lower 16 bits are system specific
39  */
40
41 /*
42  * The following three seem to be in common
43  */
44 #define SCSI_CHIP               0x00000200
45 #define LANCE_CHIP              0x00000100
46 #define SCC1_CHIP               0x00000080      /* NOT on maxine        */
47 #define SCC0_CHIP               0x00000040
48
49 /*
50  * The rest is different
51  */
52
53 /* kmin aka 3min aka kn02ba aka DS5000_1xx */
54 #define KMIN_TIMEOUT            0x00001000      /* CPU IO-Write Timeout */
55 #define KMIN_CLOCK              0x00000020
56 #define KMIN_SCSI_FIFO          0x00000004      /* SCSI Data Ready      */
57
58 /* kn02ca aka maxine */
59 #define MAXINE_FLOPPY           0x00008000      /* FDI Interrupt        */
60 #define MAXINE_TC0              0x00001000      /* TC Option 0          */
61 #define MAXINE_ISDN             0x00000800      /* ISDN Chip            */
62 #define MAXINE_FLOPPY_HDS       0x00000080      /* Floppy Status        */
63 #define MAXINE_TC1              0x00000020      /* TC Option 1          */
64 #define MAXINE_FLOPPY_XDS       0x00000010      /* Floppy Status        */
65 #define MAXINE_VINT             0x00000008      /* Video Frame          */
66 #define MAXINE_N_VINT           0x00000004      /* Not Video frame      */
67 #define MAXINE_DTOP_TRANS       0x00000002      /* DTI Xmit-Rdy         */
68 #define MAXINE_DTOP_RECV        0x00000001      /* DTI Recv-Available   */
69
70 /* kn03 aka 3max+ aka DS5000_2x0 */
71 #define KN03_TC2                0x00002000
72 #define KN03_TC1                0x00001000
73 #define KN03_TC0                0x00000800
74 #define KN03_SCSI_FIFO          0x00000004      /* ??? Info from Mach   */
75
76 /*
77  * Now form groups, i.e. all serial interrupts, all SCSI interrupts and so on. 
78  */
79 #define SERIAL_INTS     (SCC0_TRANS_PAGEEND | SCC0_TRANS_MEMRDERR | \
80                         SCC0_RECV_HALFPAGE | SCC0_RECV_PAGOVRRUN | \
81                         SCC1_TRANS_PAGEEND | SCC1_TRANS_MEMRDERR | \
82                         SCC1_RECV_HALFPAGE | SCC1_RECV_PAGOVRRUN | \
83                         SCC1_CHIP | SCC0_CHIP)
84
85 #define XINE_SERIAL_INTS        (SCC0_TRANS_PAGEEND | SCC0_TRANS_MEMRDERR | \
86                         SCC0_RECV_HALFPAGE | SCC0_RECV_PAGOVRRUN | \
87                         SCC0_CHIP)
88
89 #define SCSI_DMA_INTS   (/* SCSI_PTR_LOADED | */ SCSI_PAGOVRRUN | \
90                         SCSI_DMA_MEMRDERR)
91
92 #define KMIN_SCSI_INTS  (SCSI_PTR_LOADED | SCSI_PAGOVRRUN | \
93                         SCSI_DMA_MEMRDERR | SCSI_CHIP | KMIN_SCSI_FIFO)
94
95 #define LANCE_INTS      (LANCE_DMA_MEMRDERR | LANCE_CHIP)
96
97 /*
98  * For future use ...
99  */
100 #define XINE_FLOPPY_INTS (MAXINE_FLOPPY | MAXINE_FLOPPY_HDS | \
101                         FLOPPY_DMA_ERROR | MAXINE_FLOPPY_XDS)
102
103 #define XINE_ISDN_INTS  (MAXINE_ISDN | ISDN_TRANS_PTR_LOADED | \
104                         ISDN_RECV_PTR_LOADED | ISDN_DMA_MEMRDERR)
105
106 #define XINE_DTOP_INTS  (MAXINE_DTOP_TRANS | DTOP_RECV | \
107                         ISDN_TRANS_PTR_LOADED | ISDN_RECV_PTR_LOADED | \
108                         ISDN_DMA_MEMRDERR)
109