xref: /rk3399_rockchip-uboot/include/optee_include/OpteeClientLoadTa.h (revision b122ee17db0f2af2fe4417d68a93f97f223bffb2)
1*b122ee17SHisping Lin /*
2*b122ee17SHisping Lin  * Copyright 2023, Rockchip Electronics Co., Ltd
3*b122ee17SHisping Lin  * hisping lin, <hisping.lin@rock-chips.com>
4*b122ee17SHisping Lin  *
5*b122ee17SHisping Lin  * SPDX-License-Identifier:	GPL-2.0+
6*b122ee17SHisping Lin  */
7*b122ee17SHisping Lin #ifndef _OPTEE_CLIENT_LOAD_TA_H_
8*b122ee17SHisping Lin #define _OPTEE_CLIENT_LOAD_TA_H_
9*b122ee17SHisping Lin 
10*b122ee17SHisping Lin #include <optee_include/tee_base_types.h>
11*b122ee17SHisping Lin #include <optee_include/tee_client_api.h>
12*b122ee17SHisping Lin 
13*b122ee17SHisping Lin #define TA_BINARY_FOUND 0
14*b122ee17SHisping Lin #define TA_BINARY_NOT_FOUND -2
15*b122ee17SHisping Lin 
16*b122ee17SHisping Lin struct userta_header {
17*b122ee17SHisping Lin 	uint32_t magic;
18*b122ee17SHisping Lin 	uint32_t img_ver;
19*b122ee17SHisping Lin 	uint32_t ta_num;
20*b122ee17SHisping Lin     uint32_t reserve;
21*b122ee17SHisping Lin };
22*b122ee17SHisping Lin 
23*b122ee17SHisping Lin struct userta_item {
24*b122ee17SHisping Lin 	uint8_t ta_uuid[16];
25*b122ee17SHisping Lin 	uint32_t ta_offset;
26*b122ee17SHisping Lin 	uint32_t ta_len;
27*b122ee17SHisping Lin 	uint32_t ta_ver;
28*b122ee17SHisping Lin     uint32_t reserve;
29*b122ee17SHisping Lin };
30*b122ee17SHisping Lin 
31*b122ee17SHisping Lin int search_ta(void *uuid_octets, void *ta, size_t *ta_size);
32*b122ee17SHisping Lin 
33*b122ee17SHisping Lin #endif /*_OPTEE_CLIENT_LOAD_TA_H_*/
34