1 /*
2  * Copyright 2021-2024 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef QSPI_IP_TRUSTEDFUNCTIONS_H
8 #define QSPI_IP_TRUSTEDFUNCTIONS_H
9 
10 /**
11 *   @file Qspi_Ip_TrustedFunctions.h
12 *
13 *   @addtogroup IPV_QSPI
14 *   @{
15 */
16 
17 #ifdef __cplusplus
18 extern "C"{
19 #endif
20 
21 #include "Qspi_Ip_Types.h"
22 
23 /*==================================================================================================
24 *                              SOURCE FILE VERSION INFORMATION
25 ==================================================================================================*/
26 #define QSPI_IP_TRUSTEDFUNCTIONS_VENDOR_ID_H                       43
27 #define QSPI_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION_H        4
28 #define QSPI_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION_H        7
29 #define QSPI_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION_H     0
30 #define QSPI_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION_H                2
31 #define QSPI_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION_H                0
32 #define QSPI_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION_H                0
33 
34 
35 /*==================================================================================================
36 *                                     FILE VERSION CHECKS
37 ==================================================================================================*/
38 /* Check if current file and Qspi_Ip_Types header file are of the same vendor */
39 #if (QSPI_IP_TYPES_VENDOR_ID_CFG != QSPI_IP_TRUSTEDFUNCTIONS_VENDOR_ID_H)
40     #error "Qspi_Ip_TrustedFunctions.h and Qspi_Ip_Types.h have different vendor ids"
41 #endif
42 /* Check if current file and Qspi_Ip_Types header file are of the same Autosar version */
43 #if ((QSPI_IP_TYPES_AR_RELEASE_MAJOR_VERSION_CFG    != QSPI_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION_H) || \
44      (QSPI_IP_TYPES_AR_RELEASE_MINOR_VERSION_CFG    != QSPI_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION_H) || \
45      (QSPI_IP_TYPES_AR_RELEASE_REVISION_VERSION_CFG != QSPI_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION_H) \
46     )
47     #error "AutoSar Version Numbers of Qspi_Ip_TrustedFunctions.h and Qspi_Ip_Types.h are different"
48 #endif
49 /* Check if current file and Qspi_Ip_Types header file are of the same Software version */
50 #if ((QSPI_IP_TYPES_SW_MAJOR_VERSION_CFG != QSPI_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION_H) || \
51      (QSPI_IP_TYPES_SW_MINOR_VERSION_CFG != QSPI_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION_H) || \
52      (QSPI_IP_TYPES_SW_PATCH_VERSION_CFG != QSPI_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION_H) \
53     )
54     #error "Software Version Numbers of Qspi_Ip_TrustedFunctions.h and Qspi_Ip_Types.h are different"
55 #endif
56 
57 /*==================================================================================================
58 *                                      DEFINES AND MACROS
59 ==================================================================================================*/
60 
61 
62 /*==================================================================================================
63                                        GLOBAL VARIABLES
64 ==================================================================================================*/
65 
66 
67 /*==================================================================================================
68 *                                     FUNCTION PROTOTYPES
69 ==================================================================================================*/
70 
71 #define MEM_43_EXFLS_START_SEC_CODE
72 #include "Mem_43_EXFLS_MemMap.h"
73 
74 
75 #if (QSPI_IP_ENABLE_USER_MODE_SUPPORT == STD_ON)
76 
77 extern void Qspi_Ip_Sfp_Configure_Privileged(QuadSPI_Type * baseAddr,
78                                              Qspi_Ip_ControllerConfigType const * userConfigPtr);
79 
80 extern void Qspi_Ip_Sfp_ClearLatchedErrors_Privileged(QuadSPI_Type * BaseAddr);
81 
82 extern void Qspi_Ip_ResetPrivilegedRegisters_Privileged(QuadSPI_Type * BaseAddr);
83 
84 extern void Qspi_Ip_WriteLuts_Privileged(uint32 Instance,
85                                          uint8 StartLutRegister,
86                                          const uint32 *Data,
87                                          uint8 Size
88                                         );
89 
90 extern void Qspi_Ip_SetAhbSeqId_Privileged(uint32 instance, uint8 seqID);
91 
92 #endif /* QSPI_IP_ENABLE_USER_MODE_SUPPORT == STD_ON */
93 
94 
95 #define MEM_43_EXFLS_STOP_SEC_CODE
96 #include "Mem_43_EXFLS_MemMap.h"
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 
102 /** @} */
103 
104 #endif /* QSPI_IP_TRUSTEDFUNCTIONS_H */
105 
106