]>
Commit | Line | Data |
---|---|---|
2e61fb38 JY |
1 | /** @file\r |
2 | TPM2 ACPI table definition.\r | |
3 | \r | |
9a00a716 | 4 | Copyright (c) 2013 - 2019, Intel Corporation. All rights reserved. <BR>\r |
96a9acfc | 5 | Copyright (c) 2021, Ampere Computing LLC. All rights reserved. <BR>\r |
9344f092 | 6 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
2e61fb38 JY |
7 | \r |
8 | **/\r | |
9 | \r | |
10 | #ifndef _TPM2_ACPI_H_\r | |
11 | #define _TPM2_ACPI_H_\r | |
12 | \r | |
13 | #include <IndustryStandard/Acpi.h>\r | |
14 | \r | |
15 | #pragma pack (1)\r | |
16 | \r | |
8f07a374 ZC |
17 | #define EFI_TPM2_ACPI_TABLE_REVISION_3 3\r |
18 | #define EFI_TPM2_ACPI_TABLE_REVISION_4 4\r | |
50f670ac | 19 | #define EFI_TPM2_ACPI_TABLE_REVISION EFI_TPM2_ACPI_TABLE_REVISION_4\r |
2e61fb38 JY |
20 | \r |
21 | typedef struct {\r | |
2f88bd3a | 22 | EFI_ACPI_DESCRIPTION_HEADER Header;\r |
50f670ac ZC |
23 | // Flags field is replaced in version 4 and above\r |
24 | // BIT0~15: PlatformClass This field is only valid for version 4 and above\r | |
25 | // BIT16~31: Reserved\r | |
2f88bd3a MK |
26 | UINT32 Flags;\r |
27 | UINT64 AddressOfControlArea;\r | |
28 | UINT32 StartMethod;\r | |
29 | // UINT8 PlatformSpecificParameters[]; // size up to 12\r | |
30 | // UINT32 Laml; // Optional\r | |
31 | // UINT64 Lasa; // Optional\r | |
2e61fb38 JY |
32 | } EFI_TPM2_ACPI_TABLE;\r |
33 | \r | |
2f88bd3a MK |
34 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_ACPI 2\r |
35 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_TIS 6\r | |
36 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE 7\r | |
37 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_ACPI 8\r | |
38 | #define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_SMC 11\r | |
2e61fb38 JY |
39 | \r |
40 | typedef struct {\r | |
2f88bd3a MK |
41 | UINT32 Reserved;\r |
42 | UINT32 Error;\r | |
43 | UINT32 Cancel;\r | |
44 | UINT32 Start;\r | |
45 | UINT64 InterruptControl;\r | |
46 | UINT32 CommandSize;\r | |
47 | UINT64 Command;\r | |
48 | UINT32 ResponseSize;\r | |
49 | UINT64 Response;\r | |
2e61fb38 JY |
50 | } EFI_TPM2_ACPI_CONTROL_AREA;\r |
51 | \r | |
96a9acfc NP |
52 | //\r |
53 | // Start Method Specific Parameters for ARM SMC Start Method (11)\r | |
54 | // Refer to Table 9: Start Method Specific Parameters for ARM SMC\r | |
55 | //\r | |
56 | typedef struct {\r | |
2f88bd3a MK |
57 | UINT32 Interrupt;\r |
58 | UINT8 Flags;\r | |
59 | UINT8 OperationFlags;\r | |
60 | UINT8 Reserved[2];\r | |
61 | UINT32 SmcFunctionId;\r | |
96a9acfc NP |
62 | } EFI_TPM2_ACPI_START_METHOD_SPECIFIC_PARAMETERS_ARM_SMC;\r |
63 | \r | |
2e61fb38 JY |
64 | #pragma pack ()\r |
65 | \r | |
66 | #endif\r |