xref: /optee_os/core/drivers/crypto/se050/adaptors/include/se050.h (revision 2cde2dcc7aa2c44786c084fbae9b9864aab60f34)
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright (C) Foundries Ltd. 2020 - All Rights Reserved
4  * Author: Jorge Ramirez <jorge@foundries.io>
5  */
6 
7 #ifndef SE050_H_
8 #define SE050_H_
9 
10 #include <fsl_sss_util_asn1_der.h>
11 #include <fsl_sss_se05x_apis.h>
12 #include <se05x_APDU.h>
13 #include <se050_sss_apis.h>
14 #include <se050_apdu_apis.h>
15 #include <se050_user_apis.h>
16 #include <se050_utils.h>
17 #include <tee_api_types.h>
18 #include <trace.h>
19 #include <util.h>
20 
21 /* Supported Devices*/
22 #define SE050A1_ID 0xA204
23 #define SE050A2_ID 0xA205
24 #define SE050B1_ID 0xA202
25 #define SE050B2_ID 0xA203
26 #define SE050C1_ID 0xA200
27 #define SE050C2_ID 0xA201
28 #define SE050DV_ID 0xA1F4
29 #define SE051A2_ID 0xA565
30 #define SE051C2_ID 0xA564
31 #define SE050F2_ID 0xA77E
32 #define SE050E_ID 0xA921
33 #define SE051A_ID 0xA920
34 #define SE051C_ID 0xA8FA
35 #define SE051W_ID 0xA739
36 #define SE050F_ID 0xA92A
37 #define SE052F2_ID 0xB501
38 
39 TEE_Result se050_core_early_init(struct se050_scp_key *keys);
40 
41 extern sss_se05x_key_store_t *se050_kstore;
42 extern sss_se05x_session_t *se050_session;
43 extern struct sss_se05x_ctx se050_ctx;
44 
se050_get_oefid(void)45 static inline uint32_t se050_get_oefid(void)
46 {
47 	return SHIFT_U32(se050_ctx.se_info.oefid[0], 8) |
48 		SHIFT_U32(se050_ctx.se_info.oefid[1], 0);
49 }
50 
51 #endif /* SE050_H_ */
52