1 /*
2  * Copyright 2021-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef LINFLEXD_UART_IP_IRQ_H
8 #define LINFLEXD_UART_IP_IRQ_H
9 
10 /**
11 *   @file
12 *   @defgroup linflexd_uart_ip Linflexd UART IPL
13 *   @addtogroup  linflexd_uart_ip Linflexd UART IPL
14 *   @{
15 */
16 
17 #ifdef __cplusplus
18 extern "C"{
19 #endif
20 
21 /*==================================================================================================
22 *                                          INCLUDE FILES
23 * 1) system and project includes
24 * 2) needed interfaces from external units
25 * 3) internal and external interfaces from this unit
26 ==================================================================================================*/
27 
28 #include "Linflexd_Uart_Ip_Defines.h"
29 #include "Linflexd_Uart_Ip_Cfg.h"
30 
31 /*==================================================================================================
32 *                                 SOURCE FILE VERSION INFORMATION
33 ==================================================================================================*/
34 #define LINFLEXD_UART_IP_IRQ_VENDOR_ID                    43
35 #define LINFLEXD_UART_IP_IRQ_AR_RELEASE_MAJOR_VERSION     4
36 #define LINFLEXD_UART_IP_IRQ_AR_RELEASE_MINOR_VERSION     7
37 #define LINFLEXD_UART_IP_IRQ_AR_RELEASE_REVISION_VERSION  0
38 #define LINFLEXD_UART_IP_IRQ_SW_MAJOR_VERSION             1
39 #define LINFLEXD_UART_IP_IRQ_SW_MINOR_VERSION             0
40 #define LINFLEXD_UART_IP_IRQ_SW_PATCH_VERSION             0
41 
42 /*==================================================================================================
43 *                                       FILE VERSION CHECKS
44 ==================================================================================================*/
45 /* Checks against Linflexd_Uart_Ip_Defines.h */
46 #if (LINFLEXD_UART_IP_IRQ_VENDOR_ID != LINFLEXD_UART_IP_DEFINES_VENDOR_ID)
47     #error "Linflexd_Uart_Ip_Irq.h and Linflexd_Uart_Ip_Defines.h have different vendor ids"
48 #endif
49 #if ((LINFLEXD_UART_IP_IRQ_AR_RELEASE_MAJOR_VERSION    != LINFLEXD_UART_IP_DEFINES_AR_RELEASE_MAJOR_VERSION) || \
50      (LINFLEXD_UART_IP_IRQ_AR_RELEASE_MINOR_VERSION    != LINFLEXD_UART_IP_DEFINES_AR_RELEASE_MINOR_VERSION) || \
51      (LINFLEXD_UART_IP_IRQ_AR_RELEASE_REVISION_VERSION != LINFLEXD_UART_IP_DEFINES_AR_RELEASE_REVISION_VERSION) \
52     )
53      #error "AUTOSAR Version Numbers of Linflexd_Uart_Ip_Irq.h and Linflexd_Uart_Ip_Defines.h are different"
54 #endif
55 #if ((LINFLEXD_UART_IP_IRQ_SW_MAJOR_VERSION != LINFLEXD_UART_IP_DEFINES_SW_MAJOR_VERSION) || \
56      (LINFLEXD_UART_IP_IRQ_SW_MINOR_VERSION != LINFLEXD_UART_IP_DEFINES_SW_MINOR_VERSION) || \
57      (LINFLEXD_UART_IP_IRQ_SW_PATCH_VERSION != LINFLEXD_UART_IP_DEFINES_SW_PATCH_VERSION) \
58     )
59     #error "Software Version Numbers of Linflexd_Uart_Ip_Irq.h and Linflexd_Uart_Ip_Defines.h are different"
60 #endif
61 
62 /* Checks against Linflexd_Uart_Ip_Cfg.h */
63 #if (LINFLEXD_UART_IP_IRQ_VENDOR_ID != LINFLEXD_UART_IP_CFG_VENDOR_ID)
64     #error "Linflexd_Uart_Ip_Irq.h and Linflexd_Uart_Ip_Cfg.h have different vendor ids"
65 #endif
66 #if ((LINFLEXD_UART_IP_IRQ_AR_RELEASE_MAJOR_VERSION    != LINFLEXD_UART_IP_CFG_AR_RELEASE_MAJOR_VERSION) || \
67      (LINFLEXD_UART_IP_IRQ_AR_RELEASE_MINOR_VERSION    != LINFLEXD_UART_IP_CFG_AR_RELEASE_MINOR_VERSION) || \
68      (LINFLEXD_UART_IP_IRQ_AR_RELEASE_REVISION_VERSION != LINFLEXD_UART_IP_CFG_AR_RELEASE_REVISION_VERSION) \
69     )
70      #error "AUTOSAR Version Numbers of Linflexd_Uart_Ip_Irq.h and Linflexd_Uart_Ip_Cfg.h are different"
71 #endif
72 #if ((LINFLEXD_UART_IP_IRQ_SW_MAJOR_VERSION != LINFLEXD_UART_IP_CFG_SW_MAJOR_VERSION) || \
73      (LINFLEXD_UART_IP_IRQ_SW_MINOR_VERSION != LINFLEXD_UART_IP_CFG_SW_MINOR_VERSION) || \
74      (LINFLEXD_UART_IP_IRQ_SW_PATCH_VERSION != LINFLEXD_UART_IP_CFG_SW_PATCH_VERSION) \
75     )
76     #error "Software Version Numbers of Linflexd_Uart_Ip_Irq.h and Linflexd_Uart_Ip_Cfg.h are different"
77 #endif
78 /*==================================================================================================
79 *                                            CONSTANTS
80 ==================================================================================================*/
81 
82 /*==================================================================================================
83 *                                       DEFINES AND MACROS
84 ==================================================================================================*/
85 
86 /*==================================================================================================
87 *                                              ENUMS
88 ==================================================================================================*/
89 
90 /*==================================================================================================
91 *                                  STRUCTURES AND OTHER TYPEDEFS
92 ==================================================================================================*/
93 
94 /*==================================================================================================
95 *                                  GLOBAL VARIABLE DECLARATIONS
96 ==================================================================================================*/
97 
98 /*==================================================================================================
99 *                                       FUNCTION PROTOTYPES
100 ==================================================================================================*/
101 #define UART_START_SEC_CODE
102 #include "Uart_MemMap.h"
103 
104 #if (LINFLEXD_INSTANCE_COUNT > 0U)
105 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_0
106 /* Implementation of LINFLEXD0 handler named in startup code. */
107 ISR(LINFLEXD0_UART_IRQHandler);
108 #endif
109 #endif
110 
111 #if (LINFLEXD_INSTANCE_COUNT > 1U)
112 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_1
113 /* Implementation of LINFLEXD1 handler named in startup code. */
114 ISR(LINFLEXD1_UART_IRQHandler);
115 #endif
116 #endif
117 
118 #if (LINFLEXD_INSTANCE_COUNT > 2U)
119 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_2
120 /* Implementation of LINFLEXD2 handler named in startup code. */
121 ISR(LINFLEXD2_UART_IRQHandler);
122 #endif
123 #endif
124 
125 
126 #if (LINFLEXD_INSTANCE_COUNT > 3U)
127 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_3
128 /* Implementation of LINFLEXD3 handler named in startup code. */
129 ISR(LINFLEXD3_UART_IRQHandler);
130 #endif
131 #endif
132 
133 #if (LINFLEXD_INSTANCE_COUNT > 4U)
134 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_4
135 /* Implementation of LINFLEXD4 handler named in startup code. */
136 ISR(LINFLEXD4_UART_IRQHandler);
137 #endif
138 #endif
139 
140 #if (LINFLEXD_INSTANCE_COUNT > 5U)
141 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_5
142 /* Implementation of LINFLEXD5 handler named in startup code. */
143 ISR(LINFLEXD5_UART_IRQHandler);
144 #endif
145 #endif
146 
147 #if (LINFLEXD_INSTANCE_COUNT > 6U)
148 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_6
149 /* Implementation of LINFLEXD6 handler named in startup code. */
150 ISR(LINFLEXD6_UART_IRQHandler);
151 #endif
152 #endif
153 
154 #if (LINFLEXD_INSTANCE_COUNT > 7U)
155 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_7
156 /* Implementation of LINFLEXD7 handler named in startup code. */
157 ISR(LINFLEXD7_UART_IRQHandler);
158 #endif
159 #endif
160 
161 #if (LINFLEXD_INSTANCE_COUNT > 8U)
162 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_8
163 /* Implementation of LINFLEXD8 handler named in startup code. */
164 ISR(LINFLEXD8_UART_IRQHandler);
165 #endif
166 #endif
167 
168 #if (LINFLEXD_INSTANCE_COUNT > 9U)
169 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_9
170 /* Implementation of LINFLEXD9 handler named in startup code. */
171 ISR(LINFLEXD9_UART_IRQHandler);
172 #endif
173 #endif
174 
175 #if (LINFLEXD_INSTANCE_COUNT > 10U)
176 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_10
177 /* Implementation of LINFLEXD10 handler named in startup code. */
178 ISR(LINFLEXD10_UART_IRQHandler);
179 #endif
180 #endif
181 
182 #if (LINFLEXD_INSTANCE_COUNT > 11U)
183 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_11
184 /* Implementation of LINFLEXD11 handler named in startup code. */
185 ISR(LINFLEXD11_UART_IRQHandler);
186 #endif
187 #endif
188 
189 #if (LINFLEXD_INSTANCE_COUNT > 12U)
190 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_12
191 /* Implementation of LINFLEXD12 handler named in startup code. */
192 ISR(LINFLEXD12_UART_IRQHandler);
193 #endif
194 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_MSC_0_LIN
195 /* Implementation of MSC_0_LIN handler named in startup code. */
196 ISR(MSC_0_LIN_UART_IRQHandler);
197 #endif
198 #endif
199 
200 
201 #if (LINFLEXD_UART_IP_HAS_DMA_ENABLED == STD_ON)
202 #if (LINFLEXD_INSTANCE_COUNT > 0U)
203 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_0
204 void Linflexd_0_Uart_Ip_DmaRxCompleteCallback(void);
205 void Linflexd_0_Uart_Ip_DmaTxCompleteCallback(void);
206 #endif
207 #endif
208 
209 #if (LINFLEXD_INSTANCE_COUNT > 1U)
210 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_1
211 void Linflexd_1_Uart_Ip_DmaRxCompleteCallback(void);
212 void Linflexd_1_Uart_Ip_DmaTxCompleteCallback(void);
213 #endif
214 #endif
215 
216 #if (LINFLEXD_INSTANCE_COUNT > 2U)
217 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_2
218 void Linflexd_2_Uart_Ip_DmaRxCompleteCallback(void);
219 void Linflexd_2_Uart_Ip_DmaTxCompleteCallback(void);
220 #endif
221 #endif
222 
223 #if (LINFLEXD_INSTANCE_COUNT > 3U)
224 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_3
225 void Linflexd_3_Uart_Ip_DmaRxCompleteCallback(void);
226 void Linflexd_3_Uart_Ip_DmaTxCompleteCallback(void);
227 #endif
228 #endif
229 
230 #if (LINFLEXD_INSTANCE_COUNT > 4U)
231 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_4
232 void Linflexd_4_Uart_Ip_DmaRxCompleteCallback(void);
233 void Linflexd_4_Uart_Ip_DmaTxCompleteCallback(void);
234 #endif
235 #endif
236 
237 #if (LINFLEXD_INSTANCE_COUNT > 5U)
238 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_5
239 void Linflexd_5_Uart_Ip_DmaRxCompleteCallback(void);
240 void Linflexd_5_Uart_Ip_DmaTxCompleteCallback(void);
241 #endif
242 #endif
243 
244 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_6
245 #if (LINFLEXD_INSTANCE_COUNT > 6U)
246 void Linflexd_6_Uart_Ip_DmaRxCompleteCallback(void);
247 void Linflexd_6_Uart_Ip_DmaTxCompleteCallback(void);
248 #endif
249 #endif
250 
251 #if (LINFLEXD_INSTANCE_COUNT > 7U)
252 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_7
253 void Linflexd_7_Uart_Ip_DmaRxCompleteCallback(void);
254 void Linflexd_7_Uart_Ip_DmaTxCompleteCallback(void);
255 #endif
256 #endif
257 
258 #if (LINFLEXD_INSTANCE_COUNT > 8U)
259 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_8
260 void Linflexd_8_Uart_Ip_DmaRxCompleteCallback(void);
261 void Linflexd_8_Uart_Ip_DmaTxCompleteCallback(void);
262 #endif
263 #endif
264 
265 #if (LINFLEXD_INSTANCE_COUNT > 9U)
266 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_9
267 void Linflexd_9_Uart_Ip_DmaRxCompleteCallback(void);
268 void Linflexd_9_Uart_Ip_DmaTxCompleteCallback(void);
269 #endif
270 #endif
271 
272 #if (LINFLEXD_INSTANCE_COUNT > 10U)
273 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_10
274 void Linflexd_10_Uart_Ip_DmaRxCompleteCallback(void);
275 void Linflexd_10_Uart_Ip_DmaTxCompleteCallback(void);
276 #endif
277 #endif
278 
279 #if (LINFLEXD_INSTANCE_COUNT > 11U)
280 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_11
281 void Linflexd_11_Uart_Ip_DmaRxCompleteCallback(void);
282 void Linflexd_11_Uart_Ip_DmaTxCompleteCallback(void);
283 #endif
284 #endif
285 
286 #if (LINFLEXD_INSTANCE_COUNT > 12U)
287 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_12
288 void Linflexd_12_Uart_Ip_DmaRxCompleteCallback(void);
289 void Linflexd_12_Uart_Ip_DmaTxCompleteCallback(void);
290 #endif
291 #ifdef LINFLEXD_UART_IP_INSTANCE_USING_MSC_0_LIN
292 void MSC_0_Lin_Uart_Ip_DmaRxCompleteCallback(void);
293 void MSC_0_Lin_Uart_Ip_DmaTxCompleteCallback(void);
294 #endif
295 #endif
296 
297 #endif
298 
299 #define UART_STOP_SEC_CODE
300 #include "Uart_MemMap.h"
301 
302 #ifdef __cplusplus
303 }
304 #endif
305 
306 /** @} */
307 
308 #endif /* LINFLEXD_UART_IP_IRQ_H */
309