1 /*
2  * Copyright 2022-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SIUL2_ICU_IP_CFG_H
8 #define SIUL2_ICU_IP_CFG_H
9 
10 /**
11  *   @file       Siul2_Icu_Ip_Cfg.h
12  *   @version    1.0.0
13  *
14  *   @brief      AUTOSAR Icu - contains the data exported by the Icu module
15  *   @details    Contains the information that will be exported by the module, as requested by Autosar.
16  *
17  *   @addtogroup siul2_icu_ip SIUL2 IPL
18  *   @{
19  */
20 
21 #ifdef __cplusplus
22 extern "C"{
23 #endif
24 
25  /*==================================================================================================
26  *                                         INCLUDE FILES
27  * 1) system and project includes
28  * 2) needed interfaces from external units
29  * 3) internal and external interfaces from this unit
30  *================================================================================================*/
31 #include "Std_Types.h"
32 #include "Siul2_Icu_Ip_SA_Init_PBcfg.h"
33 
34 /*==================================================================================================
35  *                              SOURCE FILE VERSION INFORMATION
36  *================================================================================================*/
37 #define SIUL2_ICU_IP_CFG_VENDOR_ID                       43
38 #define SIUL2_ICU_IP_CFG_AR_RELEASE_MAJOR_VERSION        4
39 #define SIUL2_ICU_IP_CFG_AR_RELEASE_MINOR_VERSION        7
40 #define SIUL2_ICU_IP_CFG_AR_RELEASE_REVISION_VERSION     0
41 #define SIUL2_ICU_IP_CFG_SW_MAJOR_VERSION                1
42 #define SIUL2_ICU_IP_CFG_SW_MINOR_VERSION                0
43 #define SIUL2_ICU_IP_CFG_SW_PATCH_VERSION                0
44 
45 /*==================================================================================================
46  *                                      FILE VERSION CHECKS
47  *================================================================================================*/
48 #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
49     /* Check if header file and Std_Types.h file are of the same Autosar version */
50     #if ((SIUL2_ICU_IP_CFG_AR_RELEASE_MAJOR_VERSION != STD_AR_RELEASE_MAJOR_VERSION) || \
51          (SIUL2_ICU_IP_CFG_AR_RELEASE_MINOR_VERSION != STD_AR_RELEASE_MINOR_VERSION))
52         #error "AutoSar Version Numbers of Siul2_Icu_Ip_Cfg.h and Std_Types.h are different"
53     #endif
54 #endif
55 /* Check if header file and Siul2_Icu_Ip_SA_Init_PBcfg.h file are of the same vendor */
56 #if (SIUL2_ICU_IP_CFG_VENDOR_ID != SIUL2_ICU_IP_SA_INIT_PBCFG_VENDOR_ID)
57     #error "Siul2_Icu_Ip_Cfg.h and Siul2_Icu_Ip_SA_INIT_PBcfg.h have different vendor IDs"
58 #endif
59 
60 /* Check if header file and Siul2_Icu_Ip_SA_Init_PBcfg.h file are of the same Autosar version */
61 #if ((SIUL2_ICU_IP_CFG_AR_RELEASE_MAJOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_AR_RELEASE_MAJOR_VERSION) || \
62      (SIUL2_ICU_IP_CFG_AR_RELEASE_MINOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_AR_RELEASE_MINOR_VERSION) || \
63      (SIUL2_ICU_IP_CFG_AR_RELEASE_REVISION_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_AR_RELEASE_REVISION_VERSION))
64     #error "AutoSar Version Numbers of Siul2_Icu_Ip_Cfg.h and Siul2_Icu_Ip_SA_Init_PBcfg.h are different"
65 #endif
66 
67 /* Check if header file and Siul2_Icu_Ip_SA_Init_PBcfg.h file are of the same Software version */
68 #if ((SIUL2_ICU_IP_CFG_SW_MAJOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_SW_MAJOR_VERSION) || \
69      (SIUL2_ICU_IP_CFG_SW_MINOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_SW_MINOR_VERSION) || \
70      (SIUL2_ICU_IP_CFG_SW_PATCH_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_SW_PATCH_VERSION))
71     #error "Software Version Numbers of Siul2_Icu_Ip_Cfg.h and Siul2_Icu_Ip_SA_Init_PBcfg.h are different"
72 #endif
73 /*==================================================================================================
74                                        DEFINES AND MACROS
75 ==================================================================================================*/
76 #if (STD_ON == SIUL2_ICU_IP_USED)
77 /** @brief SIUL2 external ISRs configured for ICU channels. */
78 #define SIUL2_0_ICU_EIRQ_SINGLE_INT      (STD_ON)
79 #define SIUL2_1_ICU_EIRQ_SINGLE_INT      (STD_ON)
80 #define SIUL2_4_ICU_EIRQ_SINGLE_INT      (STD_ON)
81 #define SIUL2_5_ICU_EIRQ_SINGLE_INT      (STD_ON)
82 
83 /* Macro used to export generated configuration. */
84 #define SIUL2_ICU_CONFIG_EXT \
85         SIUL2_ICU_CONFIG_SA_INIT_PB \
86 
87 #endif /* SIUL2_ICU_IP_USED */
88 
89 #ifdef __cplusplus
90 }
91 #endif
92 
93 /** @} */
94 
95 #endif  /* SIUL2_ICU_IP_CFG_H */
96