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