1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef POWER_IP_AEC_TYPES_H
8 #define POWER_IP_AEC_TYPES_H
9 
10 /**
11 *   @file       Power_Ip_AEC_Types.h
12 *   @version    3.0.0
13 *
14 *   @brief   POWER IP driver header file.
15 *   @details POWER IP driver header file.
16 *
17 *   @addtogroup POWER_DRIVER Power Ip Driver
18 *   @{
19 */
20 
21 #ifdef __cplusplus
22 extern "C"{
23 #endif
24 
25 
26 
27 
28 /*==================================================================================================
29                                          INCLUDE FILES
30  1) system and project includes
31  2) needed interfaces from external units
32  3) internal and external interfaces from this unit
33 ==================================================================================================*/
34 #include "Power_Ip_Cfg_Defines.h"
35 #include "Mcal.h"
36 #if (defined(POWER_IP_S32M244) || defined(POWER_IP_S32M242))
37   #include "S32M24x_AEC_AE.h"
38 #endif
39 /*==================================================================================================
40                                SOURCE FILE VERSION INFORMATION
41 ==================================================================================================*/
42 #define POWER_IP_AEC_TYPES_VENDOR_ID                       43
43 #define POWER_IP_AEC_TYPES_AR_RELEASE_MAJOR_VERSION        4
44 #define POWER_IP_AEC_TYPES_AR_RELEASE_MINOR_VERSION        7
45 #define POWER_IP_AEC_TYPES_AR_RELEASE_REVISION_VERSION     0
46 #define POWER_IP_AEC_TYPES_SW_MAJOR_VERSION                3
47 #define POWER_IP_AEC_TYPES_SW_MINOR_VERSION                0
48 #define POWER_IP_AEC_TYPES_SW_PATCH_VERSION                0
49 
50 /*==================================================================================================
51                                       FILE VERSION CHECKS
52 ==================================================================================================*/
53 #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
54 /* Check if Power_Ip_AEC_Types.h file and Mcal.h file are of the same Autosar version */
55 #if ((POWER_IP_AEC_TYPES_AR_RELEASE_MAJOR_VERSION    != MCAL_AR_RELEASE_MAJOR_VERSION) || \
56      (POWER_IP_AEC_TYPES_AR_RELEASE_MINOR_VERSION    != MCAL_AR_RELEASE_MINOR_VERSION))
57     #error "AutoSar Version Numbers of Power_Ip_AEC_Types.h and Mcal.h are different"
58 #endif
59 #endif
60 
61 /* Check if Power_Ip_AEC_Types.h file and Power_Ip_Cfg_Defines.h file have same versions */
62 #if (POWER_IP_AEC_TYPES_VENDOR_ID  != POWER_IP_CFG_DEFINES_VENDOR_ID)
63     #error "Power_Ip_AEC_Types.h and Power_Ip_Cfg_Defines.h have different vendor IDs"
64 #endif
65 
66 /* Check if Power_Ip_AEC_Types.h file and Power_Ip_Cfg_Defines.h file are of the same Autosar version */
67 #if ((POWER_IP_AEC_TYPES_AR_RELEASE_MAJOR_VERSION    != POWER_IP_CFG_DEFINES_AR_RELEASE_MAJOR_VERSION) || \
68      (POWER_IP_AEC_TYPES_AR_RELEASE_MINOR_VERSION    != POWER_IP_CFG_DEFINES_AR_RELEASE_MINOR_VERSION) || \
69      (POWER_IP_AEC_TYPES_AR_RELEASE_REVISION_VERSION != POWER_IP_CFG_DEFINES_AR_RELEASE_REVISION_VERSION))
70     #error "AutoSar Version Numbers of Power_Ip_AEC_Types.h and Power_Ip_Cfg_Defines.h are different"
71 #endif
72 
73 /* Check if Power_Ip_AEC_Types.h file and Power_Ip_Cfg_Defines.h file are of the same Software version */
74 #if ((POWER_IP_AEC_TYPES_SW_MAJOR_VERSION != POWER_IP_CFG_DEFINES_SW_MAJOR_VERSION) || \
75      (POWER_IP_AEC_TYPES_SW_MINOR_VERSION != POWER_IP_CFG_DEFINES_SW_MINOR_VERSION) || \
76      (POWER_IP_AEC_TYPES_SW_PATCH_VERSION != POWER_IP_CFG_DEFINES_SW_PATCH_VERSION))
77     #error "Software Version Numbers of Power_Ip_AEC_Types.h and Power_Ip_Cfg_Defines.h are different"
78 #endif
79 
80 /*==================================================================================================
81 *                                          CONSTANTS
82 ==================================================================================================*/
83 
84 /*==================================================================================================
85                                        DEFINES AND MACROS
86 ==================================================================================================*/
87 
88 #define AEC_AE_RSTGEN_CFG_REGS_OTP_ENABLE_U16          ((uint16)(0x0001))
89 #define AEC_AE_RSTGEN_CFG_REGS_OTP_DISABLE_U16         ((uint16)(0x0000))
90 #define AEC_AE_RSTGEN_CFG_CANPHY_ENABLE_U16            ((uint16)(0x0002))
91 #define AEC_AE_RSTGEN_CFG_CANPHY_DISABLE_U16           ((uint16)(0x0000))
92 #define AEC_AE_RSTGEN_CFG_LINPHY_HP_ENABLE_U16         ((uint16)(0x0004))
93 #define AEC_AE_RSTGEN_CFG_LINPHY_HP_DISABLE_U16        ((uint16)(0x0000))
94 #define AEC_AE_RSTGEN_CFG_LINPHY_LP_ENABLE_U16         ((uint16)(0x0008))
95 #define AEC_AE_RSTGEN_CFG_LINPHY_LP_DISABLE_U16        ((uint16)(0x0000))
96 #define AEC_AE_RSTGEN_CFG_GDU_ENABLE_U16               ((uint16)(0x0010))
97 #define AEC_AE_RSTGEN_CFG_GDU_DISABLE_U16              ((uint16)(0x0000))
98 #define AEC_AE_RSTGEN_CFG_HVI_ENABLE_U16               ((uint16)(0x0020))
99 #define AEC_AE_RSTGEN_CFG_HVI_DISABLE_U16              ((uint16)(0x0000))
100 #define AEC_AE_RSTGEN_CFG_DPGA_ENABLE_U16              ((uint16)(0x0040))
101 #define AEC_AE_RSTGEN_CFG_DPGA_DISABLE_U16             ((uint16)(0x0000))
102 #define AEC_AE_RSTGEN_CFG_TEMPSENSOR_ENABLE_U16        ((uint16)(0x0080))
103 #define AEC_AE_RSTGEN_CFG_TEMPSENSOR_DISABLE_U16       ((uint16)(0x0000))
104 #define AEC_AE_RSTGEN_CFG_CXPI_ENABLE_U16              ((uint16)(0x0100))
105 #define AEC_AE_RSTGEN_CFG_CXPI_DISABLE_U16             ((uint16)(0x0000))
106 
107 /*==================================================================================================
108 *                                             ENUMS
109 ==================================================================================================*/
110 
111 
112 /*==================================================================================================
113 *                                STRUCTURES AND OTHER TYPEDEFS
114 ==================================================================================================*/
115 /**
116 * @brief            Configuration for AEC.
117 * @details          The Reset generator configuration (AEC_RSTGEN_CFG)
118 */
119 typedef struct
120 {
121     uint16 Rstgencfg;                   /**< @brief Reset generator configuration (AEC_RSTGEN_CFG). */
122 } Power_Ip_AEC_ConfigType;
123 
124 /*==================================================================================================
125 *                                GLOBAL VARIABLE DECLARATIONS
126 ==================================================================================================*/
127 
128 
129 /*==================================================================================================
130 *                                    FUNCTION PROTOTYPES
131 ==================================================================================================*/
132 
133 
134 #ifdef __cplusplus
135 }
136 #endif
137 
138 /** @} */
139 #endif /* POWER_IP_AEC_TYPES_H */
140 
141