1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef EMIOS_ICU_IP_TRUSTEDFUNCTIONS_H
8 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_H
9 
10 /**
11 *   @file EMIOS_ICU_IP_TRUSTEDFUNCTIONS_H.h
12 *
13 *   @addtogroup emios_icu_ip EMIOS IPL
14 *   @{
15 */
16 
17 #ifdef __cplusplus
18 extern "C"
19 {
20 #endif
21 
22 /*==================================================================================================
23                                          INCLUDE FILES
24  1) system and project includes
25  2) needed interfaces from external units
26  3) internal and external interfaces from this unit
27 ==================================================================================================*/
28 #include "Emios_Icu_Ip_Defines.h"
29 
30 /*==================================================================================================
31                                SOURCE FILE VERSION INFORMATION
32 ==================================================================================================*/
33 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_VENDOR_ID                           43
34 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION            4
35 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION            7
36 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION         0
37 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION                    3
38 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION                    0
39 #define EMIOS_ICU_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION                    0
40 
41 /*==================================================================================================
42                                       FILE VERSION CHECKS
43 ==================================================================================================*/
44 /* Check if this header file and Define header file are of the same vendor */
45 #if (EMIOS_ICU_IP_TRUSTEDFUNCTIONS_VENDOR_ID != EMIOS_ICU_IP_DEFINES_VENDOR_ID)
46     #error "Emios_Icu_Ip_TrustedFunctions.h and Emios_Icu_Ip_Defines.h have different vendor IDs"
47 #endif
48 /* Check if this header  file and Define header file are of the same AutoSar version */
49 #if ((EMIOS_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION  != EMIOS_ICU_IP_DEFINES_AR_RELEASE_MAJOR_VERSION) || \
50      (EMIOS_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION  != EMIOS_ICU_IP_DEFINES_AR_RELEASE_MINOR_VERSION) || \
51      (EMIOS_ICU_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION   != EMIOS_ICU_IP_DEFINES_AR_RELEASE_REVISION_VERSION))
52     #error "AutoSar Version Numbers of Emios_Icu_Ip_TrustedFunctions.h and Emios_Icu_Ip_Defines.h are different"
53 #endif
54 /* Check if source file and Define header file are of the same Software version */
55 #if ((EMIOS_ICU_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION  != EMIOS_ICU_IP_DEFINES_SW_MAJOR_VERSION) || \
56      (EMIOS_ICU_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION  != EMIOS_ICU_IP_DEFINES_SW_MINOR_VERSION) || \
57      (EMIOS_ICU_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION  != EMIOS_ICU_IP_DEFINES_SW_PATCH_VERSION))
58     #error "Software Version Numbers of Emios_Icu_Ip_TrustedFunctions.h and Emios_Icu_Ip_Defines.h are different"
59 #endif
60 /*==================================================================================================
61                                            CONSTANTS
62 ==================================================================================================*/
63 
64 /*==================================================================================================
65                                        DEFINES AND MACROS
66 ==================================================================================================*/
67 
68 /*==================================================================================================
69 *                                        GLOBAL VARIABLES
70 ==================================================================================================*/
71 
72 /*==================================================================================================
73                                              ENUMS
74 ==================================================================================================*/
75 
76 /*==================================================================================================
77                                  STRUCTURES AND OTHER TYPEDEFS
78 ==================================================================================================*/
79 
80 
81 /*==================================================================================================
82                                  GLOBAL VARIABLE DECLARATIONS
83 ==================================================================================================*/
84 
85 /*==================================================================================================
86                                      FUNCTION PROTOTYPES
87 ==================================================================================================*/
88 #if (STD_ON == EMIOS_ICU_IP_USED)
89 
90 #define ICU_START_SEC_CODE
91 #include "Icu_MemMap.h
92 
93 /**
94  * @brief      Emios_Icu_Ip_SetUserAccessAllowed
95  * @details    This function is called externally by OS Application
96  * @param[in]  EmiosBaseAddr - The base address of Emios.
97  */
98 #if (STD_ON == EMIOS_ICU_IP_ENABLE_USER_MODE_SUPPORT)
99     extern void Emios_Icu_Ip_SetUserAccessAllowed(uint32 EmiosBaseAddr);
100 #endif
101 
102 
103 #define ICU_STOP_SEC_CODE
104 #include "Icu_MemMap.h"
105 
106 #endif  /* EMIOS_ICU_IP_USED */
107 
108 #if defined(__cplusplus)
109 }
110 #endif
111 
112 /** @} */
113 
114 #endif  /* EMIOS_IP_TRUSTEDFUNCTIONS_H */
115