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