summaryrefslogtreecommitdiff
path: root/include/amlogic/secure_storage.h (plain)
blob: 60e022c931fed43dee52b27d1cb11e8bee5ef0af
1#ifndef __SECURE_STORAGE_H__
2#define __SECURE_STORAGE_H__
3
4/* return value*/
5#define RET_OK 0
6#define RET_EFAIL 1
7#define RET_EINVAL 2
8#define RET_EMEM 3
9
10#define RET_EUND -1
11#define SMC_UNK 0xffffffff
12
13/* Attribute*/
14#define OBJ_ATTR_SECURE (1<<0)
15
16#ifdef CONFIG_SECURE_STORAGE
17/* funtion name: secure_storage_write
18 * keyname : key name is ascii string
19 * keybuf : key buf
20 * keylen : key buf len
21 * keyattr: Secure/Normal, ...
22 *
23 * return 0: ok, 0x1fe: no space, other fail
24 * */
25int32_t secure_storage_write(uint8_t *keyname, uint8_t *keybuf,
26 uint32_t keylen, uint32_t keyattr);
27int32_t secure_storage_read(uint8_t *keyname, uint8_t *keybuf,
28 uint32_t keylen, uint32_t *reallen);
29int32_t secure_storage_query(uint8_t *keyname, uint32_t *retval);
30int32_t secure_storage_tell(uint8_t *keyname, uint32_t *retval);
31int32_t secure_storage_verify(uint8_t *keyname, uint8_t *hashbuf);
32int32_t secure_storage_status(uint8_t *keyname, uint32_t *retval);
33void *secure_storage_getbuffer(uint32_t *size);
34void secure_storage_notifier(void);
35void secure_storage_notifier_ex(uint32_t storagesize, uint32_t rsvarg);
36int32_t secure_storage_list(uint8_t *listbuf, uint32_t buflen,
37 uint32_t *readlen);
38int32_t secure_storage_remove(uint8_t *keyname);
39void secure_storage_set_info(uint32_t info);
40int32_t secure_storage_set_enctype(uint32_t type);
41/* return 0: success, -1: fail*/
42int32_t secure_storage_get_enctype(void);
43/*return -1: no storage, 0: default enc, 1: efuse enc, 2: fixed enc*/
44int32_t secure_storage_version(void);
45/*return -1: no storage, others: version*/
46#endif
47
48#endif
49