xref: /OK3568_Linux_fs/u-boot/include/keymaster.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #ifndef KEYMASTER_H_
7*4882a593Smuzhiyun #define KEYMASTER_H_
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #include <optee_include/tee_client_api.h>
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /*
12*4882a593Smuzhiyun  * read data from rk_keymaster
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  * @felename:           the filename of the saved data to read
15*4882a593Smuzhiyun  * @filename_size:      size of filename
16*4882a593Smuzhiyun  * @data:               the buffer used to read data from rk_keymaster
17*4882a593Smuzhiyun  * @data_size:          buffer size of the data
18*4882a593Smuzhiyun  *
19*4882a593Smuzhiyun  * @return a positive number in case of error, or 0 on success.
20*4882a593Smuzhiyun  */
21*4882a593Smuzhiyun TEEC_Result read_from_keymaster(uint8_t *filename,
22*4882a593Smuzhiyun 				uint32_t filename_size,
23*4882a593Smuzhiyun 				uint8_t *data,
24*4882a593Smuzhiyun 				uint32_t data_size);
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun /*
27*4882a593Smuzhiyun  * write data to rk_keymaster
28*4882a593Smuzhiyun  *
29*4882a593Smuzhiyun  * @felename:           the filename of the saved data to read
30*4882a593Smuzhiyun  * @filename_size:      size of filename
31*4882a593Smuzhiyun  * @data:               the buffer used to read data from rk_keymaster
32*4882a593Smuzhiyun  * @data_size:          buffer size of the data
33*4882a593Smuzhiyun  *
34*4882a593Smuzhiyun  * @return a positive number in case of error, or 0 on success.
35*4882a593Smuzhiyun  */
36*4882a593Smuzhiyun TEEC_Result write_to_keymaster(uint8_t *filename,
37*4882a593Smuzhiyun 			       uint32_t filename_size,
38*4882a593Smuzhiyun 			       uint8_t *data,
39*4882a593Smuzhiyun 			       uint32_t data_size);
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun /*
42*4882a593Smuzhiyun  * read oem unlock status from rk_keymaster
43*4882a593Smuzhiyun  *
44*4882a593Smuzhiyun  * @unlock:used to read oem unlock status code,0:locked,1:unlocked
45*4882a593Smuzhiyun  *
46*4882a593Smuzhiyun  * @return a positive number in case of error, or 0 on success.
47*4882a593Smuzhiyun  */
48*4882a593Smuzhiyun TEEC_Result trusty_read_oem_unlock(uint8_t *unlock);
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun /*
51*4882a593Smuzhiyun  * update oem unlock status to rk_keymaster
52*4882a593Smuzhiyun  *
53*4882a593Smuzhiyun  * @unlock: oem unlock status code,0:locked,1:unlocked
54*4882a593Smuzhiyun  *
55*4882a593Smuzhiyun  * @return a positive number in case of error, or 0 on success.
56*4882a593Smuzhiyun  */
57*4882a593Smuzhiyun TEEC_Result trusty_write_oem_unlock(uint8_t unlock);
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun #endif  //KEYMASTER_H_
60