1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef POWER_IP_DCM_GPR_TYPES_H
8 #define POWER_IP_DCM_GPR_TYPES_H
9 
10 /**
11 *   @file       Power_Ip_DCM_GPR_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_Specific.h"
35 
36 /*==================================================================================================
37                                SOURCE FILE VERSION INFORMATION
38 ==================================================================================================*/
39 #define POWER_IP_DCM_GPR_TYPES_VENDOR_ID                       43
40 #define POWER_IP_DCM_GPR_TYPES_AR_RELEASE_MAJOR_VERSION        4
41 #define POWER_IP_DCM_GPR_TYPES_AR_RELEASE_MINOR_VERSION        7
42 #define POWER_IP_DCM_GPR_TYPES_AR_RELEASE_REVISION_VERSION     0
43 #define POWER_IP_DCM_GPR_TYPES_SW_MAJOR_VERSION                3
44 #define POWER_IP_DCM_GPR_TYPES_SW_MINOR_VERSION                0
45 #define POWER_IP_DCM_GPR_TYPES_SW_PATCH_VERSION                0
46 
47 /*==================================================================================================
48                                       FILE VERSION CHECKS
49 ==================================================================================================*/
50 /* Check if Power_Ip_DCM_GPR_Types.h file and Power_Ip_Specific.h file have same versions */
51 #if (POWER_IP_DCM_GPR_TYPES_VENDOR_ID  != POWER_IP_SPECIFIC_VENDOR_ID)
52     #error "Power_Ip_DCM_GPR_Types.h and Power_Ip_Specific.h have different vendor IDs"
53 #endif
54 
55 /* Check if Power_Ip_DCM_GPR_Types.h file and Power_Ip_Specific.h file are of the same Autosar version */
56 #if ((POWER_IP_DCM_GPR_TYPES_AR_RELEASE_MAJOR_VERSION    != POWER_IP_SPECIFIC_AR_RELEASE_MAJOR_VERSION) || \
57      (POWER_IP_DCM_GPR_TYPES_AR_RELEASE_MINOR_VERSION    != POWER_IP_SPECIFIC_AR_RELEASE_MINOR_VERSION) || \
58      (POWER_IP_DCM_GPR_TYPES_AR_RELEASE_REVISION_VERSION != POWER_IP_SPECIFIC_AR_RELEASE_REVISION_VERSION))
59     #error "AutoSar Version Numbers of Power_Ip_DCM_GPR_Types.h and Power_Ip_Specific.h are different"
60 #endif
61 
62 /* Check if Power_Ip_DCM_GPR_Types.h file and Power_Ip_Specific.h file are of the same Software version */
63 #if ((POWER_IP_DCM_GPR_TYPES_SW_MAJOR_VERSION != POWER_IP_SPECIFIC_SW_MAJOR_VERSION) || \
64      (POWER_IP_DCM_GPR_TYPES_SW_MINOR_VERSION != POWER_IP_SPECIFIC_SW_MINOR_VERSION) || \
65      (POWER_IP_DCM_GPR_TYPES_SW_PATCH_VERSION != POWER_IP_SPECIFIC_SW_PATCH_VERSION))
66     #error "Software Version Numbers of Power_Ip_DCM_GPR_Types.h and Power_Ip_Specific.h are different"
67 #endif
68 /*==================================================================================================
69 *                                          CONSTANTS
70 ==================================================================================================*/
71 
72 /*==================================================================================================
73                                        DEFINES AND MACROS
74 ==================================================================================================*/
75 #define POWER_IP_GLOBAL_PADKEEPING_ENABLED      (0U)
76 #define POWER_IP_GLOBAL_PADKEEPING_DISABLED     (1U)
77 
78 /*==================================================================================================
79 *                                             ENUMS
80 ==================================================================================================*/
81 
82 
83 /*==================================================================================================
84 *                                STRUCTURES AND OTHER TYPEDEFS
85 ==================================================================================================*/
86 /**
87 * @brief            Configuration for DCM_GPR.
88 * @details          The power control unit (DCM_GPR) acts as a bridge for mapping the DCM_GPR peripheral
89  *                  to the DCM_GPR address space.
90 */
91 typedef struct
92 {
93     boolean DcmGprUnderMcuControl;   /**< @brief Specifies whether the the DCM_GPR registers is under MCU control. */
94     uint8  BootMode;               /**< @brief The boot mode after exiting Standby mode. */
95     uint32 BootAddress;            /**< @brief Cortex-M7_0 base address of vector table. */
96     uint32 ConfigRegister;         /**< @brief DCM_GPR configuration register (DCMRWF2) */
97     boolean GlobalPadkeeping;      /**< @brief Global Padkeeping enablement (DCMRWF1[STANBY_IO_CONFIG]) */
98 } Power_Ip_DCM_GPR_ConfigType;
99 
100 /*==================================================================================================
101 *                                GLOBAL VARIABLE DECLARATIONS
102 ==================================================================================================*/
103 
104 
105 /*==================================================================================================
106 *                                    FUNCTION PROTOTYPES
107 ==================================================================================================*/
108 
109 
110 #ifdef __cplusplus
111 }
112 #endif
113 
114 /** @} */
115 #endif /* POWER_IP_DCM_GPR_TYPES_H */
116 
117