1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-2021 NXP                                                  */
3 /*                                                                          */
4 /* NXP Confidential. This software is owned or controlled by NXP and may    */
5 /* only be used strictly in accordance with the applicable license terms.   */
6 /* By expressly accepting such terms or by downloading, installing,         */
7 /* activating and/or otherwise using the software, you are agreeing that    */
8 /* you have read, and that you agree to comply with and are bound by, such  */
9 /* license terms. If you do not agree to be bound by the applicable license */
10 /* terms, then you may not retain, install, activate or otherwise use the   */
11 /* software.                                                                */
12 /*--------------------------------------------------------------------------*/
13 
14 /**
15  * \file  mcuxCsslFlowProtection_Impl.h
16  * \brief Selection of the implementation for the flow protection mechanism.
17  */
18 
19 #ifndef MCUX_CSSL_FLOW_PROTECTION_IMPL_H_
20 #define MCUX_CSSL_FLOW_PROTECTION_IMPL_H_
21 
22 /* Include the configuration for the flow protection mechanism. */
23 #include <internal/mcuxCsslFlowProtection_Cfg.h>
24 
25 /* Include the selected implementation of the flow protection mechanism. */
26 #if defined(MCUX_CSSL_FP_USE_HW_CSW) && (1 == MCUX_CSSL_FP_USE_HW_CSW)
27 #  include <internal/mcuxCsslFlowProtection_HW_CSW.h>
28 #elif defined(MCUX_CSSL_FP_USE_SECURE_COUNTER) \
29       && (1 == MCUX_CSSL_FP_USE_SECURE_COUNTER)
30 #  include <internal/mcuxCsslSecureCounter_Cfg.h>
31 #  include <internal/mcuxCsslFlowProtection_SecureCounter_Common.h>
32 #  if defined(MCUX_CSSL_SC_USE_HW_SCM) && (1 == MCUX_CSSL_SC_USE_HW_SCM)
33 #    include <internal/mcuxCsslFlowProtection_SecureCounter_Global.h>
34 #  else
35 #    include <internal/mcuxCsslFlowProtection_SecureCounter_Local.h>
36 #  endif
37 #elif defined(MCUX_CSSL_FP_USE_NONE) && (1 == MCUX_CSSL_FP_USE_NONE)
38 #  include <internal/mcuxCsslFlowProtection_None.h>
39 #else
40 #  error "No flow protection implementation found/configured."
41 #endif
42 
43 #endif /* MCUX_CSSL_FLOW_PROTECTION_IMPL_H_ */
44