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