]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Include/AlertStandardFormatTable.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / AlertStandardFormatTable.h
1 /*++
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13
14 Module Name:
15
16 AlertStandardFormatTable.h
17
18 Abstract:
19
20 ACPI Alert Standard Format Description Table ASF! as described
21 in the ASF2.0 Specification
22
23 --*/
24
25 #ifndef _ALERT_STANDARD_FORMAT_TABLE_H
26 #define _ALERT_STANDARD_FORMAT_TABLE_H
27
28 #include <IndustryStandard/Acpi20.h>
29
30 //
31 // Ensure proper structure formats.
32 //
33 #pragma pack (1)
34
35 //
36 // Information Record header that appears at the beginning of each record.
37 //
38 typedef struct {
39 UINT8 Type;
40 UINT8 Reserved;
41 UINT16 RecordLength;
42 } EFI_ACPI_ASF_RECORD_HEADER;
43
44 //
45 // This structure contains information that identifies the system type
46 // and configuration.
47 //
48 typedef struct {
49 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
50 UINT8 MinWatchDogResetValue;
51 UINT8 MinPollingInterval;
52 UINT16 SystemID;
53 UINT32 IANAManufactureID;
54 UINT8 FeatureFlags;
55 UINT8 Reserved[3];
56 } EFI_ACPI_ASF_INFO;
57
58 //
59 // Alert sensors definition.
60 //
61 #define ASF_ALRT_SENSOR_ARRAY_LENGTH 36
62
63 typedef struct {
64 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
65 UINT8 AssertionEventBitMask;
66 UINT8 DeassertionEventBitMask;
67 UINT8 NumberOfAlerts;
68 UINT8 ArrayElementLength;
69 UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH];
70 } EFI_ACPI_ASF_ALRT;
71
72 //
73 // Alert Remote Control System Actions.
74 //
75 #define ASF_RCTL_DEVICES_ARRAY_LENGTH 16
76
77 typedef struct {
78 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
79 UINT8 NumberOfControls;
80 UINT8 ArrayElementLength;
81 UINT16 RctlReserved;
82 UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH];
83 } EFI_ACPI_ASF_RCTL;
84
85 //
86 // Remote Control Capabilities.
87 //
88 typedef struct {
89 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
90 UINT8 RemoteControlCapabilities[7];
91 UINT8 RMCPCompletionCode;
92 UINT32 RMCPIANA;
93 UINT8 RMCPSpecialCommand;
94 UINT8 RMCPSpecialCommandParameter[2];
95 UINT8 RMCPBootOptions[2];
96 UINT8 RMCPOEMParameters[2];
97 } EFI_ACPI_ASF_RMCP;
98
99 //
100 // SMBus Devices with fixed addresses.
101 //
102 #define ASF_ADDR_DEVICE_ARRAY_LENGTH 16
103
104 typedef struct {
105 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
106 UINT8 SEEPROMAddress;
107 UINT8 NumberOfDevices;
108 UINT8 FixedSmbusAddresses[ASF_ADDR_DEVICE_ARRAY_LENGTH];
109 } EFI_ACPI_ASF_ADDR;
110
111 typedef struct {
112 EFI_ACPI_DESCRIPTION_HEADER Header;
113 EFI_ACPI_ASF_INFO AsfInfo;
114 EFI_ACPI_ASF_ALRT AsfAlert;
115 EFI_ACPI_ASF_RCTL AsfRctl;
116 EFI_ACPI_ASF_RMCP AsfRmcp;
117 EFI_ACPI_ASF_ADDR AsfAddr;
118 } EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE;
119
120 //
121 // "ASF!" ASF Description Table Signature.
122 //
123 #define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE 0x21465341
124
125 #pragma pack ()
126
127 #endif // _ALERT_STANDARD_FORMAT_TABLE_H