1/** @file
2*  Fixed ACPI Description Table (FADT)
3*
4*  Copyright (c) 2012 - 2014, ARM Limited. All rights reserved.
5*  Copyright (c) 2015, Hisilicon Limited. All rights reserved.
6*  Copyright (c) 2015, Linaro Limited. All rights reserved.
7*
8*  SPDX-License-Identifier: BSD-2-Clause-Patent
9*
10*  Based on the files under ArmPlatformPkg/ArmJunoPkg/AcpiTables/
11*
12**/
13
14#include "Hi1610Platform.h"
15
16#include <Library/AcpiLib.h>
17#include <IndustryStandard/Acpi.h>
18
19EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
20  ARM_ACPI_HEADER (
21    EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
22    EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE,
23    EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
24  ),
25  0,                                                                        // UINT32     FirmwareCtrl
26  0,                                                                        // UINT32     Dsdt
27  EFI_ACPI_RESERVED_BYTE,                                                   // UINT8      Reserved0
28  EFI_ACPI_6_1_PM_PROFILE_UNSPECIFIED,                                      // UINT8      PreferredPmProfile
29  0,                                                                        // UINT16     SciInt
30  0,                                                                        // UINT32     SmiCmd
31  0,                                                                        // UINT8      AcpiEnable
32  0,                                                                        // UINT8      AcpiDisable
33  0,                                                                        // UINT8      S4BiosReq
34  0,                                                                        // UINT8      PstateCnt
35  0,                                                                        // UINT32     Pm1aEvtBlk
36  0,                                                                        // UINT32     Pm1bEvtBlk
37  0,                                                                        // UINT32     Pm1aCntBlk
38  0,                                                                        // UINT32     Pm1bCntBlk
39  0,                                                                        // UINT32     Pm2CntBlk
40  0,                                                                        // UINT32     PmTmrBlk
41  0,                                                                        // UINT32     Gpe0Blk
42  0,                                                                        // UINT32     Gpe1Blk
43  0,                                                                        // UINT8      Pm1EvtLen
44  0,                                                                        // UINT8      Pm1CntLen
45  0,                                                                        // UINT8      Pm2CntLen
46  0,                                                                        // UINT8      PmTmrLen
47  0,                                                                        // UINT8      Gpe0BlkLen
48  0,                                                                        // UINT8      Gpe1BlkLen
49  0,                                                                        // UINT8      Gpe1Base
50  0,                                                                        // UINT8      CstCnt
51  0,                                                                        // UINT16     PLvl2Lat
52  0,                                                                        // UINT16     PLvl3Lat
53  0,                                                                        // UINT16     FlushSize
54  0,                                                                        // UINT16     FlushStride
55  0,                                                                        // UINT8      DutyOffset
56  0,                                                                        // UINT8      DutyWidth
57  0,                                                                        // UINT8      DayAlrm
58  0,                                                                        // UINT8      MonAlrm
59  0,                                                                        // UINT8      Century
60  0,                                                                        // UINT16     IaPcBootArch
61  0,                                                                        // UINT8      Reserved1
62  EFI_ACPI_6_1_HW_REDUCED_ACPI | EFI_ACPI_6_1_LOW_POWER_S0_IDLE_CAPABLE,    // UINT32     Flags
63  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  ResetReg
64  0,                                                                        // UINT8      ResetValue
65  EFI_ACPI_6_1_ARM_PSCI_COMPLIANT,                                          // UINT16     ArmBootArchFlags
66  EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,                 // UINT8      MinorRevision
67  0,                                                                        // UINT64     XFirmwareCtrl
68  0,                                                                        // UINT64     XDsdt
69  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XPm1aEvtBlk
70  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XPm1bEvtBlk
71  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XPm1aCntBlk
72  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XPm1bCntBlk
73  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XPm2CntBlk
74  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XPmTmrBlk
75  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XGpe0Blk
76  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  XGpe1Blk
77  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  SleepControlReg
78  NULL_GAS,                                                                 // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  SleepStatusReg
79  0                                                                         // UINT64     Hypervisor Vendor Identify
80};
81
82//
83// Reference the table being generated to prevent the optimizer from removing the
84// data structure from the executable
85//
86VOID* CONST ReferenceAcpiTable = &Fadt;
87