WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_fapc.h
浏览该文件的文档.
1
9#ifndef HAL_FAPC_H
10#define HAL_FAPC_H
11
12#include "td_type.h"
13
14#ifdef __cplusplus
15#if __cplusplus
16extern "C" {
17#endif /* __cplusplus */
18#endif /* __cplusplus */
19
20typedef enum {
22 CRYPTO_FAPC_MID_CIPHER_TEE = (1 << 1), /* Cipher cannel locked by TEE CPU */
23 CRYPTO_FAPC_MID_CIPHER_ACPU = (1 << 2), /* Cipher cannel locked by ACPU */
24 CRYPTO_FAPC_MID_CIPHER_PCPU = (1 << 3), /* Cipher cannel locked by PCPU */
25 CRYPTO_FAPC_MID_CIPHER_AIDSP = (1 << 4), /* Cipher cannel locked by AIDSP */
26 CRYPTO_FAPC_MID_HASH_TEE = (1 << 5), /* Cipher cannel locked by TEE CPU */
27 CRYPTO_FAPC_MID_HASH_ACPU = (1 << 6), /* Cipher cannel locked by ACPU */
28 CRYPTO_FAPC_MID_HASH_PCPU = (1 << 7), /* Cipher cannel locked by PCPU */
29 CRYPTO_FAPC_MID_HASH_AIDSP = (1 << 8), /* Cipher cannel locked by AIDSP */
35 CRYPTO_FAPC_MID_TDE = (1 << 14), /* TDE */
48
49typedef enum {
50 CRYPTO_FAPC_REGION_MODE_NORMAL = 0, /* Normal mode, SFC will bypass the data */
51 CRYPTO_FAPC_REGION_MODE_DEC = 2, /* Decryption mode, SFC will decrypt the data */
52 CRYPTO_FAPC_REGION_MODE_DEC_AUTH = 3, /* Decryption and authentication mode, SFC will decrypt and verify the data */
56
57td_s32 hal_fapc_set_region_addr(td_u32 region, td_u32 start_addr, td_u32 end_addr);
58
59td_s32 hal_fapc_set_region_permission(td_u32 region, td_u32 read_mid, td_u32 write_mid);
60
62
64
66
68
69/* Define the flash online decryption iv type */
70typedef enum {
71 CRYPTO_FAPC_IV_TYPE_ACPU = 0x00, /* ACPU flash online decryption iv */
72 CRYPTO_FAPC_IV_TYPE_PCPU, /* PCPU flash online decryption iv */
73 CRYPTO_FAPC_IV_TYPE_TEE, /* TEE flash online decryption iv */
77td_s32 hal_fapc_set_region_iv(crypto_fapc_iv_type iv_type, const td_u8 *iv, td_u32 iv_length);
78
80
81#ifdef __cplusplus
82#if __cplusplus
83}
84#endif /* __cplusplus */
85#endif /* __cplusplus */
86
87#endif
td_s32 hal_fapc_set_region_permission(td_u32 region, td_u32 read_mid, td_u32 write_mid)
Definition hal_fapc.c:25
td_s32 hal_fapc_region_lock(td_u32 region)
Definition hal_fapc.c:77
td_s32 hal_fapc_set_region_mode(td_u32 region, crypto_fapc_region_mode region_mode)
Definition hal_fapc.c:42
td_s32 hal_fapc_set_region_iv(crypto_fapc_iv_type iv_type, const td_u8 *iv, td_u32 iv_length)
Definition hal_fapc.c:91
td_s32 hal_fapc_set_region_addr(td_u32 region, td_u32 start_addr, td_u32 end_addr)
Definition hal_fapc.c:14
crypto_fapc_region_mode
Definition hal_fapc.h:49
@ CRYPTO_FAPC_REGION_MODE_NORMAL
Definition hal_fapc.h:50
@ CRYPTO_FAPC_REGION_MODE_DEC
Definition hal_fapc.h:51
@ CRYPTO_FAPC_REGION_MODE_MAX
Definition hal_fapc.h:53
@ CRYPTO_FAPC_REGION_MODE_DEC_AUTH
Definition hal_fapc.h:52
@ CRYPTO_FAPC_REGION_MODE_INVALID
Definition hal_fapc.h:54
crypto_fapc_iv_type
Definition hal_fapc.h:70
@ CRYPTO_FAPC_IV_TYPE_TEE
Definition hal_fapc.h:73
@ CRYPTO_FAPC_IV_TYPE_ACPU
Definition hal_fapc.h:71
@ CRYPTO_FAPC_IV_TYPE_INVALID
Definition hal_fapc.h:75
@ CRYPTO_FAPC_IV_TYPE_MAX
Definition hal_fapc.h:74
@ CRYPTO_FAPC_IV_TYPE_PCPU
Definition hal_fapc.h:72
td_s32 hal_fapc_region_enable(td_u32 region, td_bool enable)
Definition hal_fapc.c:70
td_s32 hal_fapc_set_region_iv_start_addr(td_u32 region, td_u32 start_addr)
Definition hal_fapc.c:111
crypto_fapc_mid
Definition hal_fapc.h:20
@ CRYPTO_FAPC_MID_TDE
Definition hal_fapc.h:35
@ CRYPTO_FAPC_MID_LPMCU
Definition hal_fapc.h:45
@ CRYPTO_FAPC_MID_IOMCU
Definition hal_fapc.h:46
@ CRYPTO_FAPC_MID_HASH_AIDSP
Definition hal_fapc.h:29
@ CRYPTO_FAPC_MID_SFC
Definition hal_fapc.h:39
@ CRYPTO_FAPC_MID_EMMC
Definition hal_fapc.h:32
@ CRYPTO_FAPC_MID_CIPHER_PCPU
Definition hal_fapc.h:24
@ CRYPTO_FAPC_MID_USB
Definition hal_fapc.h:34
@ CRYPTO_FAPC_MID_TEE_CPU
Definition hal_fapc.h:21
@ CRYPTO_FAPC_MID_AUDIO_CGRA
Definition hal_fapc.h:42
@ CRYPTO_FAPC_MID_CIPHER_TEE
Definition hal_fapc.h:22
@ CRYPTO_FAPC_MID_NAND
Definition hal_fapc.h:40
@ CRYPTO_FAPC_MID_PCPU
Definition hal_fapc.h:36
@ CRYPTO_FAPC_MID_AIDSP
Definition hal_fapc.h:30
@ CRYPTO_FAPC_MID_CIPHER_ACPU
Definition hal_fapc.h:23
@ CRYPTO_FAPC_MID_HASH_TEE
Definition hal_fapc.h:26
@ CRYPTO_FAPC_MID_HASH_PCPU
Definition hal_fapc.h:28
@ CRYPTO_FAPC_MID_PSDIO
Definition hal_fapc.h:38
@ CRYPTO_FAPC_MID_CIPHER_AIDSP
Definition hal_fapc.h:25
@ CRYPTO_FAPC_MID_AUDIO_MAD
Definition hal_fapc.h:44
@ CRYPTO_FAPC_MID_ACPU
Definition hal_fapc.h:31
@ CRYPTO_FAPC_MID_VDP
Definition hal_fapc.h:41
@ CRYPTO_FAPC_MID_LMI
Definition hal_fapc.h:37
@ CRYPTO_FAPC_MID_HASH_ACPU
Definition hal_fapc.h:27
@ CRYPTO_FAPC_MID_AUDIO_AIAO
Definition hal_fapc.h:43
@ CRYPTO_FAPC_MID_SDIO
Definition hal_fapc.h:33
td_s32 hal_fapc_set_region_mac_addr(td_u32 region, td_u32 mac_addr)
Definition hal_fapc.c:33
unsigned char td_u8
Definition td_type.h:36
td_u8 td_bool
Definition td_type.h:50
unsigned int td_u32
Definition td_type.h:38
int td_s32
Definition td_type.h:44