]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Guid/AcpiDescription/AcpiDescription.h
4c1462712cc20a62b89001c49c630ee0cb3ad124
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Guid / AcpiDescription / AcpiDescription.h
1 /*++
2
3 Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 AcpiDescription.h
15
16 Abstract:
17
18
19 GUIDs used for ACPI Description
20
21 --*/
22
23 #ifndef _EFI_ACPI_DESCRIPTION_H_
24 #define _EFI_ACPI_DESCRIPTION_H_
25
26 #define EFI_ACPI_DESCRIPTION_GUID \
27 { \
28 0x3c699197, 0x93c, 0x4c69, {0xb0, 0x6b, 0x12, 0x8a, 0xe3, 0x48, 0x1d, 0xc9} \
29 }
30
31 typedef struct {
32 UINT8 AddressSpaceId;
33 UINT8 RegisterBitWidth;
34 UINT8 RegisterBitOffset;
35 UINT8 AccessSize;
36 UINT64 Address;
37 } EFI_ACPI_GENERIC_ADDRESS_STRUCTURE;
38
39 #define ACPI_ADDRESS_ID_MEMORY 0
40 #define ACPI_ADDRESS_ID_IO 1
41 #define ACPI_ADDRESS_ID_PCI 2
42 #define ACPI_ADDRESS_ID_EC 3
43 #define ACPI_ADDRESS_ID_SMBUS 4
44
45 #define ACPI_ADDRESS_ACCESS_ANY 0
46 #define ACPI_ADDRESS_ACCESS_BYTE 1
47 #define ACPI_ADDRESS_ACCESS_WORD 2
48 #define ACPI_ADDRESS_ACCESS_DWORD 3
49 #define ACPI_ADDRESS_ACCESS_QWORD 4
50
51 //
52 // Following structure defines ACPI Description information.
53 // This information is platform specific, may be consumed by DXE generic driver.
54 //
55 #pragma pack(1)
56 typedef struct _EFI_ACPI_DESCRIPTION {
57 //
58 // For Timer
59 //
60 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM_TMR_BLK;
61 UINT8 PM_TMR_LEN;
62 UINT8 TMR_VAL_EXT;
63
64 //
65 // For RTC
66 //
67 UINT8 DAY_ALRM;
68 UINT8 MON_ALRM;
69 UINT8 CENTURY;
70
71 //
72 // For Reset
73 //
74 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE RESET_REG;
75 UINT8 RESET_VALUE;
76
77 //
78 // For Shutdown
79 //
80 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1a_EVT_BLK;
81 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1b_EVT_BLK;
82 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1a_CNT_BLK;
83 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1b_CNT_BLK;
84 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM2_CNT_BLK;
85 UINT8 PM1_EVT_LEN;
86 UINT8 PM1_CNT_LEN;
87 UINT8 PM2_CNT_LEN;
88 UINT8 SLP_TYPa;
89 UINT8 SLP_TYPb;
90
91 //
92 // For sleep
93 //
94 UINT8 SLP1_TYPa;
95 UINT8 SLP1_TYPb;
96 UINT8 SLP2_TYPa;
97 UINT8 SLP2_TYPb;
98 UINT8 SLP3_TYPa;
99 UINT8 SLP3_TYPb;
100 UINT8 SLP4_TYPa;
101 UINT8 SLP4_TYPb;
102
103 //
104 // GPE
105 //
106 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE GPE0_BLK;
107 EFI_ACPI_GENERIC_ADDRESS_STRUCTURE GPE1_BLK;
108 UINT8 GPE0_BLK_LEN;
109 UINT8 GPE1_BLK_LEN;
110 UINT8 GPE1_BASE;
111
112 //
113 // IAPC Boot Arch
114 //
115 UINT16 IAPC_BOOT_ARCH;
116
117 //
118 // Flags
119 //
120 UINT32 Flags;
121
122 } EFI_ACPI_DESCRIPTION;
123 #pragma pack()
124
125 extern EFI_GUID gEfiAcpiDescriptionGuid;
126
127 #endif