Gpe.asl 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /**************************************************************************;
  2. ;* *;
  3. ;* *;
  4. ;* Intel Corporation - ACPI Reference Code for the Baytrail *;
  5. ;* Family of Customer Reference Boards. *;
  6. ;* *;
  7. ;* *;
  8. ;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
  9. ;
  10. ; SPDX-License-Identifier: BSD-2-Clause-Patent
  11. ;
  12. ;* *;
  13. ;* *;
  14. ;**************************************************************************/
  15. // General Purpose Events. This Scope handles the Run-time and
  16. // Wake-time SCIs. The specific method called will be determined by
  17. // the _Lxx value, where xx equals the bit location in the General
  18. // Purpose Event register(s).
  19. Scope(\_GPE)
  20. {
  21. //
  22. // Software GPE caused the event.
  23. //
  24. Method(_L02)
  25. {
  26. // Clear GPE status bit.
  27. Store(0,GPEC)
  28. //
  29. // Handle DTS Thermal Events.
  30. //
  31. External(DTSE, IntObj)
  32. If(CondRefOf(DTSE))
  33. {
  34. If(LGreaterEqual(DTSE, 0x01))
  35. {
  36. Notify(\_TZ.TZ01,0x80)
  37. }
  38. }
  39. }
  40. //
  41. // PUNIT SCI event.
  42. //
  43. Method(_L04)
  44. {
  45. // Clear the PUNIT Status Bit.
  46. Store(1, PSCI)
  47. }
  48. //
  49. // IGD OpRegion SCI event (see IGD OpRegion/Software SCI BIOS SPEC).
  50. //
  51. Method(_L05)
  52. {
  53. If(LAnd(\_SB.PCI0.GFX0.GSSE, LNot(GSMI))) // Graphics software SCI event?
  54. {
  55. \_SB.PCI0.GFX0.GSCI() // Handle the SWSCI
  56. }
  57. }
  58. //
  59. // This PME event (PCH's GPE #13) is received when any PCH internal device with PCI Power Management capabilities
  60. // on bus 0 asserts the equivalent of the PME# signal.
  61. //
  62. Method(_L0D, 0)
  63. {
  64. If(LAnd(\_SB.PCI0.EHC1.PMEE, \_SB.PCI0.EHC1.PMES))
  65. {
  66. If(LNotEqual(OSEL, 1))
  67. {
  68. Store(1, \_SB.PCI0.EHC1.PMES) //Clear PME status
  69. Store(0, \_SB.PCI0.EHC1.PMEE) //Disable PME
  70. }
  71. Notify(\_SB.PCI0.EHC1, 0x02)
  72. }
  73. If(LAnd(\_SB.PCI0.XHC1.PMEE, \_SB.PCI0.XHC1.PMES))
  74. {
  75. If(LNotEqual(OSEL, 1))
  76. {
  77. Store(1, \_SB.PCI0.XHC1.PMES) //Clear PME status
  78. Store(0, \_SB.PCI0.XHC1.PMEE) //Disable PME
  79. }
  80. Notify(\_SB.PCI0.XHC1, 0x02)
  81. }
  82. If(LAnd(\_SB.PCI0.HDEF.PMEE, \_SB.PCI0.HDEF.PMES))
  83. {
  84. If(LNotEqual(OSEL, 1))
  85. {
  86. Store(1, \_SB.PCI0.HDEF.PMES) //Clear PME status
  87. Store(0, \_SB.PCI0.HDEF.PMEE) //Disable PME
  88. }
  89. Notify(\_SB.PCI0.HDEF, 0x02)
  90. }
  91. }
  92. }