xref: /netbsd/sys/arch/mvme68k/docs/Interrupts (revision 6550d01e)
1$NetBSD: Interrupts,v 1.1 2000/12/14 20:30:14 scw Exp $
2
3NetBSD/mvme68k Interrupt Levels
4~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
6NetBSD/mvme68k interrupts are dependent on the type of device which
7generates them. This holds true regardless of what bus the device is
8situated on (eg. local, VMEbus or IndustryPack site).
9
10On MVME147, there is a fixed 1:1 mapping of VMEbus interrupt level
11to CPU interrupt level. This implies that VMEbus devices must be
12set to interrupt at the correct level for that type of device.
13
14On the other boards, each VMEbus interrupt level can be mapped to a
15specific CPU interrupt level so the above restriction does not apply.
16However, note that the mapping can only be done once. Therefore it is
17not possible to have two VMEbus devices which require different CPU
18interrupt levels sharing the same VMEbus interrupt level.
19
20The mapping of device type to CPU interrupt levels is as follows:
21
22	CPU Irq		Device Type
23	~~~~~~~		~~~~~~~~~~~
24	<Highest>
25	6 - 7		Anything which generates an exceptional condition
26			which *must* be responded to immediately. For
27			example, a memory parity/uncorrectable data error.
28
29	5		Reserved for the system clock/scheduler. Do not use.
30
31	4		Serial port devices (rs232, rs422 etc).
32
33	3		Network interfaces.
34
35	2		Disk/Block device interfaces.
36
37	1		Anything else.
38	<Lowest>
39
40
41
42Interrupt Vectors
43~~~~~~~~~~~~~~~~~
44
45NetBSD/mvme68k does not use or generate `auto-vectored' interrupts.
46
47All vectored interrupts up to and including vector 0x7f are reserved
48for use by onboard devices.
49
50VMEbus cards and IndustryPack modules are free to use vectors 0x80 -> 0xff.
51
52The onboard devices' vectors are as follows:
53
54MVME147:
55	0x40		PCC: ACFAIL
56	0x41		PCC: BERR
57	0x42		PCC: ABORT Switch
58	0x43		PCC: ZS Chips shared vector
59	0x44		PCC: Lance Ethernet
60	0x45		PCC: WD33C93 SCSI
61	0x46		PCC: DMA
62	0x47		PCC: Printer
63	0x48		PCC: Timer1
64	0x49		PCC: Timer2
65	0x4a		PCC: Soft Interrupt 1
66	0x4b		PCC: Soft Interrupt 2
67	0x4c -> 0x4f	PCC: <unused>
68
69
70MVME167/177:
71	0x50		PCC2: Printer `BUSY'
72	0x51		PCC2: Printer `Paper Empty'
73	0x52		PCC2: Printer `Select'
74	0x53		PCC2: Printer `Fault'
75	0x54		PCC2: Printer `ACK'
76	0x55		PCC2: SCSI
77	0x56		PCC2: Ethernet `Error'
78	0x57		PCC2: Ethernet
79	0x58		PCC2: Timer 2
80	0x59		PCC2: Timer 1
81	0x5a		PCC2: GPIO
82	0x5b		PCC2: <unused>
83	0x5c		PCC2: CD2401 Rx Exception
84	0x5d		PCC2: CD2401 Modem
85	0x5e		PCC2: CD2401 Tx
86	0x5f		PCC2: CD2401 Rx
87
88	0x60 -> 0x67	VME2: <unused>
89	0x68		VME2: Software Interrupt #0
90	0x69		VME2: Software Interrupt #1
91	0x6a		VME2: Software Interrupt #2
92	0x6b		VME2: Software Interrupt #3
93	0x6c		VME2: Software Interrupt #4
94	0x6d		VME2: Software Interrupt #5
95	0x6e		VME2: Software Interrupt #6
96	0x6f		VME2: Software Interrupt #7
97	0x70		VME2: GCSR Location Monitor #0
98	0x71		VME2: GCSR Location Monitor #1
99	0x72		VME2: GCSR SIG #0
100	0x73		VME2: GCSR SIG #1
101	0x74		VME2: GCSR SIG #2
102	0x75		VME2: GCSR SIG #3
103	0x76		VME2: DMA Controller
104	0x77		VME2: VIA
105	0x78		VME2: Tick Timer #1
106	0x79		VME2: Tick Timer #2
107	0x7a		VME2: `IRQ1' feature
108	0x7b		VME2: Parity/ECC Error
109	0x7c		VME2: Master Write Post Error
110	0x7d		VME2: SYSFAIL
111	0x7e		VME2: ABORT Switch
112	0x7f		VME2: ACFAIL
113
114
115MVME162/172:
116	0x40		IPACK: DMA_a
117	0x41		IPACK: DMA_b
118	0x42		IPACK: DMA_c
119	0x43		IPACK: DMA_d
120	0x44		IPACK: Programmable Clock
121
122	0x50 -> 0x52	MC2: <unused>
123	0x53		MC2: Timer 4
124	0x54		MC2: Timer 3
125	0x55		MC2: SCSI
126	0x56		MC2: Ethernet `Error'
127	0x57		MC2: Ethernet
128	0x58		MC2: Timer 2
129	0x59		MC2: Timer 1
130	0x5a		MC2: <unused>
131	0x5b		MC2: Parity/ECC Error
132	0x5c		MC2: ZS #1 (vector supplied by ZS chip)
133	0x5d		MC2: ZS #2 (vector supplied by ZS chip)
134	0x5e		MC2: Abort Switch
135	0x5f		MC2: <unused>
136
137	0x60 -> 0x67	VME2: <unused>
138	0x68		VME2: Software Interrupt #0
139	0x69		VME2: Software Interrupt #1
140	0x6a		VME2: Software Interrupt #2
141	0x6b		VME2: Software Interrupt #3
142	0x6c		VME2: Software Interrupt #4
143	0x6d		VME2: Software Interrupt #5
144	0x6e		VME2: Software Interrupt #6
145	0x6f		VME2: Software Interrupt #7
146	0x70		VME2: GCSR Location Monitor #0
147	0x71		VME2: GCSR Location Monitor #1
148	0x72		VME2: GCSR SIG #0
149	0x73		VME2: GCSR SIG #1
150	0x74		VME2: GCSR SIG #2
151	0x75		VME2: GCSR SIG #3
152	0x76		VME2: DMA Controller
153	0x77		VME2: VIA
154	0x78		VME2: Tick Timer #1
155	0x79		VME2: Tick Timer #2
156	0x7a		VME2: `IRQ1' feature
157	0x7b		VME2: Parity/ECC Error
158	0x7c		VME2: Master Write Post Error
159	0x7d		VME2: SYSFAIL
160	0x7e		VME2: <unused>
161	0x7f		VME2: ACFAIL
162