2 * Fixed ACPI Description Table (FADT)
4 * Copyright (c) 2012 - 2014, ARM Limited. All rights reserved.
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
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.
16 #include "ArmPlatform.h"
17 #include <Library/AcpiLib.h>
18 #include <IndustryStandard/Acpi.h>
20 #ifdef ARM_JUNO_ACPI_5_0
21 EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
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
28 EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
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
35 0, // UINT32 FirmwareCtrl
37 EFI_ACPI_RESERVED_BYTE, // UINT8 Reserved0
38 EFI_ACPI_5_0_PM_PROFILE_UNSPECIFIED, // UINT8 PreferredPmProfile
41 0, // UINT8 AcpiEnable
42 0, // UINT8 AcpiDisable
45 0, // UINT32 Pm1aEvtBlk
46 0, // UINT32 Pm1bEvtBlk
47 0, // UINT32 Pm1aCntBlk
48 0, // UINT32 Pm1bCntBlk
49 0, // UINT32 Pm2CntBlk
57 0, // UINT8 Gpe0BlkLen
58 0, // UINT8 Gpe1BlkLen
63 0, // UINT16 FlushSize
64 0, // UINT16 FlushStride
65 0, // UINT8 DutyOffset
70 0, // UINT16 IaPcBootArch
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
76 {EFI_ACPI_RESERVED_BYTE,EFI_ACPI_RESERVED_BYTE,EFI_ACPI_RESERVED_BYTE}, // UINT8 Reserved2[3]
78 EFI_ACPI_5_1_ARM_PSCI_COMPLIANT, // UINT16 ArmBootArchFlags
79 EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // UINT8 MinorRevision
81 0, // UINT64 XFirmwareCtrl
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
96 // Reference the table being generated to prevent the optimizer from removing the
97 // data structure from the executable
99 VOID* CONST ReferenceAcpiTable = &Fadt;