Port_Ci_Icu_Ip_Irq.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. /*==================================================================================================
  2. * Project : RTD AUTOSAR 4.4
  3. * Platform : CORTEXM
  4. * Peripheral : Ftm Lpit Lptmr Port_Ci LpCmp
  5. * Dependencies : none
  6. *
  7. * Autosar Version : 4.4.0
  8. * Autosar Revision : ASR_REL_4_4_REV_0000
  9. * Autosar Conf.Variant :
  10. * SW Version : 1.0.0
  11. * Build Version : S32K1_RTD_1_0_0_HF01_D2109_ASR_REL_4_4_REV_0000_20210907
  12. *
  13. * (c) Copyright 2020-2021 NXP Semiconductors
  14. * All Rights Reserved.
  15. *
  16. * NXP Confidential. This software is owned or controlled by NXP and may only be
  17. * used strictly in accordance with the applicable license terms. By expressly
  18. * accepting such terms or by downloading, installing, activating and/or otherwise
  19. * using the software, you are agreeing that you have read, and that you agree to
  20. * comply with and are bound by, such license terms. If you do not agree to be
  21. * bound by the applicable license terms, then you may not retain, install,
  22. * activate or otherwise use the software.
  23. ==================================================================================================*/
  24. #ifndef PORT_CI_ICU_IP_IRQ_H
  25. #define PORT_CI_ICU_IP_IRQ_H
  26. /**
  27. * @file
  28. *
  29. * @addtogroup port_ci_icu_ip PORT_CI IPL
  30. * @{
  31. */
  32. #ifdef __cplusplus
  33. extern "C"{
  34. #endif
  35. /*==================================================================================================
  36. * INCLUDE FILES
  37. * 1) system and project includes
  38. * 2) needed interfaces from external units
  39. * 3) internal and external interfaces from this unit
  40. ==================================================================================================*/
  41. #include "OsIf.h"
  42. #include "Port_Ci_Icu_Ip_Cfg.h"
  43. #include "Port_Ci_Icu_Ip_Types.h"
  44. /*==================================================================================================
  45. * SOURCE FILE VERSION INFORMATION
  46. ==================================================================================================*/
  47. #define PORT_CI_ICU_IP_IRQ_VENDOR_ID 43
  48. #define PORT_CI_ICU_IP_IRQ_AR_RELEASE_MAJOR_VERSION 4
  49. #define PORT_CI_ICU_IP_IRQ_AR_RELEASE_MINOR_VERSION 4
  50. #define PORT_CI_ICU_IP_IRQ_AR_RELEASE_REVISION_VERSION 0
  51. #define PORT_CI_ICU_IP_IRQ_SW_MAJOR_VERSION 1
  52. #define PORT_CI_ICU_IP_IRQ_SW_MINOR_VERSION 0
  53. #define PORT_CI_ICU_IP_IRQ_SW_PATCH_VERSION 0
  54. /*==================================================================================================
  55. * FILE VERSION CHECKS
  56. ==================================================================================================*/
  57. #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
  58. /* Check if this header file and OsIf.h file are of the same Autosar version */
  59. #if ((PORT_CI_ICU_IP_IRQ_AR_RELEASE_MAJOR_VERSION != OSIF_AR_RELEASE_MAJOR_VERSION) || \
  60. (PORT_CI_ICU_IP_IRQ_AR_RELEASE_MINOR_VERSION != OSIF_AR_RELEASE_MINOR_VERSION))
  61. #error "AutoSar Version Numbers of Port_Ci_Icu_Ip_Irq.h and OsIf.h are different"
  62. #endif
  63. #endif
  64. /* Check if source file and ICU header file are of the same vendor */
  65. #if (PORT_CI_ICU_IP_IRQ_VENDOR_ID != PORT_CI_ICU_IP_TYPES_VENDOR_ID)
  66. #error "Port_Ci_Icu_Ip_Irq.h and Port_Ci_Icu_Ip_Types.h have different vendor IDs"
  67. #endif
  68. /* Check if source file and ICU header file are of the same AutoSar version */
  69. #if ((PORT_CI_ICU_IP_IRQ_AR_RELEASE_MAJOR_VERSION != PORT_CI_ICU_IP_TYPES_AR_RELEASE_MAJOR_VERSION) || \
  70. (PORT_CI_ICU_IP_IRQ_AR_RELEASE_MINOR_VERSION != PORT_CI_ICU_IP_TYPES_AR_RELEASE_MINOR_VERSION) || \
  71. (PORT_CI_ICU_IP_IRQ_AR_RELEASE_REVISION_VERSION != PORT_CI_ICU_IP_TYPES_AR_RELEASE_REVISION_VERSION))
  72. #error "AutoSar Version Numbers of Port_Ci_Icu_Ip_Irq.h and Port_Ci_Icu_Ip_Types.h are different"
  73. #endif
  74. /* Check if source file and ICU header file are of the same Software version */
  75. #if ((PORT_CI_ICU_IP_IRQ_SW_MAJOR_VERSION != PORT_CI_ICU_IP_TYPES_SW_MAJOR_VERSION) || \
  76. (PORT_CI_ICU_IP_IRQ_SW_MINOR_VERSION != PORT_CI_ICU_IP_TYPES_SW_MINOR_VERSION) || \
  77. (PORT_CI_ICU_IP_IRQ_SW_PATCH_VERSION != PORT_CI_ICU_IP_TYPES_SW_PATCH_VERSION))
  78. #error "Software Version Numbers of Port_Ci_Icu_Ip_Irq.h and Port_Ci_Icu_Ip_Types.h are different"
  79. #endif
  80. /* Check if source file and ICU header file are of the same vendor */
  81. #if (PORT_CI_ICU_IP_IRQ_VENDOR_ID != PORT_CI_ICU_IP_CFG_VENDOR_ID)
  82. #error "Port_Ci_Icu_Ip_Irq.h and Port_Ci_Icu_Ip_Cfg.h have different vendor IDs"
  83. #endif
  84. /* Check if source file and ICU header file are of the same AutoSar version */
  85. #if ((PORT_CI_ICU_IP_IRQ_AR_RELEASE_MAJOR_VERSION != PORT_CI_ICU_IP_CFG_AR_RELEASE_MAJOR_VERSION) || \
  86. (PORT_CI_ICU_IP_IRQ_AR_RELEASE_MINOR_VERSION != PORT_CI_ICU_IP_CFG_AR_RELEASE_MINOR_VERSION) || \
  87. (PORT_CI_ICU_IP_IRQ_AR_RELEASE_REVISION_VERSION != PORT_CI_ICU_IP_CFG_AR_RELEASE_REVISION_VERSION))
  88. #error "AutoSar Version Numbers of Port_Ci_Icu_Ip_Irq.h and Port_Ci_Icu_Ip_Cfg.h are different"
  89. #endif
  90. /* Check if source file and ICU header file are of the same Software version */
  91. #if ((PORT_CI_ICU_IP_IRQ_SW_MAJOR_VERSION != PORT_CI_ICU_IP_CFG_SW_MAJOR_VERSION) || \
  92. (PORT_CI_ICU_IP_IRQ_SW_MINOR_VERSION != PORT_CI_ICU_IP_CFG_SW_MINOR_VERSION) || \
  93. (PORT_CI_ICU_IP_IRQ_SW_PATCH_VERSION != PORT_CI_ICU_IP_CFG_SW_PATCH_VERSION))
  94. #error "Software Version Numbers of Port_Ci_Icu_Ip_Irq.h and Port_Ci_Icu_Ip_Cfg.h are different"
  95. #endif
  96. /*==================================================================================================
  97. * CONSTANTS
  98. ==================================================================================================*/
  99. /*==================================================================================================
  100. * DEFINES AND MACROS
  101. ==================================================================================================*/
  102. /*==================================================================================================
  103. * ENUMS
  104. ==================================================================================================*/
  105. /*==================================================================================================
  106. * STRUCTURES AND OTHER TYPEDEFS
  107. ==================================================================================================*/
  108. /*==================================================================================================
  109. * GLOBAL VARIABLE DECLARATIONS
  110. ==================================================================================================*/
  111. #define ICU_START_SEC_VAR_CLEARED_UNSPECIFIED
  112. #include "Icu_MemMap.h"
  113. extern Port_Ci_Icu_Ip_State Port_Ci_Icu_Ip_u32ChState[PORT_INSTANCE_COUNT][PORT_PCR_COUNT];
  114. #define ICU_STOP_SEC_VAR_CLEARED_UNSPECIFIED
  115. #include "Icu_MemMap.h"
  116. /*==================================================================================================
  117. * FUNCTION PROTOTYPES
  118. ==================================================================================================*/
  119. #define ICU_START_SEC_CODE
  120. #include "Icu_MemMap.h"
  121. #if (defined PORT_CI_ICU_IP_SINGLE_INTERRUPT)
  122. /**
  123. * @brief Interrupt handler for Port
  124. * @details Process the interrupt of Port of Port_Ci IP
  125. *
  126. * @note This will be defined only if any channel on Port is configured
  127. */
  128. ISR(PORT_CI_ICU_IP_EXT_IRQ_SINGLE_INTERRUPT);
  129. #else
  130. #if (defined PORT_CI_ICU_IP_PORT_0_ISR_USED)
  131. /**
  132. * @brief Interrupt handler for Port A
  133. * @details Process the interrupt of Port A of Port_Ci IP
  134. *
  135. * @note This will be defined only if any channel on Port A is configured
  136. */
  137. ISR(PORT_CI_ICU_IP_A_EXT_IRQ_ISR);
  138. #endif /* IRQ PORTA */
  139. #if (defined PORT_CI_ICU_IP_PORT_1_ISR_USED)
  140. /**
  141. * @brief Interrupt handler for Port B
  142. * @details Process the interrupt of Port B of Port_Ci IP
  143. *
  144. * @note This will be defined only if any channel on Port B is configured
  145. */
  146. ISR(PORT_CI_ICU_IP_B_EXT_IRQ_ISR);
  147. #endif /* IRQ PORTB */
  148. #if (defined PORT_CI_ICU_IP_PORT_2_ISR_USED)
  149. /**
  150. * @brief Interrupt handler for Port C
  151. * @details Process the interrupt of Port C of Port_Ci IP
  152. *
  153. * @note This will be defined only if any channel on Port C is configured
  154. */
  155. ISR(PORT_CI_ICU_IP_C_EXT_IRQ_ISR);
  156. #endif /* IRQ PORTC */
  157. #if (defined PORT_CI_ICU_IP_PORT_3_ISR_USED)
  158. /**
  159. * @brief Interrupt handler for Port D
  160. * @details Process the interrupt of Port D of Port_Ci IP
  161. *
  162. * @note This will be defined only if any channel on Port D is configured
  163. */
  164. ISR(PORT_CI_ICU_IP_D_EXT_IRQ_ISR);
  165. #endif /* IRQ PORTD */
  166. #if (defined PORT_CI_ICU_IP_PORT_4_ISR_USED)
  167. /**
  168. * @brief Interrupt handler for Port E
  169. * @details Process the interrupt of Port E of Port_Ci IP
  170. *
  171. * @note This will be defined only if any channel on Port E is configured
  172. */
  173. ISR(PORT_CI_ICU_IP_E_EXT_IRQ_ISR);
  174. #endif /* IRQ PORTE */
  175. #if (defined PORT_CI_ICU_IP_PORT_5_ISR_USED)
  176. /**
  177. * @brief Interrupt handler for Port F
  178. * @details Process the interrupt of Port F of Port_Ci IP
  179. *
  180. * @note This will be defined only if any channel on Port F is configured
  181. */
  182. ISR(PORT_CI_ICU_IP_F_EXT_IRQ_ISR);
  183. #endif /* IRQ PORTF */
  184. #if (defined PORT_CI_ICU_IP_PORT_6_ISR_USED)
  185. /**
  186. * @brief Interrupt handler for Port G
  187. * @details Process the interrupt of Port G of Port_Ci IP
  188. *
  189. * @note This will be defined only if any channel on Port G is configured
  190. */
  191. ISR(ICU_PORT_CI_G_EXT_IRQ_ISR);
  192. #endif /* IRQ PORTG */
  193. #if (defined PORT_CI_ICU_IP_PORT_7_ISR_USED)
  194. /**
  195. * @brief Interrupt handler for Port H
  196. * @details Process the interrupt of Port H of Port_Ci IP
  197. *
  198. * @note This will be defined only if any channel on Port H is configured
  199. */
  200. ISR(ICU_PORT_CI_H_EXT_IRQ_ISR);
  201. #endif /* IRQ PORTH */
  202. #if (defined PORT_CI_ICU_IP_PORT_9_ISR_USED)
  203. /**
  204. * @brief Interrupt handler for Port J
  205. * @details Process the interrupt of Port J of Port_Ci IP
  206. *
  207. * @note This will be defined only if any channel on Port J is configured
  208. */
  209. ISR(ICU_PORT_CI_J_EXT_IRQ_ISR);
  210. #endif /* IRQ PORTJ */
  211. #if (defined PORT_CI_ICU_IP_PORT_10_ISR_USED)
  212. /**
  213. * @brief Interrupt handler for Port K
  214. * @details Process the interrupt of Port K of Port_Ci IP
  215. *
  216. * @note This will be defined only if any channel on Port K is configured
  217. */
  218. ISR(PORT_CI_ICU_IP_K_EXT_IRQ_ISR);
  219. #endif /* IRQ PORTK */
  220. #if (defined PORT_CI_ICU_IP_PORT_11_ISR_USED)
  221. /**
  222. * @brief Interrupt handler for Port L
  223. * @details Process the interrupt of Port L of Port_Ci IP
  224. *
  225. * @note This will be defined only if any channel on Port L is configured
  226. */
  227. ISR(ICU_PORT_CI_L_EXT_IRQ_ISR);
  228. #endif /* IRQ PORTL */
  229. #endif /* PORT_CI_ICU_IP_SINGLE_INTERRUPT */
  230. #define ICU_STOP_SEC_CODE
  231. #include "Icu_MemMap.h"
  232. #ifdef __cplusplus
  233. }
  234. #endif
  235. /** @} */
  236. #endif /* PORT_CI_ICU_IP_IRQ_H */