1 /*
2  * Copyright 2021-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SIUL2_ICU_IP_TRUSTEDFUNCTIONS_H
8 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_H
9 
10 /**
11  *     @file
12  *
13  *     @addtogroup siul2_icu_ip SIUL2 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 #include "Siul2_Icu_Ip_Defines.h"
28 
29 /*==================================================================================================
30 *                                SOURCE FILE VERSION INFORMATION
31 ==================================================================================================*/
32 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_VENDOR_ID                    43
33 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION     4
34 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION     7
35 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION  0
36 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION             1
37 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION             0
38 #define SIUL2_ICU_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION             0
39 
40 /*==================================================================================================
41 *                                       FILE VERSION CHECKS
42 ==================================================================================================*/
43 /* Check if this header file and Define header file are of the same vendor */
44 #if (SIUL2_ICU_IP_TRUSTEDFUNCTIONS_VENDOR_ID != SIUL2_ICU_IP_DEFINES_VENDOR_ID)
45     #error "Siul2_Icu_Ip_TrustedFunctions.h and Siul2_Icu_Ip_Defines.h have different vendor IDs"
46 #endif
47 /* Check if this header  file and Define header file are of the same AutoSar version */
48 #if ((SIUL2_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION  != SIUL2_ICU_IP_DEFINES_AR_RELEASE_MAJOR_VERSION) || \
49      (SIUL2_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION  != SIUL2_ICU_IP_DEFINES_AR_RELEASE_MINOR_VERSION) || \
50      (SIUL2_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION   != SIUL2_ICU_IP_DEFINES_AR_RELEASE_REVISION_VERSION))
51     #error "AutoSar Version Numbers of Siul2_Icu_Ip_TrustedFunctions.h and Siul2_Icu_Ip_Defines.h are different"
52 #endif
53 /* Check if source file and Define header file are of the same Software version */
54 #if ((SIUL2_ICU_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION  != SIUL2_ICU_IP_DEFINES_SW_MAJOR_VERSION) || \
55      (SIUL2_ICU_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION  != SIUL2_ICU_IP_DEFINES_SW_MINOR_VERSION) || \
56      (SIUL2_ICU_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION  != SIUL2_ICU_IP_DEFINES_SW_PATCH_VERSION))
57     #error "Software Version Numbers of Siul2_Icu_Ip_TrustedFunctions.h and Siul2_Icu_Ip_Defines.h are different"
58 #endif
59 /*==================================================================================================
60 *                                            CONSTANTS
61 ==================================================================================================*/
62 
63 /*==================================================================================================
64 *                                        DEFINES AND MACROS
65 ==================================================================================================*/
66 
67 /*==================================================================================================
68 *                                              ENUMS
69 ==================================================================================================*/
70 
71 /*==================================================================================================
72 *                                  STRUCTURES AND OTHER TYPEDEFS
73 ==================================================================================================*/
74 
75 /*==================================================================================================
76 *                                  GLOBAL VARIABLE DECLARATIONS
77 ==================================================================================================*/
78 
79 /*==================================================================================================
80 *                                      FUNCTION PROTOTYPES
81 ==================================================================================================*/
82 #if (STD_ON == SIUL2_ICU_IP_USED)
83 
84 #define ICU_START_SEC_CODE
85 #include "Icu_MemMap.h"
86 
87 /**
88  * @brief      Siul2_Icu_SetUserAccessAllowed
89  * @details    This function is called externally by OS Application
90  * @param[in]  siul2BaseAddr - The base address of Siul2 module.
91  */
92 #if (STD_ON == SIUL2_ICU_IP_ENABLE_USER_MODE_SUPPORT)
93     extern void Siul2_Icu_SetUserAccessAllowed(uint32 siul2BaseAddr);
94 #endif
95 
96 #define ICU_STOP_SEC_CODE
97 #include "Icu_MemMap.h"
98 
99 #endif /* SIUL2_ICU_IP_USED */
100 
101 #ifdef __cplusplus
102 }
103 #endif
104 
105 /** @} */
106 
107 #endif  /* SIUL2_ICU_IP_TRUSTEDFUNCTIONS_H */
108 
109