1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 #ifndef OSIF_TIMER_SYSTEM_H
7 #define OSIF_TIMER_SYSTEM_H
8 
9 /**
10 *   @file
11 *
12 *   @addtogroup osif_drv
13 *   @{
14 */
15 
16 #ifdef __cplusplus
17 extern "C"{
18 #endif
19 
20 /*==================================================================================================
21 *                                          INCLUDE FILES
22 * 1) system and project includes
23 * 2) needed interfaces from external units
24 * 3) internal and external interfaces from this unit
25 ==================================================================================================*/
26 #include "StandardTypes.h"
27 
28 /*==================================================================================================
29 *                                 SOURCE FILE VERSION INFORMATION
30 ==================================================================================================*/
31 #define OSIF_TIMER_SYSTEM_VENDOR_ID                    43
32 #define OSIF_TIMER_SYSTEM_AR_RELEASE_MAJOR_VERSION     4
33 #define OSIF_TIMER_SYSTEM_AR_RELEASE_MINOR_VERSION     7
34 #define OSIF_TIMER_SYSTEM_AR_RELEASE_REVISION_VERSION  0
35 #define OSIF_TIMER_SYSTEM_SW_MAJOR_VERSION             3
36 #define OSIF_TIMER_SYSTEM_SW_MINOR_VERSION             0
37 #define OSIF_TIMER_SYSTEM_SW_PATCH_VERSION             0
38 
39 /*==================================================================================================
40 *                                       FILE VERSION CHECKS
41 ==================================================================================================*/
42 /* Checks against StandardTypes.h */
43 #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
44     #if ((OSIF_TIMER_SYSTEM_AR_RELEASE_MAJOR_VERSION != STD_AR_RELEASE_MAJOR_VERSION) || \
45          (OSIF_TIMER_SYSTEM_AR_RELEASE_MINOR_VERSION != STD_AR_RELEASE_MINOR_VERSION))
46         #error "AutoSar Version Numbers of OsIf_Timer_System.h and StandardTypes.h are different"
47     #endif
48 #endif
49 
50 /*==================================================================================================
51 *                                            CONSTANTS
52 ==================================================================================================*/
53 
54 /*==================================================================================================
55 *                                       DEFINES AND MACROS
56 ==================================================================================================*/
57 
58 /*==================================================================================================
59 *                                              ENUMS
60 ==================================================================================================*/
61 
62 /*==================================================================================================
63 *                                  STRUCTURES AND OTHER TYPEDEFS
64 ==================================================================================================*/
65 
66 /*==================================================================================================
67 *                                  GLOBAL VARIABLE DECLARATIONS
68 ==================================================================================================*/
69 
70 /*==================================================================================================
71 *                                       FUNCTION PROTOTYPES
72 ==================================================================================================*/
73 #define BASENXP_START_SEC_CODE
74 #include "BaseNXP_MemMap.h"
75 
76 void OsIf_Timer_System_Init(void);
77 uint32 OsIf_Timer_System_GetCounter(void);
78 uint32 OsIf_Timer_System_GetElapsed(uint32 * const CurrentRef);
79 void OsIf_Timer_System_SetTimerFrequency(uint32 Freq);
80 uint32 OsIf_Timer_System_MicrosToTicks(uint32 Micros);
81 
82 #define BASENXP_STOP_SEC_CODE
83 #include "BaseNXP_MemMap.h"
84 
85 #ifdef __cplusplus
86 }
87 #endif
88 
89 /** @} */
90 
91 #endif /* OSIF_TIMER_SYSTEM_H */
92