57 lines
1.7 KiB
C
57 lines
1.7 KiB
C
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
|
|
/*
|
|
* include/amlogic/secure_storage.h
|
|
*
|
|
* Copyright (C) 2020 Amlogic, Inc. All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#ifndef __SECURE_STORAGE_H__
|
|
#define __SECURE_STORAGE_H__
|
|
|
|
/* return value*/
|
|
#define RET_OK 0
|
|
#define RET_EFAIL 1
|
|
#define RET_EINVAL 2
|
|
#define RET_EMEM 3
|
|
|
|
#define RET_EUND -1
|
|
#define SMC_UNK -1
|
|
|
|
/* Attribute*/
|
|
#define OBJ_ATTR_SECURE (1<<0)
|
|
|
|
#ifdef CONFIG_SECURE_STORAGE
|
|
/* funtion name: secure_storage_write
|
|
* keyname : key name is ascii string
|
|
* keybuf : key buf
|
|
* keylen : key buf len
|
|
* keyattr: Secure/Normal, ...
|
|
*
|
|
* return 0: ok, 0x1fe: no space, other fail
|
|
* */
|
|
int32_t secure_storage_write(uint8_t *keyname, uint8_t *keybuf,
|
|
uint32_t keylen, uint32_t keyattr);
|
|
int32_t secure_storage_read(uint8_t *keyname, uint8_t *keybuf,
|
|
uint32_t keylen, uint32_t *reallen);
|
|
int32_t secure_storage_query(uint8_t *keyname, uint32_t *retval);
|
|
int32_t secure_storage_tell(uint8_t *keyname, uint32_t *retval);
|
|
int32_t secure_storage_verify(uint8_t *keyname, uint8_t *hashbuf);
|
|
int32_t secure_storage_status(uint8_t *keyname, uint32_t *retval);
|
|
void *secure_storage_getbuffer(uint32_t *size);
|
|
void secure_storage_notifier(void);
|
|
void secure_storage_notifier_ex(uint32_t storagesize, uint32_t rsvarg);
|
|
int32_t secure_storage_list(uint8_t *listbuf, uint32_t buflen,
|
|
uint32_t *readlen);
|
|
int32_t secure_storage_remove(uint8_t *keyname);
|
|
void secure_storage_set_info(uint32_t info);
|
|
int32_t secure_storage_set_enctype(uint32_t type);
|
|
/* return 0: success, -1: fail*/
|
|
int32_t secure_storage_get_enctype(void);
|
|
/*return -1: no storage, 0: default enc, 1: efuse enc, 2: fixed enc*/
|
|
int32_t secure_storage_version(void);
|
|
/*return -1: no storage, others: version*/
|
|
#endif
|
|
|
|
#endif
|