flexcan_irq.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 - 2014, Freescale Semiconductor, Inc.
3  * Copyright 2016-2017 NXP
4  * All rights reserved.
5  *
6  * THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR
7  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
8  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
9  * IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
10  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
11  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
12  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
13  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
14  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
15  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
16  * THE POSSIBILITY OF SUCH DAMAGE.
17  */
18 
19 #ifndef FLEXCAN_IRQ_H
20 #define FLEXCAN_IRQ_H
21 
22 #include "device_registers.h"
23 
29 void FLEXCAN_IRQHandler(uint8_t instance);
30 
36 void FLEXCAN_Error_IRQHandler(uint8_t instance);
37 
38 #if FEATURE_CAN_HAS_WAKE_UP_IRQ
39 
45 void FLEXCAN_WakeUpHandler(uint8_t instance);
46 
47 #endif /* FEATURE_CAN_HAS_WAKE_UP_IRQ */
48 
49 #if (defined(CPU_S32K116) || (defined(CPU_S32K118)))
50 
51 /*******************************************************************************
52  * Default interrupt handlers signatures
53  ******************************************************************************/
56 
57 #elif (defined(CPU_S32K142) || defined(CPU_S32K144HFT0VLLT) || defined(CPU_S32K144LFT0MLLT) || \
58  defined(CPU_S32K146) || defined(CPU_S32K148) || defined(CPU_S32MTV) || defined(CPU_S32K116)\
59  || (defined(CPU_S32K118)))
60 
61 /*******************************************************************************
62  * Default interrupt handlers signatures
63  ******************************************************************************/
64 void CAN0_ORed_IRQHandler(void);
65 void CAN0_Error_IRQHandler(void);
66 #if FEATURE_CAN_HAS_WAKE_UP_IRQ
67 void CAN0_Wake_Up_IRQHandler(void);
68 #endif
69 void CAN0_ORed_0_15_MB_IRQHandler(void);
70 void CAN0_ORed_16_31_MB_IRQHandler(void);
71 
72 #if (CAN_INSTANCE_COUNT > 1U)
73 
74 void CAN1_ORed_IRQHandler(void);
75 void CAN1_Error_IRQHandler(void);
76 void CAN1_ORed_0_15_MB_IRQHandler(void);
77 void CAN1_ORed_16_31_MB_IRQHandler(void);
78 
79 #endif /* (CAN_INSTANCE_COUNT > 1U) */
80 
81 #if (CAN_INSTANCE_COUNT > 2U)
82 
83 void CAN2_ORed_IRQHandler(void);
84 void CAN2_Error_IRQHandler(void);
85 void CAN2_ORed_0_15_MB_IRQHandler(void);
86 void CAN2_ORed_16_31_MB_IRQHandler(void);
87 
88 #endif /* (CAN_INSTANCE_COUNT > 2U) */
89 
90 #elif defined(CPU_S32V234)
91 
92 /*******************************************************************************
93  * Default interrupt handlers signatures
94  ******************************************************************************/
95 void CAN0_IRQHandler(void);
96 void CAN0_Buff_IRQHandler(void);
97 
98 #if (CAN_INSTANCE_COUNT > 1U)
99 
100 void CAN1_IRQHandler(void);
101 void CAN1_Buff_IRQHandler(void);
102 
103 #endif /* (CAN_INSTANCE_COUNT > 1U) */
104 
105 #elif (defined(CPU_MPC5748G) || defined(CPU_MPC5746C) || defined(CPU_MPC5744B) || \
106  defined(CPU_MPC5745B) || defined(CPU_MPC5746B) || defined(CPU_MPC5744C) || \
107  defined(CPU_MPC5745C) || defined(CPU_MPC5747C) || defined(CPU_MPC5748C) || \
108  defined(CPU_MPC5746G) || defined(CPU_MPC5747G))
109 
110 /*******************************************************************************
111  * Default interrupt handlers signatures
112  ******************************************************************************/
113 void CAN0_ORed_IRQHandler(void);
114 void CAN0_Error_IRQHandler(void);
115 #if FEATURE_CAN_HAS_WAKE_UP_IRQ
116 void CAN0_Wake_Up_IRQHandler(void);
117 #endif
118 void CAN0_ORed_00_03_MB_IRQHandler(void);
119 void CAN0_ORed_04_07_MB_IRQHandler(void);
120 void CAN0_ORed_08_11_MB_IRQHandler(void);
121 void CAN0_ORed_12_15_MB_IRQHandler(void);
122 void CAN0_ORed_16_31_MB_IRQHandler(void);
123 void CAN0_ORed_32_63_MB_IRQHandler(void);
124 void CAN0_ORed_64_95_MB_IRQHandler(void);
125 
126 #if (CAN_INSTANCE_COUNT > 1U)
127 
128 void CAN1_ORed_IRQHandler(void);
129 void CAN1_Error_IRQHandler(void);
130 void CAN1_ORed_00_03_MB_IRQHandler(void);
131 void CAN1_ORed_04_07_MB_IRQHandler(void);
132 void CAN1_ORed_08_11_MB_IRQHandler(void);
133 void CAN1_ORed_12_15_MB_IRQHandler(void);
134 void CAN1_ORed_16_31_MB_IRQHandler(void);
135 void CAN1_ORed_32_63_MB_IRQHandler(void);
136 void CAN1_ORed_64_95_MB_IRQHandler(void);
137 
138 #endif /* (CAN_INSTANCE_COUNT > 1U) */
139 
140 #if (CAN_INSTANCE_COUNT > 2U)
141 
142 void CAN2_ORed_IRQHandler(void);
143 void CAN2_Error_IRQHandler(void);
144 void CAN2_ORed_00_03_MB_IRQHandler(void);
145 void CAN2_ORed_04_07_MB_IRQHandler(void);
146 void CAN2_ORed_08_11_MB_IRQHandler(void);
147 void CAN2_ORed_12_15_MB_IRQHandler(void);
148 void CAN2_ORed_16_31_MB_IRQHandler(void);
149 void CAN2_ORed_32_63_MB_IRQHandler(void);
150 void CAN2_ORed_64_95_MB_IRQHandler(void);
151 
152 #endif /* (CAN_INSTANCE_COUNT > 2U) */
153 
154 #if (CAN_INSTANCE_COUNT > 3U)
155 
156 void CAN3_ORed_IRQHandler(void);
157 void CAN3_Error_IRQHandler(void);
158 void CAN3_ORed_00_03_MB_IRQHandler(void);
159 void CAN3_ORed_04_07_MB_IRQHandler(void);
160 void CAN3_ORed_08_11_MB_IRQHandler(void);
161 void CAN3_ORed_12_15_MB_IRQHandler(void);
162 void CAN3_ORed_16_31_MB_IRQHandler(void);
163 void CAN3_ORed_32_63_MB_IRQHandler(void);
164 void CAN3_ORed_64_95_MB_IRQHandler(void);
165 
166 #endif
167 
168 #if (CAN_INSTANCE_COUNT > 4U)
169 
170 void CAN4_ORed_IRQHandler(void);
171 void CAN4_Error_IRQHandler(void);
172 void CAN4_ORed_00_03_MB_IRQHandler(void);
173 void CAN4_ORed_04_07_MB_IRQHandler(void);
174 void CAN4_ORed_08_11_MB_IRQHandler(void);
175 void CAN4_ORed_12_15_MB_IRQHandler(void);
176 void CAN4_ORed_16_31_MB_IRQHandler(void);
177 void CAN4_ORed_32_63_MB_IRQHandler(void);
178 void CAN4_ORed_64_95_MB_IRQHandler(void);
179 
180 #endif /* (CAN_INSTANCE_COUNT > 4U) */
181 
182 #if (CAN_INSTANCE_COUNT > 5U)
183 
184 void CAN5_ORed_IRQHandler(void);
185 void CAN5_Error_IRQHandler(void);
186 void CAN5_ORed_00_03_MB_IRQHandler(void);
187 void CAN5_ORed_04_07_MB_IRQHandler(void);
188 void CAN5_ORed_08_11_MB_IRQHandler(void);
189 void CAN5_ORed_12_15_MB_IRQHandler(void);
190 void CAN5_ORed_16_31_MB_IRQHandler(void);
191 void CAN5_ORed_32_63_MB_IRQHandler(void);
192 void CAN5_ORed_64_95_MB_IRQHandler(void);
193 
194 #endif
195 #if (CAN_INSTANCE_COUNT > 6U)
196 
197 void CAN6_ORed_IRQHandler(void);
198 void CAN6_Error_IRQHandler(void);
199 void CAN6_ORed_00_03_MB_IRQHandler(void);
200 void CAN6_ORed_04_07_MB_IRQHandler(void);
201 void CAN6_ORed_08_11_MB_IRQHandler(void);
202 void CAN6_ORed_12_15_MB_IRQHandler(void);
203 void CAN6_ORed_16_31_MB_IRQHandler(void);
204 void CAN6_ORed_32_63_MB_IRQHandler(void);
205 void CAN6_ORed_64_95_MB_IRQHandler(void);
206 
207 #endif /* (CAN_INSTANCE_COUNT > 6U) */
208 
209 #if (CAN_INSTANCE_COUNT > 7U)
210 
211 void CAN7_ORed_IRQHandler(void);
212 void CAN7_Error_IRQHandler(void);
213 void CAN7_ORed_00_03_MB_IRQHandler(void);
214 void CAN7_ORed_04_07_MB_IRQHandler(void);
215 void CAN7_ORed_08_11_MB_IRQHandler(void);
216 void CAN7_ORed_12_15_MB_IRQHandler(void);
217 void CAN7_ORed_16_31_MB_IRQHandler(void);
218 void CAN7_ORed_32_63_MB_IRQHandler(void);
219 void CAN7_ORed_64_95_MB_IRQHandler(void);
220 
221 #endif /* (CAN_INSTANCE_COUNT > 7U) */
222 
223 #elif (defined(CPU_MPC5741P) || defined(CPU_MPC5742P) || defined(CPU_MPC5743P) || \
224  defined(CPU_MPC5744P))
225 
226 /*******************************************************************************
227  * Default interrupt handlers signatures
228  ******************************************************************************/
229 void CAN0_ORed_IRQHandler(void);
230 void CAN0_Error_IRQHandler(void);
231 #if FEATURE_CAN_HAS_WAKE_UP_IRQ
232 void CAN0_Wake_Up_IRQHandler(void);
233 #endif
234 void CAN0_ORed_00_03_MB_IRQHandler(void);
235 void CAN0_ORed_04_07_MB_IRQHandler(void);
236 void CAN0_ORed_08_11_MB_IRQHandler(void);
237 void CAN0_ORed_12_15_MB_IRQHandler(void);
238 void CAN0_ORed_16_31_MB_IRQHandler(void);
239 void CAN0_ORed_32_39_MB_IRQHandler(void);
240 void CAN0_ORed_40_47_MB_IRQHandler(void);
241 void CAN0_ORed_48_55_MB_IRQHandler(void);
242 void CAN0_ORed_56_63_MB_IRQHandler(void);
243 
244 #if (CAN_INSTANCE_COUNT > 1U)
245 
246 void CAN1_ORed_IRQHandler(void);
247 void CAN1_Error_IRQHandler(void);
248 void CAN1_ORed_00_03_MB_IRQHandler(void);
249 void CAN1_ORed_04_07_MB_IRQHandler(void);
250 void CAN1_ORed_08_11_MB_IRQHandler(void);
251 void CAN1_ORed_12_15_MB_IRQHandler(void);
252 void CAN1_ORed_16_31_MB_IRQHandler(void);
253 void CAN1_ORed_32_39_MB_IRQHandler(void);
254 void CAN1_ORed_40_47_MB_IRQHandler(void);
255 void CAN1_ORed_48_55_MB_IRQHandler(void);
256 void CAN1_ORed_56_63_MB_IRQHandler(void);
257 
258 #endif /* (CAN_INSTANCE_COUNT > 1U) */
259 
260 #if (CAN_INSTANCE_COUNT > 2U)
261 
262 void CAN2_ORed_IRQHandler(void);
263 void CAN2_Error_IRQHandler(void);
264 void CAN2_ORed_00_03_MB_IRQHandler(void);
265 void CAN2_ORed_04_07_MB_IRQHandler(void);
266 void CAN2_ORed_08_11_MB_IRQHandler(void);
267 void CAN2_ORed_12_15_MB_IRQHandler(void);
268 void CAN2_ORed_16_31_MB_IRQHandler(void);
269 void CAN2_ORed_32_39_MB_IRQHandler(void);
270 void CAN2_ORed_40_47_MB_IRQHandler(void);
271 void CAN2_ORed_48_55_MB_IRQHandler(void);
272 void CAN2_ORed_56_63_MB_IRQHandler(void);
273 
274 #endif /* (CAN_INSTANCE_COUNT > 2U) */
275 
276 #else
277  #error "No valid CPU defined!"
278 #endif
279 
280 #endif /* FLEXCAN_IRQ_H */
281 
282 /*******************************************************************************
283  * EOF
284  ******************************************************************************/
void FLEXCAN_Error_IRQHandler(uint8_t instance)
Error interrupt handler for a FlexCAN instance.
void FLEXCAN_WakeUpHandler(uint8_t instance)
Wake up handler for a FlexCAN instance.
void CAN0_ORed_Err_Wakeup_IRQHandler(void)
Definition: flexcan_irq.c:44
void CAN0_ORed_0_31_MB_IRQHandler(void)
Definition: flexcan_irq.c:51
void FLEXCAN_IRQHandler(uint8_t instance)
Interrupt handler for a FlexCAN instance.