eafdecb8aff74a1c5899fcf552d73fce1d0cad2b
[mirror_edk2.git] / ArmPlatformPkg / ArmJunoPkg / AcpiTables / Fadt.aslc
1 /** @file
2 * Fixed ACPI Description Table (FADT)
3 *
4 * Copyright (c) 2012 - 2014, ARM Limited. All rights reserved.
5 *
6 * This program and the accompanying materials
7 * are licensed and made available under the terms and conditions of the BSD License
8 * which accompanies this distribution. The full text of the license may be found at
9 * http://opensource.org/licenses/bsd-license.php
10 *
11 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 *
14 **/
15
16 #include "ArmPlatform.h"
17 #include <Library/AcpiLib.h>
18 #include <IndustryStandard/Acpi.h>
19
20 #ifdef ARM_JUNO_ACPI_5_0
21 EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
22 ARM_ACPI_HEADER (
23 EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
24 EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE,
25 EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
26 ),
27 #else
28 EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
29 ARM_ACPI_HEADER (
30 EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
31 EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE,
32 EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
33 ),
34 #endif
35 0, // UINT32 FirmwareCtrl
36 0, // UINT32 Dsdt
37 EFI_ACPI_RESERVED_BYTE, // UINT8 Reserved0
38 EFI_ACPI_5_0_PM_PROFILE_UNSPECIFIED, // UINT8 PreferredPmProfile
39 0, // UINT16 SciInt
40 0, // UINT32 SmiCmd
41 0, // UINT8 AcpiEnable
42 0, // UINT8 AcpiDisable
43 0, // UINT8 S4BiosReq
44 0, // UINT8 PstateCnt
45 0, // UINT32 Pm1aEvtBlk
46 0, // UINT32 Pm1bEvtBlk
47 0, // UINT32 Pm1aCntBlk
48 0, // UINT32 Pm1bCntBlk
49 0, // UINT32 Pm2CntBlk
50 0, // UINT32 PmTmrBlk
51 0, // UINT32 Gpe0Blk
52 0, // UINT32 Gpe1Blk
53 0, // UINT8 Pm1EvtLen
54 0, // UINT8 Pm1CntLen
55 0, // UINT8 Pm2CntLen
56 0, // UINT8 PmTmrLen
57 0, // UINT8 Gpe0BlkLen
58 0, // UINT8 Gpe1BlkLen
59 0, // UINT8 Gpe1Base
60 0, // UINT8 CstCnt
61 0, // UINT16 PLvl2Lat
62 0, // UINT16 PLvl3Lat
63 0, // UINT16 FlushSize
64 0, // UINT16 FlushStride
65 0, // UINT8 DutyOffset
66 0, // UINT8 DutyWidth
67 0, // UINT8 DayAlrm
68 0, // UINT8 MonAlrm
69 0, // UINT8 Century
70 0, // UINT16 IaPcBootArch
71 0, // UINT8 Reserved1
72 EFI_ACPI_5_0_HW_REDUCED_ACPI | EFI_ACPI_5_0_LOW_POWER_S0_IDLE_CAPABLE, // UINT32 Flags
73 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ResetReg
74 0, // UINT8 ResetValue
75 #if ARM_JUNO_ACPI_5_0
76 {EFI_ACPI_RESERVED_BYTE,EFI_ACPI_RESERVED_BYTE,EFI_ACPI_RESERVED_BYTE}, // UINT8 Reserved2[3]
77 #else
78 EFI_ACPI_5_1_ARM_PSCI_COMPLIANT, // UINT16 ArmBootArchFlags
79 EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // UINT8 MinorRevision
80 #endif
81 0, // UINT64 XFirmwareCtrl
82 0, // UINT64 XDsdt
83 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
84 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
85 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
86 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
87 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
88 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
89 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
90 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
91 NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg
92 NULL_GAS // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
93 };
94
95 //
96 // Reference the table being generated to prevent the optimizer from removing the
97 // data structure from the executable
98 //
99 VOID* CONST ReferenceAcpiTable = &Fadt;