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