1 /* 2 * Copyright 2023 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef SOC_IPS_H 8 #define SOC_IPS_H 9 10 /** 11 * @file Soc_Ips.h 12 * 13 * @addtogroup BASENXP_COMPONENT 14 * @{ 15 */ 16 17 #ifdef __cplusplus 18 extern "C"{ 19 #endif 20 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 "Platform_Types.h" 29 #include "IpVersionMacros.h" 30 31 /*================================================================================================== 32 * SOURCE FILE VERSION INFORMATION 33 ==================================================================================================*/ 34 #define SOC_IPS_VENDOR_ID 43 35 #define SOC_IPS_MODULE_ID 0 36 #define SOC_IPS_AR_RELEASE_MAJOR_VERSION 4 37 #define SOC_IPS_AR_RELEASE_MINOR_VERSION 7 38 #define SOC_IPS_AR_RELEASE_REVISION_VERSION 0 39 #define SOC_IPS_SW_MAJOR_VERSION 2 40 #define SOC_IPS_SW_MINOR_VERSION 0 41 #define SOC_IPS_SW_PATCH_VERSION 0 42 43 /*================================================================================================== 44 * FILE VERSION CHECKS 45 ==================================================================================================*/ 46 #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK 47 /* Check if source file and Platform_Types.h header file are of the same Autosar version */ 48 #if ((SOC_IPS_AR_RELEASE_MAJOR_VERSION != PLATFORM_AR_RELEASE_MAJOR_VERSION) || \ 49 (SOC_IPS_AR_RELEASE_MINOR_VERSION != PLATFORM_AR_RELEASE_MINOR_VERSION)) 50 #error "AutoSar Version Numbers of Soc_Ips.h and Platform_Types.h are different" 51 #endif 52 53 /* Check if source file and IpVersionMacros.h header file are of the same Autosar version */ 54 #if ((SOC_IPS_AR_RELEASE_MAJOR_VERSION != IPVERSIONMACROS_AR_RELEASE_MAJOR_VERSION) || \ 55 (SOC_IPS_AR_RELEASE_MINOR_VERSION != IPVERSIONMACROS_AR_RELEASE_MINOR_VERSION)) 56 #error "AutoSar Version Numbers of Soc_Ips.h and IpVersionMacros.h are different" 57 #endif 58 #endif 59 60 /*================================================================================================== 61 * CONSTANTS 62 ==================================================================================================*/ 63 /* 40 = 0x28 = CORTEXM_PLATFORM 64 * 02 = 0x02 = S32K1 DERIVATIVE ID 65 * 13 = 0x0C = Rev. 13 66 * 00 = 0x00 = Not a Draft (A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z) 67 */ 68 69 /** 70 * @brief PMC IP Version: PMC v03.00.01.00 71 * @details S32K14X IP Versions 72 */ 73 #define IPV_PMC (0x28020C00UL) 74 75 76 /** 77 * @brief PIT_RTI IP Version: PIT_RTI v05.00.06.11 78 * @details S32K14X IP Versions 79 */ 80 #define IPV_PIT (0x28020C00UL) 81 82 83 /** 84 * @brief RTC IP Version: RTC 00.00.03.06 85 * @details S32K14X IP Versions 86 */ 87 #define IPV_RTC (0x28020C00UL) 88 89 90 /** 91 * @brief ADCDIG IP Version: v00.00.18.00 92 * @details S32K14X IP Versions 93 */ 94 #define IPV_ADCDIG (0x28020C00UL) 95 96 97 /** 98 * @brief SIUL2 IP Version: v00.00.00.10 99 * @details S32K14X IP Versions 100 */ 101 #define IPV_SIULV2 (0x28020C00UL) 102 103 /** 104 * @brief MC IP Version: D_IP_magic_carpet_SYN_302 [v07.00.02.03] 105 * @details S32K14X IP Versions 106 */ 107 #define IPV_MC (0x28020C00UL) 108 109 /** 110 * @brief PLLDIG IP Version: DA_IP_PLL_SYS_C40ESF3_008 [v00.00.03.04] 111 * @details S32K14X IP Versions 112 */ 113 #define IPV_PLLDIG (0x28020C00UL) 114 115 /** 116 * @brief FXOSC IP Version: DA_IP_FXOSC_C [v40.00.00.02.05] 117 * @details S32K14X IP Versions 118 */ 119 #define IPV_FXOSC (0x28020C00UL) 120 121 /** 122 * @brief FIRC IP Version: D_IP_FIRC_SYN_SPEC [v00.00.00.21] 123 * @details S32K14X IP Versions 124 */ 125 #define IPV_FIRC (0x28020C00UL) 126 127 /** 128 * @brief GMAC IP Version: D_IP_3P_ENET_MAC_SYN_017 [v02.00.00.08] 129 * @details S32K14X IP Versions 130 */ 131 #define IPV_GMAC (0x28020C00UL) 132 133 /** 134 * @brief C40ASF IP Version: M_IP_c40asf_spec [v00.00.00.04] 135 * @details S32K14X IP Versions 136 */ 137 #define IPV_C40ASF (0x28020C00UL) 138 139 /** 140 * @brief PFLASH IP Version: pflash_c40asf_s32k_spec [v00.00.00.11] 141 * @details S32K14X IP Versions 142 */ 143 #define IPV_PFLASH (0x28020C00UL) 144 145 /** 146 * @brief C40ASF IP Version: M_IP_c40asf_spec [v00.00.00.04] 147 * @details S32K14X IP Versions 148 */ 149 #define IPV_FLASH_ARRAY (0x28020C00UL) 150 151 /** 152 * @brief PFLASH IP Version: pflash_c40asf_s32k_spec [v00.00.00.11] 153 * @details S32K14X IP Versions 154 */ 155 #define IPV_FLASH_CONTROLLER (0x28020C00UL) 156 157 /** 158 * @brief QSPI IP Version: QSPI d_ip_quadspi_v2_sync_spec.025 159 * @details S32K14X IP Versions 160 */ 161 #define IPV_QSPI (0x28020C00UL) 162 163 /** 164 * @brief Clock Monitoring Unit Frequency Check (CMU_FC) IP Version 165 * @details S32K14X IP Versions 166 */ 167 #define IPV_CMU_FC (0x28020C00UL) 168 169 /** 170 * @brief Flexible I/O (FLEXIO) IP Version 171 * @details S32K14X IP Versions 172 */ 173 #define IPV_FLEXIO (0x28020C00UL) 174 175 /*================================================================================================== 176 * REGISTER PROTECTION (REG_PROT) 177 ==================================================================================================*/ 178 /** 179 * @brief Register Protection IP Version 180 * @details S32K14X IP Versions 181 */ 182 #define IPV_REG_PROT (0x28020C00UL) 183 184 /*================================================================================================== 185 * Software Erratas for Hardware Erratas 186 ==================================================================================================*/ 187 188 /** 189 * @brief Hardware errata for FlexCAN: (e050246) 190 * @details e050246 FlexCAN: Receive Message Buffers may have its Code Field corrupted 191 * if the Receive FIFO function is used (same to E050443) 192 */ 193 #define ERR_IPV_FLEXCAN_E050246 (STD_ON) 194 195 /** 196 * @brief Hardware errata for SCG: (e010777) 197 * @details e010777 SCG: Corrupted status when the system clock is switching. 198 */ 199 #define ERR_IPV_SCG_ERR010777 (STD_ON) 200 201 /*================================================================================================== 202 * DEFINES AND MACROS 203 ==================================================================================================*/ 204 /** 205 * @brief Enable CACHE management feature 206 * @details Global define to enable CACHE management at runtime 207 */ 208 #define MCAL_CACHE_RUNTIME_MNGMNT (STD_ON) 209 210 /** 211 * @brief number of EMIOS channels per each interrupt 212 * @details S32K14X Platform specific Defines/Configurations for EMIOS. 213 * Can be 1U, 2U, 4U, etc.. depending on the platform 214 */ 215 #define EMIOS_CHANNELS_PER_INTERRUPT (4U) 216 217 /* ARM sub-architecture cortex M4 */ 218 #define MCAL_PLATFORM_ARM_M4 219 220 /*================================================================================================== 221 * ENUMS 222 ==================================================================================================*/ 223 224 225 /*================================================================================================== 226 * STRUCTURES AND OTHER TYPEDEFS 227 ==================================================================================================*/ 228 229 230 /*================================================================================================== 231 * GLOBAL VARIABLE DECLARATIONS 232 ==================================================================================================*/ 233 /** 234 * @brief User Mode feature is enabled 235 * @details User Mode feature - MCAL is configured to run in supervisor mode, by default. 236 */ 237 238 #ifdef MCAL_ENABLE_SUPERVISOR_MODE 239 #undef MCAL_ENABLE_USER_MODE_SUPPORT 240 #endif 241 /*================================================================================================== 242 * FUNCTION PROTOTYPES 243 ==================================================================================================*/ 244 245 #ifdef __cplusplus 246 } 247 #endif 248 249 250 /** @} */ 251 252 #endif /* SOC_IPS_H */ 253 254