1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020 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  mcuxCsslSecureCounter_Impl.h
16  * \brief Selection of the implementation for the secure counter mechanism.
17  */
18 
19 #ifndef MCUX_CSSL_SECURE_COUNTER_IMPL_H_
20 #define MCUX_CSSL_SECURE_COUNTER_IMPL_H_
21 
22 /* Include the configuration for the secure counter mechanism. */
23 #include <internal/mcuxCsslSecureCounter_Cfg.h>
24 
25 /* Include the selected implementation of the secure counter mechanism. */
26 #if defined(MCUX_CSSL_SC_USE_HW_CDOG) && (1 == MCUX_CSSL_SC_USE_HW_CDOG)
27 #  include <internal/mcuxCsslSecureCounter_HW_CDOG.h>
28 #elif defined(MCUX_CSSL_SC_USE_HW_SCM) && (1 == MCUX_CSSL_SC_USE_HW_SCM)
29 #  include <internal/mcuxCsslSecureCounter_HW_SCM.h>
30 #elif defined(MCUX_CSSL_SC_USE_SW_LOCAL) && (1 == MCUX_CSSL_SC_USE_SW_LOCAL)
31 #  include <internal/mcuxCsslSecureCounter_SW_Local.h>
32 #elif defined(MCUX_CSSL_SC_USE_SW_CONTEXT) && (1 == MCUX_CSSL_SC_USE_SW_CONTEXT)
33 #  include <internal/mcuxCsslSecureCounter_SW_Context.h>
34 #elif defined(MCUX_CSSL_SC_USE_SW_GLOBAL) && (1 == MCUX_CSSL_SC_USE_SW_GLOBAL)
35 #  include <internal/mcuxCsslSecureCounter_SW_Global.h>
36 #elif defined(MCUX_CSSL_SC_USE_NONE) && (1 == MCUX_CSSL_SC_USE_NONE)
37 #  include <internal/mcuxCsslSecureCounter_None.h>
38 #else
39 #  error "No secure counter implementation found/configured."
40 #endif
41 
42 #endif /* MCUX_CSSL_SECURE_COUNTER_IMPL_H_ */
43