1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) Microsoft Corporation
4  */
5 
6 #ifndef __TPM2_FTPM_TEE_H__
7 #define __TPM2_FTPM_TEE_H__
8 
9 /* This UUID is generated with uuidgen */
10 #define TA_FTPM_UUID { 0xBC50D971, 0xD4C9, 0x42C4, \
11 	{0x82, 0xCB, 0x34, 0x3F, 0xB7, 0xF3, 0x78, 0x96} }
12 
13 /* The TAFs ID implemented in this TA */
14 #define FTPM_OPTEE_TA_SUBMIT_COMMAND  (0)
15 #define FTPM_OPTEE_TA_EMULATE_PPI     (1)
16 
17 /* max. buffer size supported by fTPM  */
18 #define MAX_COMMAND_SIZE       4096
19 #define MAX_RESPONSE_SIZE      4096
20 
21 /**
22  * struct ftpm_tee_private - fTPM's private context
23  * @tee_dev:  struct udevice for TEE.
24  * @session:  fTPM TA session identifier.
25  * @is_open:  Indicates whether the driver is already opened by client or not.
26  * @shm:      Memory pool shared with fTPM TA in TEE.
27  */
28 struct ftpm_tee_private {
29 	struct udevice *tee_dev;
30 	u32 session;
31 	int is_open;
32 	struct tee_shm *shm;
33 };
34 
35 #endif /* __TPM2_FTPM_TEE_H__ */
36