1 /*
2  * Copyright 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 3.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  *                              SOURCE FILE VERSION INFORMATION
35  *================================================================================================*/
36 #define SIUL2_ICU_IP_CFG_VENDOR_ID                       43
37 #define SIUL2_ICU_IP_CFG_AR_RELEASE_MAJOR_VERSION        4
38 #define SIUL2_ICU_IP_CFG_AR_RELEASE_MINOR_VERSION        7
39 #define SIUL2_ICU_IP_CFG_AR_RELEASE_REVISION_VERSION     0
40 #define SIUL2_ICU_IP_CFG_SW_MAJOR_VERSION                3
41 #define SIUL2_ICU_IP_CFG_SW_MINOR_VERSION                0
42 #define SIUL2_ICU_IP_CFG_SW_PATCH_VERSION                0
43 
44 /*==================================================================================================
45  *                                      FILE VERSION CHECKS
46  *================================================================================================*/
47 #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
48     /* Check if header file and Std_Types.h file are of the same Autosar version */
49     #if ((SIUL2_ICU_IP_CFG_AR_RELEASE_MAJOR_VERSION != STD_AR_RELEASE_MAJOR_VERSION) || \
50          (SIUL2_ICU_IP_CFG_AR_RELEASE_MINOR_VERSION != STD_AR_RELEASE_MINOR_VERSION))
51         #error "AutoSar Version Numbers of Siul2_Icu_Ip_Cfg.h and Std_Types.h are different"
52     #endif
53 #endif
54 #if (SIUL2_ICU_IP_CFG_VENDOR_ID != SIUL2_ICU_IP_SA_INIT_PBCFG_VENDOR_ID)
55     #error "Siul2_Icu_Ip_Cfg.h and Siul2_Icu_Ip_SA_INIT_PBcfg.h have different vendor IDs"
56 #endif
57 
58 /* Check if  header file and Siul2_Icu_Ip_SA_Init_PBcfg.h file are of the same Autosar version */
59 #if ((SIUL2_ICU_IP_CFG_AR_RELEASE_MAJOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_AR_RELEASE_MAJOR_VERSION) || \
60      (SIUL2_ICU_IP_CFG_AR_RELEASE_MINOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_AR_RELEASE_MINOR_VERSION) || \
61      (SIUL2_ICU_IP_CFG_AR_RELEASE_REVISION_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_AR_RELEASE_REVISION_VERSION))
62     #error "AutoSar Version Numbers of Siul2_Icu_Ip_Cfg.h and Siul2_Icu_Ip_SA_Init_PBcfg.h are different"
63 #endif
64 
65 /* Check if header file and Siul2_Icu_Ip_SA_Init_PBcfg.h file are of the same Software version */
66 #if ((SIUL2_ICU_IP_CFG_SW_MAJOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_SW_MAJOR_VERSION) || \
67      (SIUL2_ICU_IP_CFG_SW_MINOR_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_SW_MINOR_VERSION) || \
68      (SIUL2_ICU_IP_CFG_SW_PATCH_VERSION != SIUL2_ICU_IP_SA_INIT_PBCFG_SW_PATCH_VERSION))
69     #error "Software Version Numbers of Siul2_Icu_Ip_Cfg.h and Siul2_Icu_Ip_SA_Init_PBcfg.h are different"
70 #endif
71 /*==================================================================================================
72                                        DEFINES AND MACROS
73 ==================================================================================================*/
74 #if (STD_ON == SIUL2_ICU_IP_USED)
75 /** @brief SIUL2 external ISRs configured for ICU channels. */
76 #define IRQ_ICU_SINGLE_INTERRUPT STD_OFF
77 #define SIUL2_ICU_IRQ_CH_0_ISR_USED
78 #define SIUL2_ICU_IRQ_CH_1_ISR_USED
79 #define SIUL2_ICU_IRQ_CH_2_ISR_USED
80 #define SIUL2_ICU_IRQ_CH_3_ISR_USED
81 #define SIUL2_ICU_IRQ_CH_4_ISR_USED
82 #define SIUL2_ICU_IRQ_CH_5_ISR_USED
83 #define SIUL2_ICU_IRQ_CH_6_ISR_USED
84 #define SIUL2_ICU_IRQ_CH_7_ISR_USED
85 #define SIUL2_ICU_IRQ_CH_8_ISR_USED
86 #define SIUL2_ICU_IRQ_CH_9_ISR_USED
87 #define SIUL2_ICU_IRQ_CH_10_ISR_USED
88 #define SIUL2_ICU_IRQ_CH_11_ISR_USED
89 #define SIUL2_ICU_IRQ_CH_12_ISR_USED
90 #define SIUL2_ICU_IRQ_CH_13_ISR_USED
91 #define SIUL2_ICU_IRQ_CH_14_ISR_USED
92 #define SIUL2_ICU_IRQ_CH_15_ISR_USED
93 #define SIUL2_ICU_IRQ_CH_16_ISR_USED
94 #define SIUL2_ICU_IRQ_CH_17_ISR_USED
95 #define SIUL2_ICU_IRQ_CH_18_ISR_USED
96 #define SIUL2_ICU_IRQ_CH_19_ISR_USED
97 #define SIUL2_ICU_IRQ_CH_20_ISR_USED
98 #define SIUL2_ICU_IRQ_CH_21_ISR_USED
99 #define SIUL2_ICU_IRQ_CH_22_ISR_USED
100 #define SIUL2_ICU_IRQ_CH_23_ISR_USED
101 #define SIUL2_ICU_IRQ_CH_24_ISR_USED
102 #define SIUL2_ICU_IRQ_CH_25_ISR_USED
103 #define SIUL2_ICU_IRQ_CH_26_ISR_USED
104 #define SIUL2_ICU_IRQ_CH_27_ISR_USED
105 #define SIUL2_ICU_IRQ_CH_28_ISR_USED
106 #define SIUL2_ICU_IRQ_CH_29_ISR_USED
107 #define SIUL2_ICU_IRQ_CH_30_ISR_USED
108 #define SIUL2_ICU_IRQ_CH_31_ISR_USED
109 
110 /* Macro used to export generated configuration. */
111 #define SIUL2_ICU_CONFIG_EXT \
112         SIUL2_ICU_CONFIG_SA_INIT_PB \
113 
114 #endif /* SIUL2_ICU_IP_USED */
115 
116 #ifdef __cplusplus
117 }
118 #endif
119 
120 /** @} */
121 
122 #endif  /* SIUL2_ICU_IP_CFG_H */
123