1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /* Prevention from multiple including the same header */
8 #ifndef LCU_IP_IRQ_H_
9 #define LCU_IP_IRQ_H_
10 
11 /**
12 *   @file    Lcu_Ip_Irq.h
13 *
14 *   @version 3.0.0
15 *
16 *   @brief   AUTOSAR Mcl - Lcu Ip driver header file.
17 *   @details
18 *
19 *   @addtogroup LCU_IP_DRIVER LCU IP Driver
20 *   @{
21 */
22 
23 #ifdef __cplusplus
24 extern "C"{
25 #endif
26 
27 /*==================================================================================================
28 *                                          INCLUDE FILES
29 * 1) system and project includes
30 * 2) needed interfaces from external units
31 * 3) internal and external interfaces from this unit
32 ==================================================================================================*/
33 #include "Lcu_Ip_Types.h"
34 #include "Lcu_Ip_Hw_Access.h"
35 
36 /*==================================================================================================
37                                SOURCE FILE VERSION INFORMATION
38 ==================================================================================================*/
39 #define LCU_IP_IRQ_VENDOR_ID                       43
40 #define LCU_IP_IRQ_AR_RELEASE_MAJOR_VERSION        4
41 #define LCU_IP_IRQ_AR_RELEASE_MINOR_VERSION        7
42 #define LCU_IP_IRQ_AR_RELEASE_REVISION_VERSION     0
43 #define LCU_IP_IRQ_SW_MAJOR_VERSION                3
44 #define LCU_IP_IRQ_SW_MINOR_VERSION                0
45 #define LCU_IP_IRQ_SW_PATCH_VERSION                0
46 
47 /*==================================================================================================
48                                       FILE VERSION CHECKS
49 ==================================================================================================*/
50 /* Check if header file and Lcu_Ip_Types.h file are of the same vendor */
51 #if (LCU_IP_IRQ_VENDOR_ID != LCU_IP_TYPES_VENDOR_ID)
52     #error "Lcu_Ip_Irq.h and Lcu_Ip_Types.h have different vendor ids"
53 #endif
54 
55 /* Check if header file and Lcu_Ip_Types.h file are of the same Autosar version */
56 #if ((LCU_IP_IRQ_AR_RELEASE_MAJOR_VERSION != LCU_IP_TYPES_AR_RELEASE_MAJOR_VERSION) || \
57      (LCU_IP_IRQ_AR_RELEASE_MINOR_VERSION != LCU_IP_TYPES_AR_RELEASE_MINOR_VERSION) || \
58      (LCU_IP_IRQ_AR_RELEASE_REVISION_VERSION != LCU_IP_TYPES_AR_RELEASE_REVISION_VERSION) \
59     )
60     #error "AutoSar Version Numbers of Lcu_Ip_Irq.h and Lcu_Ip_Types.h are different"
61 #endif
62 
63 /* Check if header file and Lcu_Ip_Types.h file are of the same Software version */
64 #if ((LCU_IP_IRQ_SW_MAJOR_VERSION != LCU_IP_TYPES_SW_MAJOR_VERSION) || \
65      (LCU_IP_IRQ_SW_MINOR_VERSION != LCU_IP_TYPES_SW_MINOR_VERSION) || \
66      (LCU_IP_IRQ_SW_PATCH_VERSION != LCU_IP_TYPES_SW_PATCH_VERSION) \
67     )
68     #error "Software Version Numbers of Lcu_Ip_Irq.h and Lcu_Ip_Types.h are different"
69 #endif
70 
71 /* Check if header file and Lcu_Ip_Hw_Access.h file are of the same vendor */
72 #if (LCU_IP_IRQ_VENDOR_ID != LCU_IP_HW_ACCESS_VENDOR_ID)
73     #error "Lcu_Ip_Irq.h and Lcu_Ip_Hw_Access.h have different vendor ids"
74 #endif
75 
76 /* Check if header file and Lcu_Ip_Hw_Access.h file are of the same Autosar version */
77 #if ((LCU_IP_IRQ_AR_RELEASE_MAJOR_VERSION != LCU_IP_HW_ACCESS_AR_RELEASE_MAJOR_VERSION) || \
78      (LCU_IP_IRQ_AR_RELEASE_MINOR_VERSION != LCU_IP_HW_ACCESS_AR_RELEASE_MINOR_VERSION) || \
79      (LCU_IP_IRQ_AR_RELEASE_REVISION_VERSION != LCU_IP_HW_ACCESS_AR_RELEASE_REVISION_VERSION) \
80     )
81     #error "AutoSar Version Numbers of Lcu_Ip_Irq.h and Lcu_Ip_Hw_Access.h are different"
82 #endif
83 
84 /* Check if header file and Lcu_Ip_Hw_Access.h file are of the same Software version */
85 #if ((LCU_IP_IRQ_SW_MAJOR_VERSION != LCU_IP_HW_ACCESS_SW_MAJOR_VERSION) || \
86      (LCU_IP_IRQ_SW_MINOR_VERSION != LCU_IP_HW_ACCESS_SW_MINOR_VERSION) || \
87      (LCU_IP_IRQ_SW_PATCH_VERSION != LCU_IP_HW_ACCESS_SW_PATCH_VERSION) \
88     )
89     #error "Software Version Numbers of Lcu_Ip_Irq.h and Lcu_Ip_Hw_Access.h are different"
90 #endif
91 
92 #if (STD_ON == LCU_IP_IS_AVAILABLE)
93 /*==================================================================================================
94 *                                            CONSTANTS
95 ==================================================================================================*/
96 
97 /*==================================================================================================
98 *                                       DEFINES AND MACROS
99 ==================================================================================================*/
100 
101 /*==================================================================================================
102 *                                              ENUMS
103 ==================================================================================================*/
104 
105 /*==================================================================================================
106 *                                  STRUCTURES AND OTHER TYPEDEFS
107 ==================================================================================================*/
108 
109 /*==================================================================================================
110 *                                  GLOBAL VARIABLE DECLARATIONS
111 ==================================================================================================*/
112 
113 /*==================================================================================================
114 *                                       FUNCTION PROTOTYPES
115 ==================================================================================================*/
116 #define MCL_START_SEC_CODE
117 #include "Mcl_MemMap.h"
118 
119 void Lcu_Ip_IrqHandler(const uint8 HwInstance, const uint8 HwLogicCell, const uint8 HwOutput, const Lcu_Ip_Event Event);
120 
121 void Lcu_IrqHandler(const uint8 HwInstance);
122 
123 #define MCL_STOP_SEC_CODE
124 #include "Mcl_MemMap.h"
125 
126 #endif /* #if (STD_ON == LCU_IP_IS_AVAILABLE) */
127 
128 #ifdef __cplusplus
129 }
130 #endif
131 
132 /** @} */
133 
134 #endif  /* #ifndef LCU_IP_IRQ_H_ */
135 
136 /*******************************************************************************
137  * EOF
138  ******************************************************************************/
139