1ae8ec5e1SHisping Lin /* 2ae8ec5e1SHisping Lin * Copyright 2017, Rockchip Electronics Co., Ltd 3ae8ec5e1SHisping Lin * hisping lin, <hisping.lin@rock-chips.com> 4ae8ec5e1SHisping Lin * 5ae8ec5e1SHisping Lin * SPDX-License-Identifier: GPL-2.0+ 6ae8ec5e1SHisping Lin */ 7ae8ec5e1SHisping Lin #ifndef _OPTEECLIENTTEST_H_ 8ae8ec5e1SHisping Lin #define _OPTEECLIENTTEST_H_ 9ae8ec5e1SHisping Lin 1078ef5fbdSqiujian #include <optee_include/tee_client_api.h> 1178ef5fbdSqiujian 12*bb1ba6acSHisping Lin enum RK_OEM_HR_OTP_KEYID { 13*bb1ba6acSHisping Lin RK_OEM_HR_OTP_KEY0 = 0, /* keyladder key0 */ 14*bb1ba6acSHisping Lin RK_OEM_HR_OTP_KEY1 = 1, /* keyladder key1 */ 15*bb1ba6acSHisping Lin RK_OEM_HR_OTP_KEY2 = 2, /* keyladder key2 */ 16*bb1ba6acSHisping Lin RK_OEM_HR_OTP_KEY3 = 3, /* keyladder key3 */ 17*bb1ba6acSHisping Lin RK_OEM_HR_OTP_KEYMAX 18*bb1ba6acSHisping Lin }; 19*bb1ba6acSHisping Lin 202e40c2c1SJason Zhu #define ATAP_HEX_UUID_LEN 32 212e40c2c1SJason Zhu #define ATTEST_DH_SIZE 8 222e40c2c1SJason Zhu #define ATTEST_UUID_SIZE (ATAP_HEX_UUID_LEN+1) 232e40c2c1SJason Zhu #define ATTEST_CA_OUT_SIZE 256 242e40c2c1SJason Zhu 25ae8ec5e1SHisping Lin uint32_t trusty_read_rollback_index(uint32_t slot, uint64_t *value); 26ae8ec5e1SHisping Lin uint32_t trusty_write_rollback_index(uint32_t slot, uint64_t value); 27ae8ec5e1SHisping Lin uint32_t trusty_read_permanent_attributes(uint8_t *attributes, uint32_t size); 28ae8ec5e1SHisping Lin uint32_t trusty_write_permanent_attributes(uint8_t *attributes, uint32_t size); 29564654ebSJason Zhu uint32_t trusty_read_permanent_attributes_cer(uint8_t *attributes, 30564654ebSJason Zhu uint32_t size); 31564654ebSJason Zhu uint32_t trusty_write_permanent_attributes_cer(uint8_t *attributes, 32564654ebSJason Zhu uint32_t size); 33ae8ec5e1SHisping Lin uint32_t trusty_read_lock_state(uint8_t *lock_state); 34ae8ec5e1SHisping Lin uint32_t trusty_write_lock_state(uint8_t lock_state); 35ae8ec5e1SHisping Lin uint32_t trusty_read_flash_lock_state(uint8_t *flash_lock_state); 36ae8ec5e1SHisping Lin uint32_t trusty_write_flash_lock_state(uint8_t flash_lock_state); 3778ef5fbdSqiujian 386ef445a4SHisping Lin uint32_t trusty_read_attribute_hash(uint32_t *buf, uint32_t length); 396ef445a4SHisping Lin uint32_t trusty_write_attribute_hash(uint32_t *buf, uint32_t length); 4016539616SHisping Lin uint32_t trusty_notify_optee_uboot_end(void); 412cd27853SHisping Lin uint32_t trusty_read_vbootkey_hash(uint32_t *buf, uint32_t length); 422cd27853SHisping Lin uint32_t trusty_write_vbootkey_hash(uint32_t *buf, uint32_t length); 43468df3b2SHisping Lin uint32_t trusty_read_vbootkey_enable_flag(uint8_t *flag); 441ef63c75SHisping Lin uint32_t trusty_write_ta_encryption_key(uint32_t *buf, uint32_t length); 45fbf29bfbSHisping Lin uint32_t trusty_check_security_level_flag(uint8_t flag); 46f39d4289SHisping Lin uint32_t trusty_write_oem_huk(uint32_t *buf, uint32_t length); 477504da74SHisping Lin void trusty_select_security_level(void); 48095e2a82SHisping Lin uint32_t trusty_read_permanent_attributes_flag(uint8_t *attributes); 49095e2a82SHisping Lin uint32_t trusty_write_permanent_attributes_flag(uint8_t attributes); 50d5913350SHisping Lin uint32_t trusty_write_oem_ns_otp(uint32_t byte_off, uint8_t *byte_buf, uint32_t byte_len); 51d5913350SHisping Lin uint32_t trusty_read_oem_ns_otp(uint32_t byte_off, uint8_t *byte_buf, uint32_t byte_len); 52*bb1ba6acSHisping Lin uint32_t trusty_write_oem_hr_otp(enum RK_OEM_HR_OTP_KEYID key_id, 53*bb1ba6acSHisping Lin uint8_t *byte_buf, uint32_t byte_len); 544aa61755SAndy Ye uint32_t trusty_attest_dh(uint8_t *dh, uint32_t *dh_size); 554aa61755SAndy Ye uint32_t trusty_attest_uuid(uint8_t *uuid, uint32_t *uuid_size); 564aa61755SAndy Ye uint32_t trusty_attest_get_ca 574aa61755SAndy Ye (uint8_t *operation_start, uint32_t *operation_size, 584aa61755SAndy Ye uint8_t *out, uint32_t *out_len); 594aa61755SAndy Ye uint32_t trusty_attest_set_ca(uint8_t *ca_response, uint32_t *ca_response_size); 6078ef5fbdSqiujian 61ae8ec5e1SHisping Lin #endif 62