Soc_Ips.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. /*==================================================================================================
  2. * Project : RTD AUTOSAR 4.4
  3. * Platform : CORTEXM
  4. * Peripheral : S32K14X
  5. * Dependencies : none
  6. *
  7. * Autosar Version : 4.4.0
  8. * Autosar Revision : ASR_REL_4_4_REV_0000
  9. * Autosar Conf.Variant :
  10. * SW Version : 1.0.0
  11. * Build Version : S32K1_RTD_1_0_0_HF01_D2109_ASR_REL_4_4_REV_0000_20210907
  12. *
  13. * (c) Copyright 2020-2021 NXP Semiconductors
  14. * All Rights Reserved.
  15. *
  16. * NXP Confidential. This software is owned or controlled by NXP and may only be
  17. * used strictly in accordance with the applicable license terms. By expressly
  18. * accepting such terms or by downloading, installing, activating and/or otherwise
  19. * using the software, you are agreeing that you have read, and that you agree to
  20. * comply with and are bound by, such license terms. If you do not agree to be
  21. * bound by the applicable license terms, then you may not retain, install,
  22. * activate or otherwise use the software.
  23. ==================================================================================================*/
  24. /*
  25. * @page misra_violations MISRA-C:2012 violations
  26. *
  27. * @section [global]
  28. * Violates MISRA 2012 Advisory Rule 2.5, A project should not contain unused macro declaration.
  29. * Macro are required to make code easier in maintainability. Some macro are required by ASR even they are not use in MCAL layer
  30. *
  31. */
  32. #ifndef SOC_IPS_H
  33. #define SOC_IPS_H
  34. /**
  35. * @file Soc_Ips.h
  36. *
  37. * @addtogroup BASE_COMPONENT
  38. * @{
  39. */
  40. #ifdef __cplusplus
  41. extern "C"{
  42. #endif
  43. /*==================================================================================================
  44. * INCLUDE FILES
  45. * 1) system and project includes
  46. * 2) needed interfaces from external units
  47. * 3) internal and external interfaces from this unit
  48. ==================================================================================================*/
  49. #include "Platform_Types.h"
  50. #include "IpVersionMacros.h"
  51. /*==================================================================================================
  52. * SOURCE FILE VERSION INFORMATION
  53. ==================================================================================================*/
  54. #define SOC_IPS_VENDOR_ID 43
  55. #define SOC_IPS_MODULE_ID 0
  56. #define SOC_IPS_AR_RELEASE_MAJOR_VERSION 4
  57. #define SOC_IPS_AR_RELEASE_MINOR_VERSION 4
  58. #define SOC_IPS_AR_RELEASE_REVISION_VERSION 0
  59. #define SOC_IPS_SW_MAJOR_VERSION 1
  60. #define SOC_IPS_SW_MINOR_VERSION 0
  61. #define SOC_IPS_SW_PATCH_VERSION 0
  62. /*==================================================================================================
  63. * FILE VERSION CHECKS
  64. ==================================================================================================*/
  65. #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
  66. /* Check if source file and Platform_Types.h header file are of the same Autosar version */
  67. #if ((SOC_IPS_AR_RELEASE_MAJOR_VERSION != PLATFORM_TYPES_AR_RELEASE_MAJOR_VERSION) || \
  68. (SOC_IPS_AR_RELEASE_MINOR_VERSION != PLATFORM_TYPES_AR_RELEASE_MINOR_VERSION))
  69. #error "AutoSar Version Numbers of Soc_Ips.h and Platform_Types.h are different"
  70. #endif
  71. /* Check if source file and IpVersionMacros.h header file are of the same Autosar version */
  72. #if ((SOC_IPS_AR_RELEASE_MAJOR_VERSION != IPVERSIONMACROS_AR_RELEASE_MAJOR_VERSION) || \
  73. (SOC_IPS_AR_RELEASE_MINOR_VERSION != IPVERSIONMACROS_AR_RELEASE_MINOR_VERSION))
  74. #error "AutoSar Version Numbers of Soc_Ips.h and IpVersionMacros.h are different"
  75. #endif
  76. #endif
  77. /*==================================================================================================
  78. * CONSTANTS
  79. ==================================================================================================*/
  80. /* 40 = 0x28 = CORTEXM_PLATFORM
  81. * 02 = 0x02 = S32K1 DERIVATIVE ID
  82. * 13 = 0x0C = Rev. 13
  83. * 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)
  84. */
  85. /**
  86. * @brief PMC IP Version: PMC v03.00.01.00
  87. * @details S32K14X IP Versions
  88. */
  89. #define IPV_PMC (0x28020C00UL)
  90. /**
  91. * @brief PIT_RTI IP Version: PIT_RTI v05.00.06.11
  92. * @details S32K14X IP Versions
  93. */
  94. #define IPV_PIT (0x28020C00UL)
  95. /**
  96. * @brief RTC IP Version: RTC 00.00.03.06
  97. * @details S32K14X IP Versions
  98. */
  99. #define IPV_RTC (0x28020C00UL)
  100. /**
  101. * @brief ADCDIG IP Version: v00.00.18.00
  102. * @details S32K14X IP Versions
  103. */
  104. #define IPV_ADCDIG (0x28020C00UL)
  105. /**
  106. * @brief SIUL2 IP Version: v00.00.00.10
  107. * @details S32K14X IP Versions
  108. */
  109. #define IPV_SIULV2 (0x28020C00UL)
  110. /**
  111. * @brief MC IP Version: D_IP_magic_carpet_SYN_302 [v07.00.02.03]
  112. * @details S32K14X IP Versions
  113. */
  114. #define IPV_MC (0x28020C00UL)
  115. /**
  116. * @brief PLLDIG IP Version: DA_IP_PLL_SYS_C40ESF3_008 [v00.00.03.04]
  117. * @details S32K14X IP Versions
  118. */
  119. #define IPV_PLLDIG (0x28020C00UL)
  120. /**
  121. * @brief FXOSC IP Version: DA_IP_FXOSC_C [v40.00.00.02.05]
  122. * @details S32K14X IP Versions
  123. */
  124. #define IPV_FXOSC (0x28020C00UL)
  125. /**
  126. * @brief FIRC IP Version: D_IP_FIRC_SYN_SPEC [v00.00.00.21]
  127. * @details S32K14X IP Versions
  128. */
  129. #define IPV_FIRC (0x28020C00UL)
  130. /**
  131. * @brief GMAC IP Version: D_IP_3P_ENET_MAC_SYN_017 [v02.00.00.08]
  132. * @details S32K14X IP Versions
  133. */
  134. #define IPV_GMAC (0x28020C00UL)
  135. /**
  136. * @brief C40ASF IP Version: M_IP_c40asf_spec [v00.00.00.04]
  137. * @details S32K14X IP Versions
  138. */
  139. #define IPV_C40ASF (0x28020C00UL)
  140. /**
  141. * @brief PFLASH IP Version: pflash_c40asf_s32k_spec [v00.00.00.11]
  142. * @details S32K14X IP Versions
  143. */
  144. #define IPV_PFLASH (0x28020C00UL)
  145. /**
  146. * @brief C40ASF IP Version: M_IP_c40asf_spec [v00.00.00.04]
  147. * @details S32K14X IP Versions
  148. */
  149. /** @violates @ref Soc_Ips_h_REF_1 MISRA 2012 Advisory Rule 2.5, unused macro */
  150. #define IPV_FLASH_ARRAY (0x28020C00UL)
  151. /**
  152. * @brief PFLASH IP Version: pflash_c40asf_s32k_spec [v00.00.00.11]
  153. * @details S32K14X IP Versions
  154. */
  155. /** @violates @ref Soc_Ips_h_REF_1 MISRA 2012 Advisory Rule 2.5, unused macro */
  156. #define IPV_FLASH_CONTROLLER (0x28020C00UL)
  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. * @brief Clock Monitoring Unit Frequency Check (CMU_FC) IP Version
  164. * @details S32K14X IP Versions
  165. */
  166. #define IPV_CMU_FC (0x28020C00UL)
  167. /**
  168. * @brief Flexible I/O (FLEXIO) IP Version
  169. * @details S32K14X IP Versions
  170. */
  171. #define IPV_FLEXIO (0x28020C00UL)
  172. /*==================================================================================================
  173. * REGISTER PROTECTION (REG_PROT)
  174. ==================================================================================================*/
  175. /**
  176. * @brief Register Protection IP Version
  177. * @details S32K14X IP Versions
  178. */
  179. #define IPV_REG_PROT (0x28020C00UL)
  180. /*==================================================================================================
  181. * Software Erratas for Hardware Erratas
  182. ==================================================================================================*/
  183. /**
  184. * @brief Hardware errata for RTC: (e10716)
  185. * @details e10716 RTC: Timer Alarm Flag can assert erroneously
  186. */
  187. #define ERR_IPV_RTC_ERR010716 (STD_ON)
  188. /**
  189. * @brief Hardware errata for FTM: (e10856)
  190. * @details e10856 FTM: Safe state is not removed from channel outputs after fault conditionends if SWOCTRL is being used to control the pin
  191. */
  192. #define ERR_IPV_FTM_ERR010856 (STD_ON)
  193. /**
  194. * @brief Hardware errata for FlexCAN: (e050246)
  195. * @details e050246 FlexCAN: Receive Message Buffers may have its Code Field corrupted
  196. * if the Receive FIFO function is used (same to E050443)
  197. */
  198. #define ERR_IPV_FLEXCAN_E050246 (STD_ON)
  199. /**
  200. * @brief Hardware errata for SCG: (e010777)
  201. * @details e010777 SCG: Corrupted status when the system clock is switching.
  202. */
  203. #define ERR_IPV_SCG_ERR010777 (STD_ON)
  204. /*==================================================================================================
  205. * DEFINES AND MACROS
  206. ==================================================================================================*/
  207. /**
  208. * @brief Enable CACHE management feature
  209. * @details Global define to enable CACHE management at runtime
  210. */
  211. #define MCAL_CACHE_RUNTIME_MNGMNT (STD_ON)
  212. /**
  213. * @brief number of EMIOS channels per each interrupt
  214. * @details S32K14X Platform specific Defines/Configurations for EMIOS.
  215. * Can be 1U, 2U, 4U, etc.. depending on the platform
  216. */
  217. #define EMIOS_CHANNELS_PER_INTERRUPT (4U)
  218. /* ARM sub-architecture cortex M4 */
  219. #define MCAL_PLATFORM_ARM_M4
  220. /*==================================================================================================
  221. * ENUMS
  222. ==================================================================================================*/
  223. /*==================================================================================================
  224. * STRUCTURES AND OTHER TYPEDEFS
  225. ==================================================================================================*/
  226. /*==================================================================================================
  227. * GLOBAL VARIABLE DECLARATIONS
  228. ==================================================================================================*/
  229. /**
  230. * @brief User Mode feature is enabled
  231. * @details User Mode feature - MCAL is configured to run in supervisor mode, by default.
  232. */
  233. #ifdef MCAL_ENABLE_SUPERVISOR_MODE
  234. #undef MCAL_ENABLE_USER_MODE_SUPPORT
  235. #endif
  236. /*==================================================================================================
  237. * FUNCTION PROTOTYPES
  238. ==================================================================================================*/
  239. #ifdef __cplusplus
  240. }
  241. #endif
  242. /** @} */
  243. #endif /* SOC_IPS_H */