Fadt.aslc 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /** @file
  2. * Fixed ACPI Description Table (FADT)
  3. *
  4. * Copyright (c) 2012 - 2016, ARM Limited. All rights reserved.
  5. *
  6. * SPDX-License-Identifier: BSD-2-Clause-Patent
  7. *
  8. **/
  9. #include "ArmPlatform.h"
  10. #include <Library/AcpiLib.h>
  11. #include <IndustryStandard/Acpi.h>
  12. #ifdef ARM_JUNO_ACPI_5_0
  13. EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
  14. ARM_ACPI_HEADER (
  15. EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
  16. EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE,
  17. EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
  18. ),
  19. #else
  20. EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
  21. ARM_ACPI_HEADER (
  22. EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
  23. EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE,
  24. EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
  25. ),
  26. #endif
  27. 0, // UINT32 FirmwareCtrl
  28. 0, // UINT32 Dsdt
  29. EFI_ACPI_RESERVED_BYTE, // UINT8 Reserved0
  30. EFI_ACPI_5_0_PM_PROFILE_UNSPECIFIED, // UINT8 PreferredPmProfile
  31. 0, // UINT16 SciInt
  32. 0, // UINT32 SmiCmd
  33. 0, // UINT8 AcpiEnable
  34. 0, // UINT8 AcpiDisable
  35. 0, // UINT8 S4BiosReq
  36. 0, // UINT8 PstateCnt
  37. 0, // UINT32 Pm1aEvtBlk
  38. 0, // UINT32 Pm1bEvtBlk
  39. 0, // UINT32 Pm1aCntBlk
  40. 0, // UINT32 Pm1bCntBlk
  41. 0, // UINT32 Pm2CntBlk
  42. 0, // UINT32 PmTmrBlk
  43. 0, // UINT32 Gpe0Blk
  44. 0, // UINT32 Gpe1Blk
  45. 0, // UINT8 Pm1EvtLen
  46. 0, // UINT8 Pm1CntLen
  47. 0, // UINT8 Pm2CntLen
  48. 0, // UINT8 PmTmrLen
  49. 0, // UINT8 Gpe0BlkLen
  50. 0, // UINT8 Gpe1BlkLen
  51. 0, // UINT8 Gpe1Base
  52. 0, // UINT8 CstCnt
  53. 0, // UINT16 PLvl2Lat
  54. 0, // UINT16 PLvl3Lat
  55. 0, // UINT16 FlushSize
  56. 0, // UINT16 FlushStride
  57. 0, // UINT8 DutyOffset
  58. 0, // UINT8 DutyWidth
  59. 0, // UINT8 DayAlrm
  60. 0, // UINT8 MonAlrm
  61. 0, // UINT8 Century
  62. 0, // UINT16 IaPcBootArch
  63. 0, // UINT8 Reserved1
  64. EFI_ACPI_5_0_HW_REDUCED_ACPI | EFI_ACPI_5_0_LOW_POWER_S0_IDLE_CAPABLE, // UINT32 Flags
  65. NULL_GAS, // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ResetReg
  66. 0, // UINT8 ResetValue
  67. #ifdef ARM_JUNO_ACPI_5_0
  68. {EFI_ACPI_RESERVED_BYTE,EFI_ACPI_RESERVED_BYTE,EFI_ACPI_RESERVED_BYTE}, // UINT8 Reserved2[3]
  69. #else
  70. EFI_ACPI_5_1_ARM_PSCI_COMPLIANT, // UINT16 ArmBootArchFlags
  71. EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // UINT8 MinorRevision
  72. #endif
  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. // Reference the table being generated to prevent the optimizer from removing the
  88. // data structure from the executable
  89. //
  90. VOID* CONST ReferenceAcpiTable = &Fadt;