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