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