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_Cfg.h
16  * \brief Configuration of the implementation for the secure counter mechanism.
17  */
18 
19 #ifndef MCUX_CSSL_SECURE_COUNTER_CFG_H_
20 #define MCUX_CSSL_SECURE_COUNTER_CFG_H_
21 
22 /**
23  * \addtogroup mcuxCsslCFG MCUX CSSL -- Configurations
24  *
25  * \defgroup mcuxCsslSecureCounter_CFG Secure Counter Configuration
26  * \brief Configuration options for the secure counter mechanism.
27  * \ingroup mcuxCsslCFG
28  */
29 
30 /**
31  * \def MCUX_CSSL_SC_USE_HW_CDOG
32  * \brief If set to 1, use the secure counter mechanism implementation based on
33  *        the code watchdog (CDOG) HW IP block.
34  * \ingroup mcuxCsslSecureCounter_CFG
35  */
36     #define MCUX_CSSL_SC_USE_HW_CDOG      0
37 
38 /**
39  * \def MCUX_CSSL_SC_USE_HW_SCM
40  * \brief If set to 1, use the secure counter mechanism implementation based on
41  *        the subsystem control module (SCM) HW IP block.
42  * \ingroup mcuxCsslSecureCounter_CFG
43  */
44     #define MCUX_CSSL_SC_USE_HW_SCM      0
45 
46 /**
47  * \def MCUX_CSSL_SC_USE_SW_LOCAL
48  * \brief If set to 1, use the secure counter mechanism implementation based on
49  *        a SW counter stored in a local variable.
50  * \ingroup mcuxCsslSecureCounter_CFG
51  */
52     #define MCUX_CSSL_SC_USE_SW_LOCAL    1
53 
54 /**
55  * \def MCUX_CSSL_SC_USE_SW_CONTEXT
56  * \brief If set to 1, use the secure counter mechanism implementation based on
57  *        a SW counter stored in a context structure.
58  * \ingroup mcuxCsslSecureCounter_CFG
59  */
60     #define MCUX_CSSL_SC_USE_SW_CONTEXT    0
61 
62 /**
63  * \def MCUX_CSSL_SC_USE_SW_GLOBAL
64  * \brief If set to 1, use the secure counter mechanism implementation based on
65  *        a SW counter stored in a global variable.
66  * \ingroup mcuxCsslSecureCounter_CFG
67  */
68     #define MCUX_CSSL_SC_USE_SW_GLOBAL    0
69 
70 /**
71  * \def MCUX_CSSL_SC_USE_NONE
72  * \brief If set to 1, do not use the secure counter mechanism.
73  * \ingroup mcuxCsslSecureCounter_CFG
74  */
75     #define MCUX_CSSL_SC_USE_NONE    0
76 
77 /* Basic configuration sanity check */
78 
79 #endif /* MCUX_CSSL_SECURE_COUNTER_CFG_H_ */
80