| /** @file | |
| Provides function interfaces to communicate with TPM 2.0 service through FF-A. | |
| This header follows the TPM over FF-A specification: | |
| https://developer.arm.com/documentation/den0138/latest/ | |
| Copyright (c), Microsoft Corporation. | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef TPM2_SERVICE_FFA_H_ | |
| #define TPM2_SERVICE_FFA_H_ | |
| #define TPM2_SERVICE_FFA_GUID \ | |
| { 0x17b862a4, 0x1806, 0x4faf, { 0x86, 0xb3, 0x08, 0x9a, 0x58, 0x35, 0x38, 0x61 } } | |
| #define TPM2_FFA_SERVICE_MAJOR_VER_MASK 0xffff0000 | |
| #define TPM2_FFA_SERVICE_MINOR_VER_MASK 0x0000ffff | |
| #define TPM2_FFA_SERVICE_MAJOR_VER_SHIFT 16 | |
| #define TPM2_FFA_SERVICE_MINOR_VER_SHIFT 0 | |
| #define TPM2_FFA_GET_INTERFACE_VERSION 0x0f000001 | |
| #define TPM2_FFA_GET_FEATURE_INFO 0x0f000101 | |
| #define TPM2_FFA_START 0x0f000201 | |
| #define TPM2_FFA_REGISTER_FOR_NOTIFICATION 0x0f000301 | |
| #define TPM2_FFA_UNREGISTER_FROM_NOTIFICATION 0x0f000401 | |
| #define TPM2_FFA_FINISH_NOTIFIED 0x0f000501 | |
| #define TPM2_FFA_SUCCESS_OK 0x05000001 | |
| #define TPM2_FFA_SUCCESS_OK_RESULTS_RETURNED 0x05000002 | |
| #define TPM2_FFA_ERROR_NOFUNC 0x8e000001 | |
| #define TPM2_FFA_ERROR_NOTSUP 0x8e000002 | |
| #define TPM2_FFA_ERROR_INVARG 0x8e000005 | |
| #define TPM2_FFA_ERROR_INV_CRB_CTRL_DATA 0x8e000006 | |
| #define TPM2_FFA_ERROR_ALREADY 0x8e000009 | |
| #define TPM2_FFA_ERROR_DENIED 0x8e00000a | |
| #define TPM2_FFA_ERROR_NOMEM 0x8e00000b | |
| #define TPM_SERVICE_FEATURE_SUPPORT_NOTIFICATION 0xfea70000 | |
| #define TPM2_FFA_FEAT_NOTIFICATION_DEST_ID_MASK 0x000000ff | |
| #define TPM2_FFA_FEAT_NOTIFICATION_TYPE_SHIFT 16 | |
| #define TPM2_FFA_FEAT_NOTIFICATION_TYPE_MASK (1 << TPM_CRB_FFA_FEAT_NOTIFICATION_TYPE_SHIFT) | |
| #define TPM2_FFA_FEAT_NOTIFICATION_TYPE_GLOBAL (0 << TPM_CRB_FFA_FEAT_NOTIFICATION_TYPE_SHIFT) | |
| #define TPM2_FFA_FEAT_NOTIFICATION_TYPE_PER_VCPU (1 << TPM_CRB_FFA_FEAT_NOTIFICATION_TYPE_SHIFT) | |
| #define TPM2_FFA_START_FUNC_QUALIFIER_COMMAND 0x0 | |
| #define TPM2_FFA_START_FUNC_QUALIFIER_LOCALITY 0x1 | |
| #define TPM2_FFA_START_FUNC_COMMAND_TYPE_MASK 0x000000ff | |
| #define TPM2_FFA_START_FUNC_LOCALITY_MASK 0x000000ff | |
| extern EFI_GUID gTpm2ServiceFfaGuid; | |
| typedef UINT32 TPM2_FFA_STATUS; | |
| #endif /* TPM2_SERVICE_FFA_H_ */ |