1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
4  */
5 
6 #ifndef OPTEE_SP_INTERNAL_API_H_
7 #define OPTEE_SP_INTERNAL_API_H_
8 
9 #include <stdint.h>
10 
11 /*
12  * The file describes the API between the OP-TEE and the SP.
13  * The SP code base should also contain a header file named
14  * "optee_sp_user_defines.h" for passing the following definitions to the SP dev
15  * kit:
16  * * OPTEE_SP_UUID: UUID of the SP as an sp_uuid structure
17  * * OPTEE_SP_STACK_SIZE: Stack size in bytes
18  * * OPTEE_SP_FLAGS: SP attributes (currently none available, set to zero)
19  */
20 
21 /*
22  * SP header types
23  */
24 struct optee_sp_uuid {
25 	uint32_t timeLow;
26 	uint16_t timeMid;
27 	uint16_t timeHiAndVersion;
28 	uint8_t clockSeqAndNode[8];
29 };
30 
31 struct optee_sp_head {
32 	struct optee_sp_uuid uuid;
33 	uint32_t stack_size;
34 	uint32_t flags;
35 	uint64_t reserved;
36 };
37 
38 #endif /* OPTEE_SP_INTERNAL_API_H_ */
39