1 /* Interrupt Vectors defined
\r
2 Copyright (C) 2004 Robotronics, Inc.
\r
3 Author Jefferson Smith, Robotronics
\r
5 This file is free software; you can redistribute it and/or modify it
\r
6 under the terms of the GNU General Public License as published by the
\r
7 Free Software Foundation; either version 2, or (at your option) any
\r
10 In addition to the permissions in the GNU General Public License, the
\r
11 Free Software Foundation gives you unlimited permission to link the
\r
12 compiled version of this file with other programs, and to distribute
\r
13 those programs without any restriction coming from the use of this
\r
14 file. (The General Public License restrictions do apply in other
\r
15 respects; for example, they cover modification of the file, and
\r
16 distribution when not linked into another program.)
\r
18 This file is distributed in the hope that it will be useful, but
\r
19 WITHOUT ANY WARRANTY; without even the implied warranty of
\r
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
\r
21 General Public License for more details.
\r
23 You should have received a copy of the GNU General Public License
\r
24 along with this program; see the file COPYING. If not, write to
\r
25 the Free Software Foundation, 59 Temple Place - Suite 330,
\r
26 Boston, MA 02111-1307, USA. */
\r
28 #ifndef _M68HC12_ASM_INTERRUPTS_DP256_H
\r
29 #define _M68HC12_ASM_INTERRUPTS_DP256_H
\r
31 /** Interrupt vectors as a struct. */
\r
32 struct interrupt_vectors
\r
34 interrupt_t res0_handler; /* 0x80 */
\r
35 interrupt_t res1_handler; /* 0x82 */
\r
36 interrupt_t res2_handler; /* 0x84 */
\r
37 interrupt_t res3_handler; /* 0x86 */
\r
38 interrupt_t res4_handler; /* 0x88 */
\r
39 interrupt_t res5_handler; /* 0x8a */
\r
40 interrupt_t pwm_shutdown_handler; /* 0x8c */
\r
41 interrupt_t ptpif_handler;
\r
43 /** Controller Area Networking */
\r
44 interrupt_t can4_tx_handler;
\r
45 interrupt_t can4_rx_handler;
\r
46 interrupt_t can4_err_handler;
\r
47 interrupt_t can4_wake_handler;
\r
48 interrupt_t can3_tx_handler;
\r
49 interrupt_t can3_rx_handler;
\r
50 interrupt_t can3_err_handler;
\r
51 interrupt_t can3_wake_handler;
\r
52 interrupt_t can2_tx_handler;
\r
53 interrupt_t can2_rx_handler;
\r
54 interrupt_t can2_err_handler;
\r
55 interrupt_t can2_wake_handler;
\r
56 interrupt_t can1_tx_handler;
\r
57 interrupt_t can1_rx_handler;
\r
58 interrupt_t can1_err_handler;
\r
59 interrupt_t can1_wake_handler;
\r
60 interrupt_t can0_tx_handler;
\r
61 interrupt_t can0_rx_handler;
\r
62 interrupt_t can0_err_handler;
\r
63 interrupt_t can0_wake_handler;
\r
65 interrupt_t flash_handler;
\r
66 interrupt_t eeprom_handler;
\r
67 interrupt_t spi2_handler;
\r
68 interrupt_t spi1_handler;
\r
69 interrupt_t iic_handler;
\r
70 interrupt_t bdlc_handler;
\r
71 interrupt_t selfclk_mode_handler;
\r
72 interrupt_t pll_lock_handler;
\r
73 interrupt_t accb_overflow_handler;
\r
74 interrupt_t mccnt_underflow_handler;
\r
75 interrupt_t pthif_handler;
\r
76 interrupt_t ptjif_handler;
\r
77 interrupt_t atd1_handler;
\r
78 interrupt_t atd0_handler;
\r
79 interrupt_t sci1_handler;
\r
80 interrupt_t sci0_handler;
\r
81 interrupt_t spi0_handler;
\r
83 /** Timer and Accumulator */
\r
84 interrupt_t acca_input_handler;
\r
85 interrupt_t acca_overflow_handler;
\r
86 interrupt_t timer_overflow_handler;
\r
88 /** Input capture / Output compare Timers */
\r
89 interrupt_t tc7_handler;
\r
90 interrupt_t tc6_handler;
\r
91 interrupt_t tc5_handler;
\r
92 interrupt_t tc4_handler;
\r
93 interrupt_t tc3_handler;
\r
94 interrupt_t tc2_handler;
\r
95 interrupt_t tc1_handler;
\r
96 interrupt_t tc0_handler;
\r
98 /** External Interrupts */
\r
99 interrupt_t rtii_handler;
\r
100 interrupt_t irq_handler;
\r
101 interrupt_t xirq_handler;
\r
103 /** Software Interrupt */
\r
104 interrupt_t swi_handler;
\r
106 /** Illegal Instruction Reset */
\r
107 interrupt_t illegal_handler;
\r
109 /** COP Timeout Reset */
\r
110 interrupt_t cop_fail_handler;
\r
112 /** Clock Monitor Fail Reset */
\r
113 interrupt_t cop_clock_handler;
\r
115 /** Start or Reset vector */
\r
116 interrupt_t reset_handler;
\r
118 typedef struct interrupt_vectors interrupt_vectors_t;
\r
120 /** Interrupt vector id. */
\r
121 enum interrupt_vector_id
\r
129 PWM_SHUTDOWN_VECTOR,
\r
157 SELFCLK_MODE_VECTOR,
\r
159 ACCB_OVERFLOW_VECTOR,
\r
160 MCCNT_UNDERFLOW_VECTOR,
\r
169 ACCA_OVERFLOW_VECTOR,
\r
170 TIMER_OVERFLOW_VECTOR,
\r
183 ILLEGAL_OPCODE_VECTOR,
\r
189 typedef enum interrupt_vector_id interrupt_vector_id;
\r
191 /** some backwards-compatible equivalents from HC11 */
\r
192 #define SCI_VECTOR SCI0_VECTOR
\r
193 #define SPI_VECTOR SPI0_VECTOR
\r
194 #define ACC_INPUT_VECTOR ACCA_INPUT_VECTOR
\r
195 #define ACC_OVERFLOW_VECTOR ACCA_OVERFLOW_VECTOR
\r
197 #endif /* _M68HC12_ASM_INTERRUPTS_DP256_H */
\r