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