S32 SDK
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 
31 #if FEATURE_CAN_HAS_PRETENDED_NETWORKING
32 
38 void FLEXCAN_WakeUpHandler(uint8_t instance);
39 
40 #endif /* FEATURE_CAN_HAS_PRETENDED_NETWORKING */
41 
42 #if (defined(CPU_S32K144HFT0VLLT) || defined(CPU_S32K144LFT0MLLT) || defined(CPU_S32K148) || defined(CPU_S32K142))
43 
44 /*******************************************************************************
45  * Default interrupt handlers signatures
46  ******************************************************************************/
47 void CAN0_ORed_IRQHandler(void);
48 void CAN0_Error_IRQHandler(void);
49 void CAN0_Wake_Up_IRQHandler(void);
52 
53 #if (CAN_INSTANCE_COUNT > 1U)
54 
55 void CAN1_ORed_IRQHandler(void);
56 void CAN1_Error_IRQHandler(void);
57 void CAN1_Wake_Up_IRQHandler(void);
58 void CAN1_ORed_0_15_MB_IRQHandler(void);
59 void CAN1_ORed_16_31_MB_IRQHandler(void);
60 
61 #endif /* (CAN_INSTANCE_COUNT > 1U) */
62 
63 #if (CAN_INSTANCE_COUNT > 2U)
64 
65 void CAN2_ORed_IRQHandler(void);
66 void CAN2_Error_IRQHandler(void);
67 void CAN2_Wake_Up_IRQHandler(void);
68 void CAN2_ORed_0_15_MB_IRQHandler(void);
69 void CAN2_ORed_16_31_MB_IRQHandler(void);
70 
71 #endif /* (CAN_INSTANCE_COUNT > 2U) */
72 
73 #elif defined(CPU_S32V234)
74 
75 /*******************************************************************************
76  * Default interrupt handlers signatures
77  ******************************************************************************/
78 void CAN0_IRQHandler(void);
79 void CAN0_Buff_IRQHandler(void);
80 
81 #if (CAN_INSTANCE_COUNT > 1U)
82 
83 void CAN1_IRQHandler(void);
84 void CAN1_Buff_IRQHandler(void);
85 
86 #endif /* (CAN_INSTANCE_COUNT > 1U) */
87 
88 #elif (defined(CPU_MPC5748G) || defined(CPU_MPC5746C))
89 
90 /*******************************************************************************
91  * Default interrupt handlers signatures
92  ******************************************************************************/
93 void CAN0_ORed_IRQHandler(void);
94 void CAN0_Error_IRQHandler(void);
95 void CAN0_Wake_Up_IRQHandler(void);
96 void CAN0_ORed_00_03_MB_IRQHandler(void);
97 void CAN0_ORed_04_07_MB_IRQHandler(void);
98 void CAN0_ORed_08_11_MB_IRQHandler(void);
99 void CAN0_ORed_12_15_MB_IRQHandler(void);
101 void CAN0_ORed_32_63_MB_IRQHandler(void);
102 void CAN0_ORed_64_95_MB_IRQHandler(void);
103 
104 #if (CAN_INSTANCE_COUNT > 1U)
105 
106 void CAN1_ORed_IRQHandler(void);
107 void CAN1_Error_IRQHandler(void);
108 void CAN1_ORed_00_03_MB_IRQHandler(void);
109 void CAN1_ORed_04_07_MB_IRQHandler(void);
110 void CAN1_ORed_08_11_MB_IRQHandler(void);
111 void CAN1_ORed_12_15_MB_IRQHandler(void);
112 void CAN1_ORed_16_31_MB_IRQHandler(void);
113 void CAN1_ORed_32_63_MB_IRQHandler(void);
114 void CAN1_ORed_64_95_MB_IRQHandler(void);
115 
116 #endif /* (CAN_INSTANCE_COUNT > 1U) */
117 
118 #if (CAN_INSTANCE_COUNT > 2U)
119 
120 void CAN2_ORed_IRQHandler(void);
121 void CAN2_Error_IRQHandler(void);
122 void CAN2_ORed_00_03_MB_IRQHandler(void);
123 void CAN2_ORed_04_07_MB_IRQHandler(void);
124 void CAN2_ORed_08_11_MB_IRQHandler(void);
125 void CAN2_ORed_12_15_MB_IRQHandler(void);
126 void CAN2_ORed_16_31_MB_IRQHandler(void);
127 void CAN2_ORed_32_63_MB_IRQHandler(void);
128 void CAN2_ORed_64_95_MB_IRQHandler(void);
129 
130 #endif /* (CAN_INSTANCE_COUNT > 2U) */
131 
132 #if (CAN_INSTANCE_COUNT > 3U)
133 
134 void CAN3_ORed_IRQHandler(void);
135 void CAN3_Error_IRQHandler(void);
136 void CAN3_ORed_00_03_MB_IRQHandler(void);
137 void CAN3_ORed_04_07_MB_IRQHandler(void);
138 void CAN3_ORed_08_11_MB_IRQHandler(void);
139 void CAN3_ORed_12_15_MB_IRQHandler(void);
140 void CAN3_ORed_16_31_MB_IRQHandler(void);
141 void CAN3_ORed_32_63_MB_IRQHandler(void);
142 void CAN3_ORed_64_95_MB_IRQHandler(void);
143 
144 #endif
145 
146 #if (CAN_INSTANCE_COUNT > 4U)
147 
148 void CAN4_ORed_IRQHandler(void);
149 void CAN4_Error_IRQHandler(void);
150 void CAN4_ORed_00_03_MB_IRQHandler(void);
151 void CAN4_ORed_04_07_MB_IRQHandler(void);
152 void CAN4_ORed_08_11_MB_IRQHandler(void);
153 void CAN4_ORed_12_15_MB_IRQHandler(void);
154 void CAN4_ORed_16_31_MB_IRQHandler(void);
155 void CAN4_ORed_32_63_MB_IRQHandler(void);
156 void CAN4_ORed_64_95_MB_IRQHandler(void);
157 
158 #endif /* (CAN_INSTANCE_COUNT > 4U) */
159 
160 #if (CAN_INSTANCE_COUNT > 5U)
161 
162 void CAN5_ORed_IRQHandler(void);
163 void CAN5_Error_IRQHandler(void);
164 void CAN5_ORed_00_03_MB_IRQHandler(void);
165 void CAN5_ORed_04_07_MB_IRQHandler(void);
166 void CAN5_ORed_08_11_MB_IRQHandler(void);
167 void CAN5_ORed_12_15_MB_IRQHandler(void);
168 void CAN5_ORed_16_31_MB_IRQHandler(void);
169 void CAN5_ORed_32_63_MB_IRQHandler(void);
170 void CAN5_ORed_64_95_MB_IRQHandler(void);
171 
172 #endif
173 #if (CAN_INSTANCE_COUNT > 6U)
174 
175 void CAN6_ORed_IRQHandler(void);
176 void CAN6_Error_IRQHandler(void);
177 void CAN6_ORed_00_03_MB_IRQHandler(void);
178 void CAN6_ORed_04_07_MB_IRQHandler(void);
179 void CAN6_ORed_08_11_MB_IRQHandler(void);
180 void CAN6_ORed_12_15_MB_IRQHandler(void);
181 void CAN6_ORed_16_31_MB_IRQHandler(void);
182 void CAN6_ORed_32_63_MB_IRQHandler(void);
183 void CAN6_ORed_64_95_MB_IRQHandler(void);
184 
185 #endif /* (CAN_INSTANCE_COUNT > 6U) */
186 
187 #if (CAN_INSTANCE_COUNT > 7U)
188 
189 void CAN7_ORed_IRQHandler(void);
190 void CAN7_Error_IRQHandler(void);
191 void CAN7_ORed_00_03_MB_IRQHandler(void);
192 void CAN7_ORed_04_07_MB_IRQHandler(void);
193 void CAN7_ORed_08_11_MB_IRQHandler(void);
194 void CAN7_ORed_12_15_MB_IRQHandler(void);
195 void CAN7_ORed_16_31_MB_IRQHandler(void);
196 void CAN7_ORed_32_63_MB_IRQHandler(void);
197 void CAN7_ORed_64_95_MB_IRQHandler(void);
198 
199 #endif /* (CAN_INSTANCE_COUNT > 7U) */
200 
201 #else
202  #error "No valid CPU defined!"
203 #endif
204 
205 #endif /* FLEXCAN_IRQ_H */
206 
207 /*******************************************************************************
208  * EOF
209  ******************************************************************************/
void CAN0_Wake_Up_IRQHandler(void)
void CAN0_ORed_0_15_MB_IRQHandler(void)
void CAN0_ORed_IRQHandler(void)
void CAN0_Error_IRQHandler(void)
void FLEXCAN_IRQHandler(uint8_t instance)
Interrupt handler for a FlexCAN instance.
void CAN0_ORed_16_31_MB_IRQHandler(void)