aboutsummaryrefslogtreecommitdiff
path: root/lib/sec_library/include/csi_efuse_api.h
blob: 748a7b06a350d6e4c282ed6da9d6187932bf826e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
 * Copyright (C) 2019-2021 Alibaba Group Holding Limited
 */
#ifndef __CSI_EFUSE_API_H__
#define __CSI_EFUSE_API_H__

#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
	SECURE_BOOT_DIS	= 0x5a5a5a5a,
	SECURE_BOOT_EN = ~(SECURE_BOOT_DIS),
} sboot_st_t;


typedef enum {
	IMAGE_ENCRYPT_DIS	= 0x5a5a5a5a,
	IMAGE_ENCRYPT_EN = ~(IMAGE_ENCRYPT_DIS),
} img_encrypt_st_t;

int csi_efuse_api_int(void);

int csi_efuse_api_uninit(void);

int csi_efuse_get_secure_boot_st(sboot_st_t *sboot_st);

int csi_efuse_get_digest_signature_scheme(uint32_t *digest_scheme, uint32_t *signature_scheme);

int csi_efuse_get_bl2_encrypt_st(img_encrypt_st_t *encrypt_st);

int csi_efuse_set_bl2_encrypt_st(img_encrypt_st_t encrypt_st);

int csi_efuse_get_bl3_encrypt_st(img_encrypt_st_t *encrypt_st);

int csi_efuse_set_bl3_encrypt_st(img_encrypt_st_t encrypt_st);

int csi_efuse_get_bl1_version(uint32_t *version);

int csi_efuse_set_bl1_version(uint32_t version);

int csi_efuse_get_bl2_version(uint32_t *version);

int csi_efuse_set_bl2_version(uint32_t version);

int csi_efuse_read_raw(uint32_t addr, void *data, uint32_t cnt);

int csi_efuse_write_raw(uint32_t addr, const void *data, uint32_t cnt);

#ifdef __cplusplus
}
#endif

#endif	/* __CSI_EFUSE_API_H__ */