1 /*
2  * Copyright (c) 2021, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef CC3XX_LCS_DEFS_H
9 #define CC3XX_LCS_DEFS_H
10 
11 #include <stdint.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 typedef uint32_t cc3xx_lcs_t;
18 
19 /*
20  * These do not correspond to the actual codes used in the CC3XX_REG_NVM_LCS_REG
21  * register, but instead are defined so that a set of lifecycle states can be
22  * checked using a mask.
23  */
24 enum cc3xx_lcs {
25     cc3xx_lcs_cm  = 1,
26     cc3xx_lcs_dm  = 2,
27     cc3xx_lcs_se  = 4,
28     cc3xx_lcs_rma = 8,
29 };
30 
31 /*
32  * These are the definitions used in the register.
33  */
34 #define CC3XX_LCS_CM_CODE  0b000
35 #define CC3XX_LCS_DM_CODE  0b001
36 #define CC3XX_LCS_SE_CODE  0b101
37 #define CC3XX_LCS_RMA_CODE 0b111
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif /* CC3XX_LCS_DEFS_H */
44