TEE
优质
小牛编辑
114浏览
2023-12-01
TEE
接口描述
TEE (Trusted Execution Environment)可信执行环境。它保证在内部加载的代码和数据在保密性和完整性方面受到保护。作为独立执行环境的tee提供安全功能,如独立执行、使用tee执行的应用程序的完整性以及保密性。tee提供了一个执行空间,此空间内提供了更高级别的安全性。
csi_tee_aes_encrypt
int32_t csi_tee_aes_encrypt(const uint8_t *in, uint32_t in_len,
const uint8_t *key, uint32_t key_len,
uint8_t iv[16],
uint8_t *out,
tee_aes_mode_e mode);
- 功能描述:
- TEE AES加密。长度应为块大小的倍数(16字节)调用此函数后,将更新iv的内容。
- 参数:
in
: 输入缓存区,指向纯文本缓冲区的指针。in_len
: 输入缓存区长度。key
:指向密钥的指针。key_len
:密钥长度(对于aes128,必须为16字节;对于aes192,必须为24字节;对于aes256,必须为32字节)。iv
: 初始向量IV(Initialization Vector),CBC模式下使用。out
:输出缓存区,指向密文存储区域的指针。mode
:TEE AES模式,见tee_aes_mode_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_aes_decrypt
int32_t csi_tee_aes_decrypt(const uint8_t *in, uint32_t in_len,
const uint8_t *key, uint32_t key_len,
uint8_t iv[16],
uint8_t *out,
uint32_t mode);
- 功能描述:
- TEE AES解密。长度应为块大小的倍数(16字节)调用此函数后,将更新iv的内容。
- 参数:
in
: 输入缓存区,指向密文缓冲区的指针。in_len
: 输入缓存区长度。key
:指向密钥的指针。key_len
:密钥长度(对于aes128,必须为16字节;对于aes192,必须为24字节;对于aes256,必须为32字节)。iv
: 初始向量IV(Initialization Vector),CBC模式下使用。out
:输出缓存区,指向明文存储区域的指针。mode
:TEE AES模式,见tee_aes_mode_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码。
tee_aes_mode_e:
名字 | 定义 | 备注 |
---|---|---|
TEE_AES_MODE_ECB | TEE ECB 模式 | |
TEE_AES_MODE_CBC | TEE CBC 模式 | |
TEE_AES_MODE_MAX | 无效 |
csi_tee_aes_encrypt_ecb
#define csi_tee_aes_encrypt_ecb(in, in_len, key, key_len, out) \
csi_tee_aes_encrypt(in, in_len, key, key_len, NULL, out, TEE_AES_MODE_ECB)
- 功能描述:
- TEE AES ECB模式加密。长度应为块大小的倍数(16字节)调用此函数后,将更新iv的内容。
- 参数:
in
: 输入缓存区,指向纯文本缓冲区的指针。in_len
: 输入缓存区长度。key
:指向密钥的指针。key_len
:密钥长度(对于aes128,必须为16字节;对于aes192,必须为24字节;对于aes256,必须为32字节)。out
:输出缓存区,指向密文存储区域的指针。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_aes_decrypt_ecb
#define csi_tee_aes_decrypt_ecb(in, in_len, key, key_len, out) \
csi_tee_aes_decrypt(in, in_len, key, key_len, NULL, out, TEE_AES_MODE_ECB)
- 功能描述:
- TEE AES ECB模式解密。长度应为块大小的倍数(16字节)调用此函数后,将更新iv的内容。
- 参数:
in
: 输入缓存区,指向密文缓冲区的指针。in_len
: 输入缓存区长度。key
:指向密钥的指针。key_len
:密钥长度(对于aes128,必须为16字节;对于aes192,必须为24字节;对于aes256,必须为32字节)。out
:输出缓存区,指向明文存储区域的指针。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_aes_encrypt_cbc
#define csi_tee_aes_encrypt_cbc(in, in_len, key, key_len, iv, out) \
csi_tee_aes_encrypt(in, in_len, key, key_len, iv, out, TEE_AES_MODE_CBC)
- 功能描述:
- TEE AES CBC模式加密。长度应为块大小的倍数(16字节)调用此函数后,将更新iv的内容。
- 参数:
in
: 输入缓存区,指向纯文本缓冲区的指针。in_len
: 输入缓存区长度。key
:指向密钥的指针。key_len
:密钥长度(对于aes128,必须为16字节;对于aes192,必须为24字节;对于aes256,必须为32字节)。iv
: 初始向量IV(Initialization Vector)。out
:输出缓存区,指向密文存储区域的指针。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_aes_decrypt_cbc
#define csi_tee_aes_decrypt_cbc(in, in_len, key, key_len, iv, out) \
csi_tee_aes_decrypt(in, in_len, key, key_len, iv, out, TEE_AES_MODE_CBC)
- 功能描述:
- TEE AES CBC模式解密。长度应为块大小的倍数(16字节)调用此函数后,将更新iv的内容。
- 参数:
in
: 输入缓存区,指向密文缓冲区的指针。in_len
: 输入缓存区长度。key
:指向密钥的指针。key_len
:密钥长度(对于aes128,必须为16字节;对于aes192,必须为24字节;对于aes256,必须为32字节)。iv
: 初始向量IV(Initialization Vector)。out
:输出缓存区,指向明文存储区域的指针
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_base64
int32_t csi_tee_base64(const uint8_t *in, uint32_t in_len,
uint8_t *out, uint32_t *out_len,
uint32_t is_encode,
uint32_t wsafe);
- 功能描述:
- TEE Base64编码/解码
- 参数:
in
: 输入缓存区。in_len
: 输入缓存区长度。out
:输出缓存区。out_len
:存储输出数据长度的地址。is_encode
: is_encode = 1 表示编码, is_encode = 0 表示解码。wsafe
: base64 websafe功能,设置1,用“-”替换“+/”
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_base64_encode
#define csi_tee_base64_encode(in,in_len,out,out_len) \
csi_tee_base64(in,in_len,out,out_len,1,0)
- 功能描述:
- TEE Base64编码
- 参数:
in
: 输入缓存区。in_len
: 输入缓存区长度。out
:输出缓存区。out_len
:存储输出数据长度的地址。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_base64_decode
#define csi_tee_base64_decode(in,in_len,out,out_len) \
csi_tee_base64(in,in_len,out,out_len,0,0)
- 功能描述:
- TEE Base64解码
- 参数:
in
: 输入缓存区。in_len
: 输入缓存区长度。out
:输出缓存区。out_len
:存储输出数据长度的地址。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_base64_websafe_encode
#define csi_tee_base64_websafe_encode(in,in_len,out,out_len) \
csi_tee_base64(in,in_len,out,out_len,1,1)
- 功能描述:
- TEE Base64 web safe编码
- 参数:
in
: 输入缓存区。in_len
: 输入缓存区长度。out
:输出缓存区。out_len
:存储输出数据长度的地址。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_base64_websafe_decode
#define csi_tee_base64_websafe_decode(in,in_len,out,out_len) \
csi_tee_base64(in,in_len,out,out_len,0,1)
- 功能描述:
- TEE Base64 web safe解码
- 参数:
in
: 输入缓存区。in_len
: 输入缓存区长度。out
:输出缓存区。out_len
:存储输出数据长度的地址。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_get_cid
int32_t csi_tee_get_cid(uint8_t *out, uint32_t *out_len);
- 功能描述:
- TEE 从密钥中获取CID
- 参数:
out
:输出缓存区,存储CID。out_len
:存储输出数据长度的地址。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_enter_lpm
int32_t csi_tee_enter_lpm(uint32_t gate, uint32_t irqid, tee_lpm_mode_e mode);
- 功能描述:
- TEE 设置低功耗模式。
- 参数:
gate
:暂不启用。irqid
:暂不启用。tee_lpm_mode_e
:低功耗模式,见tee_lpm_mode_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码。
tee_lpm_mode_e:
名字 | 定义 | 备注 |
---|---|---|
TEE_LPM_MODE_WAIT | lpm等待 | |
TEE_LPM_MODE_DOZE | lpm低级省电模式 | |
TEE_LPM_MODE_STOP | lpm停止 | |
TEE_LPM_MODE_STANDBY | lpm空闲 | |
TEE_LPM_MODE_CLOCK | lpm时钟 | |
TEE_LPM_MODE_MAX | 无效 |
csi_tee_get_manifest_info
int32_t csi_tee_get_manifest_info(uint8_t *out, uint32_t *out_len, char *name);
- 功能描述:
- TEE 从清单列表提取清单信息。
- 参数:
out
:指向信息缓冲区的指针。out_len
:若提取成功,则存储提取数据的长度。name
: 需要获取的信息名称。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_get_sys_img_info
#define csi_tee_get_sys_img_info(out,out_len,img_name) \
csi_tee_get_manifest_info(out,out_len,img_name)
- 功能描述:
- TEE 从清单列表提取镜像。
- 参数:
out
:指向镜像缓存区的指针。out_len
:若提取成功,则存储提取数据的长度。img_name
: 需要获的镜像名称。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_get_sys_os_version
#define csi_tee_get_sys_os_version(out,out_len) \
csi_tee_get_manifest_info(out,out_len,"os_v")
- 功能描述:
- TEE 从清单列表提取镜像系统版本信息。
- 参数:
out
:指向系统版本存储缓冲区的指针。out_len
:若提取成功,则存储提取数据的长度。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_get_sys_partition
#define csi_tee_get_sys_partition(out,out_len) \
csi_tee_get_manifest_info(out,out_len,"sys_p")
- 功能描述:
- TEE 从清单列表提系统分区信息。
- 参数:
out
:存储缓冲区的指针。out_len
:若提取成功,则存储提取数据的长度。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_rand_seed
int32_t csi_tee_rand_seed(uint32_t seed);
- 功能描述:
- TEE 设置随机种子。
- 参数:
seed
:随机种子。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_rand_generate
int32_t csi_tee_rand_generate(uint8_t *out, uint32_t out_len);
- 功能描述:
- TEE 生成随机日期。
- 参数:
out
:随机日期的存储区。out_len
:数据存储器区的长度。
- 返回值:
- 0: 成功。
- 其它: 错误码。
csi_tee_rsa_sign
int32_t csi_tee_rsa_sign(const uint8_t *in, uint32_t in_len,
const uint8_t *key, uint32_t key_len,
uint8_t *sign, uint32_t *sign_len,
tee_rsa_sign_type_e type);
- 功能描述:
- TEE RSA 私钥签名。
- 参数:
in
:指向摘要缓冲区的指针。in_len
:摘要缓冲区长度。key
:密钥指,指向私钥,密钥包含n, e, d。key_len
:私钥大小,对于RSA1024必须是1283 = 384字节,对于RSA2048必须是2563 = 768字节。sign
:签名缓存区sign_len
:签名缓存区长度tee_rsa_sign_type_e
:签名类型,见tee_rsa_sign_type_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_rsa_verify
int32_t csi_tee_rsa_verify(const uint8_t *in, uint32_t in_len,
const uint8_t *key, uint32_t key_len,
uint8_t *sign, uint32_t sign_len,
tee_rsa_sign_type_e type);
- 功能描述:
- TEE RSA使用公钥验证。
- 参数:
in
:指向摘要缓冲区的指针。in_len
:摘要缓冲区长度。key
:密钥指,指向公包含n, e。key_len
:公钥大小,对于RSA1024必须是1282 = 256字节,对于RSA2048必须是2562 = 512字节sign
:签名缓存区sign_len
:签名缓存区长度tee_rsa_sign_type_e
:签名类型,见tee_rsa_sign_type_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
名称 | 定义 | 备注 |
---|---|---|
TEE_RSA_MD5 | MD5 | |
TEE_RSA_SHA1 | 哈希1 | |
TEE_RSA_SHA256 | 哈希256 | |
TEE_RSA_SIGN_TYPE_MAX | 无效 |
csi_tee_rsa_encrypt
int32_t csi_tee_rsa_encrypt(const uint8_t *in, uint32_t in_len,
const uint8_t *key, uint32_t key_len,
uint8_t *out, uint32_t *out_len,
tee_rsa_padding_mode_e padding);
- 功能描述:
- TEE RSA使用公钥加密
- 参数:
in
:指向明文数据的指针。in_len
:明文数据长度。key
:密钥指,指向公钥包含n, e。key_len
:公钥大小,对于RSA1024必须是1282 = 256字节,对于RSA2048必须是2562 = 512字节out
:密文缓冲区。out_len
:密文数据长度。tee_rsa_padding_mode_e
:填充模式,tee_rsa_padding_mode_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_rsa_decrypt
int32_t csi_tee_rsa_decrypt(const uint8_t *in, uint32_t in_len,
const uint8_t *key, uint32_t key_len,
uint8_t *out, uint32_t *out_len,
tee_rsa_padding_mode_e padding);
- 功能描述:
- TEE RSA使用私钥解密
- 参数:
in
:指向密文数据的指针指针。in_len
:密文数据长度。key
:密钥指,指向私钥,包含n, e,d。key_len
:密钥长度私钥大小,RSA1024必须为1283=384字节,RSA2048必须为2563=768字节。out
:明文数据存储区。out_len
:明文数据长度。tee_rsa_padding_mode_e
:填充模式,tee_rsa_padding_mode_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
tee_rsa_padding_mode_e:
名称 | 定义 | 备注 |
---|---|---|
TEE_RSA_PKCS1_PADDING | RSA PKCS填充模式 | |
TEE_RSA_NO_PADDING | RSA 无填充模式 |
csi_tee_cid_rsa_sign
#define csi_tee_cid_rsa_sign(in,in_len,sign,sign_len,type) \
csi_tee_rsa_sign(in,in_len,NULL,0,sign,sign_len,type)
- 功能描述:
- TEE RSA 使用内部私钥签名。(仅在密钥设置存在时使用)
- 参数:
in
:指向摘要缓冲区的指针。in_len
:摘要缓冲区长度。sign
:签名缓存区sign_len
:签名缓存区长度tee_rsa_sign_type_e
:签名类型,见tee_rsa_sign_type_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_rsa_sign
#define csi_tee_cid_rsa_verify(in,in_len,sign,sign_len,type) \
csi_tee_rsa_verify(in,in_len,NULL,0,sign,sign_len,type)
- 功能描述:
- TEE RSA使用内部公钥验证。(仅在密钥设置存在时使用)
- 参数:
in
:指向摘要缓冲区的指针。in_len
:摘要缓冲区长度。sign
:签名缓存区sign_len
:签名缓存区长度tee_rsa_sign_type_e
:签名类型,见tee_rsa_sign_type_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_cid_rsa_encrypt
#define csi_tee_cid_rsa_encrypt(in,in_len,out,out_len,padding) \
csi_tee_rsa_encrypt(in,in_len,NULL,0,out,out_len,padding)
- 功能描述:
- TEE RSA使用内部公钥加密。(仅在密钥设置存在时使用)
- 参数:
in
:指向明文数据的指针。in_len
:明文数据长度。out
:密文缓冲区。out_len
:密文数据长度。tee_rsa_padding_mode_e
:填充模式,tee_rsa_padding_mode_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_cid_rsa_decrypt
#define csi_tee_cid_rsa_decrypt(in,in_len,out,out_len,padding) \
csi_tee_rsa_decrypt(in,in_len,NULL,0,out,out_len,padding)
- 功能描述:
- TEE RSA使用内部私钥解密
- 参数:
in
:指向密文数据的指针指针。in_len
:密文数据长度。out
:明文数据存储区。out_len
:明文数据长度。tee_rsa_padding_mode_e
:填充模式,tee_rsa_padding_mode_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_img_rsa_verify
int32_t csi_tee_img_rsa_verify(const uint8_t *in, uint32_t in_len,
uint8_t *sign, uint32_t sign_len,
tee_rsa_sign_type_e type);
- 功能描述:
- TEE 使用boot公钥验证boot镜像
- 参数:
in
:指向摘要缓冲区的指针。in_len
:摘要缓冲区长度。sign
:签名缓存区sign_len
:签名缓存区长度tee_rsa_sign_type_e
:签名类型,见tee_rsa_sign_type_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_hmac
int32_t csi_tee_hmac(const uint8_t *in, uint32_t in_len,
const uint8_t *key, uint32_t key_len,
uint8_t *out,
tee_hmac_type_e type,
tee_hash_op_e hash_op,
uint32_t *ctx);
- 功能描述:
- TEE hmac
- 参数:
in
:指向输入数据存储区。in_len
:输入数据长度。key
:密钥存储区。key_len
:密钥长度。out
:输出数据存储区type
:见tee_hmac_type_e定义。hash_op
:hash操作,见tee_hash_op_e定义。- ctx:指向hmac上下文的指针
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_hmac_digest
#define csi_tee_hmac_digest(in,in_len,key,key_len,out,type) \
csi_tee_hmac(in,in_len,key,key_len,out,type,TEE_HASH_OP_NONE,NULL)
- 功能描述:
- TEE HAMC digest
- 参数:
in
:指向输入数据存储区。in_len
:输入数据长度。key
:密钥存储区。key_len
:密钥长度。out
:输出数据存储区type
:见Tee_hmac_type_e定义。
- 返回值:
- 0: 成功。
- 其它: 错误码
tee_hmac_type_e:
名称 | 定义 | 备注 |
---|---|---|
TEE_HMAC_SHA1 = 1, ///< | HMAC with SHA1 |
tee_hash_op_e:
名称 | 定义 | 备注 |
---|---|---|
TEE_HASH_OP_NONE | 无操作 | |
TEE_HASH_OP_START | hash 初始化 | |
TEE_HASH_OP_UPDATA | hash 更新 | |
TEE_HASH_OP_FINISH | hash 结束 | |
TEE_HASH_OP_MAX | 无效 |
csi_tee_sha
int32_t csi_tee_sha(const uint8_t *in, uint32_t in_len,
uint8_t *out,
tee_sha_type_t type,
tee_hash_op_e hash_op,
void *ctx);
- 功能描述:
- TEE SHA,调用csi_tee_sha_digest、csi_tee_sha_start、csi_tee_sha_update或csi_tee_sha_finish优于使用csi_tee_sha。根据类型,需要设置足够大的缓存区,例如TEE_SHA1是20字节,TEE_SHA256是32字节。
- 参数:
in
:指向输入数据存储区。in_len
:输入数据长度。out
:数据输出缓存区type
:见tee_hmac_type_e]定义。hash_op
:hash操作,见tee_hash_op_e定义。- ctx:指向sha上下文的指针
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_sha_digest
#define csi_tee_sha_digest(in,in_len,out,type) \
csi_tee_sha(in,in_len,out,type,TEE_HASH_OP_NONE,NULL);
- 功能描述:
- TEE SHA digest
- 参数:
in
:指向输入数据存储区。in_len
:输入数据长度。out
:数据输出缓存区type
:见tee_hmac_type_e定义。- ctx:指向sha上下文的指针
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_sha_start
#define csi_tee_sha_start(type,ctx) \
csi_tee_sha(NULL,0,NULL,type,TEE_HASH_OP_START,ctx);
- 功能描述:
- TEE 初始化启动SHA
- 参数:
type
:见tee_hmac_type_e定义。- ctx:指向sha上下文的指针
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_sha_update
#define csi_tee_sha_update(in,in_len,ctx) \
csi_tee_sha(in,in_len,NULL,0,TEE_HASH_OP_UPDATA,ctx);
- 功能描述:
- TEE SHA更新数据
- 参数:
in
:指向输入数据存储区。in_len
:输入数据长度。- ctx:指向sha上下文的指针
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_sha_finish
#define csi_tee_sha_finish(out,ctx) \
csi_tee_sha(NULL,0,out,0,TEE_HASH_OP_FINISH,ctx);
- 功能描述:
- 获取TEE SHA摘要
- 参数:
out
:数据输出缓存区- ctx:指向sha上下文的指针
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_dev_info_get
int32_t csi_tee_dev_info_get(const uint8_t *name_encrypted, uint32_t name_encrypted_len,
const uint8_t *product_key_encrypted,
uint32_t product_key_encrypted_len,
const uint8_t *name, uint32_t *name_len,
const uint8_t *product_key, uint32_t *product_key_len);
- 功能描述:
- TEE获取设备名称和产品密钥
- 参数:
name_encrypted
:指向设备名称密文- name_encrypted_len:设备名称密文长度
product_key_encrypted
:指向设备产品密钥密文- product_key_encrypted_len:设备产品密钥密文长度
name
:设备名称存储区- name_len:设备名称长度
product_key
:产品密钥- product_key_len:产品密钥长度
- 返回值:
- 0: 成功。
- 其它: 错误码、
csi_tee_dev_info_sign
int32_t csi_tee_dev_info_sign(const uint8_t *in, uint32_t in_len,
const uint8_t *device_secret, uint32_t device_secret_len,
const uint8_t *sign, uint32_t *sign_len);
- 功能描述:
- TEE设备信息签名
- 参数:
in
:输入数据in_len
:输入数据长度device_secret
:设备密文device_secret_len
:设备密文长度sign
: 签名缓存区sign_len
:签名长度
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_dev_info_crypt
int32_t csi_tee_dev_info_crypt(const uint8_t *in, uint32_t in_len,
uint8_t *out, uint32_t *out_len,
uint8_t is_enc);
- 功能描述:
- TEE设备信息加密/解密。
- 参数:
in
:输入数据。in_len
:输入数据长度。out
:输出数据。out_len
:输出数据长度。is_enc
: 1加密,0解密。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_dev_info_crypt
#define csi_tee_dev_info_encrypt(in, in_len, out, out_len) \
csi_tee_dev_info_crypt(in, in_len, out, out_len, 1)
- 功能描述:
- TEE设备信息加密
- 参数:
in
:输入数据。in_len
:输入数据长度。out
:输出数据。out_len
:输出数据长度。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_dev_info_decrypt
#define csi_tee_dev_info_decrypt(in, in_len, out, out_len) \
csi_tee_dev_info_crypt(in, in_len, out, out_len, 0)
- 功能描述:
- TEE设备信息解密。
- 参数:
in
:输入数据。in_len
:输入数据长度。out
:输出数据。out_len
:输出数据长度。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_set_sys_freq
int32_t csi_tee_set_sys_freq(uint32_t clk_src, uint32_t clk_val)
- 功能描述:
- TEE设置系统频率。
- 参数:
clk_src
: 时钟源。clk_val
:系统时钟频率。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_get_sys_freq
int32_t csi_tee_get_sys_freq(uint32_t *clk_val);
- 功能描述:
- TEE设备信息解密。
- 参数:
clk_val
:系统时钟频率
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_read_reg
int32_t csi_tee_read_reg(uint32_t addr, uint32_t *val);
- 功能描述:
- TEE读取系统寄存器值。
- 参数:
addr
: 寄存器地址。val
:寄存器值。
- 返回值:
- 0: 成功。
- 其它: 错误码
csi_tee_write_reg
int32_t csi_tee_write_reg(uint32_t addr, uint32_t val);
- 功能描述:
- TEE写系统寄存器。
- 参数:
addr
: 寄存器地址。val
:寄存器值。
- 返回值:
- 0: 成功。
- 其它: 错误码