1 /* 2 * Copyright 2021-2022 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef SCHM_SPI_H 8 #define SCHM_SPI_H 9 10 /** 11 * @file 12 * 13 * @addtogroup RTE_MODULE 14 * @{ 15 */ 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 /*================================================================================================== 21 * INCLUDE FILES 22 * 1) system and project includes 23 * 2) needed interfaces from external units 24 * 3) internal and external interfaces from this unit 25 ==================================================================================================*/ 26 27 /*================================================================================================== 28 * SOURCE FILE VERSION INFORMATION 29 ==================================================================================================*/ 30 #define SCHM_SPI_AR_RELEASE_MAJOR_VERSION 4 31 #define SCHM_SPI_AR_RELEASE_MINOR_VERSION 7 32 #define SCHM_SPI_AR_RELEASE_REVISION_VERSION 0 33 #define SCHM_SPI_SW_MAJOR_VERSION 0 34 #define SCHM_SPI_SW_MINOR_VERSION 9 35 #define SCHM_SPI_SW_PATCH_VERSION 0 36 37 /*================================================================================================== 38 * FILE VERSION CHECKS 39 ==================================================================================================*/ 40 41 42 /*================================================================================================== 43 * CONSTANTS 44 ==================================================================================================*/ 45 46 /*================================================================================================== 47 * DEFINES AND MACROS 48 ==================================================================================================*/ 49 #define NUMBER_OF_CORES (uint8)(14U) 50 51 /*================================================================================================== 52 * ENUMS 53 ==================================================================================================*/ 54 55 /*================================================================================================== 56 * STRUCTURES AND OTHER TYPEDEFS 57 ==================================================================================================*/ 58 59 /*================================================================================================== 60 * GLOBAL VARIABLE DECLARATIONS 61 ==================================================================================================*/ 62 63 /*================================================================================================== 64 * FUNCTION PROTOTYPES 65 ==================================================================================================*/ 66 #define RTE_START_SEC_CODE 67 #include "Rte_MemMap.h" 68 69 #ifdef MCAL_TESTING_ENVIRONMENT 70 /** 71 @brief This function checks that all entered exclusive areas were also exited. 72 @details This function checks that all entered exclusive areas were also exited. The check 73 is done by verifying that all reentry_guard_* static variables are back to the 74 zero value. 75 76 @param[in] void No input parameters 77 @return void This function does not return a value. Test asserts are used instead. 78 79 @pre None 80 @post None 81 82 @remarks Covers 83 @remarks Implements 84 */ 85 void SchM_Check_spi(void); 86 #endif /*MCAL_TESTING_ENVIRONMENT*/ 87 88 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_00(void); 89 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_00(void); 90 91 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_01(void); 92 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_01(void); 93 94 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_02(void); 95 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_02(void); 96 97 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_03(void); 98 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_03(void); 99 100 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_04(void); 101 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_04(void); 102 103 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_05(void); 104 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_05(void); 105 106 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_06(void); 107 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_06(void); 108 109 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_07(void); 110 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_07(void); 111 112 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08(void); 113 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08(void); 114 115 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09(void); 116 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09(void); 117 118 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10(void); 119 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10(void); 120 121 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11(void); 122 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11(void); 123 124 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12(void); 125 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12(void); 126 127 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_13(void); 128 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_13(void); 129 130 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_14(void); 131 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_14(void); 132 133 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_15(void); 134 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_15(void); 135 136 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_16(void); 137 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_16(void); 138 139 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_17(void); 140 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_17(void); 141 142 extern void SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_18(void); 143 extern void SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_18(void); 144 145 146 void Spi_MainFunction_Handling(void); 147 148 #define RTE_STOP_SEC_CODE 149 #include "Rte_MemMap.h" 150 151 #ifdef __cplusplus 152 } 153 #endif 154 155 /** @} */ 156 157 #endif /* SCHM_SPI_H */ 158