mirror of https://github.com/acidanthera/audk.git
106 lines
3.2 KiB
Plaintext
106 lines
3.2 KiB
Plaintext
/**************************************************************************;
|
|
;* *;
|
|
;* *;
|
|
;* Intel Corporation - ACPI Reference Code for the Baytrail *;
|
|
;* Family of Customer Reference Boards. *;
|
|
;* *;
|
|
;* *;
|
|
;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
|
|
;
|
|
; This program and the accompanying materials are licensed and made available under
|
|
; the terms and conditions of the BSD License that accompanies this distribution.
|
|
; The full text of the license may be found at
|
|
; http://opensource.org/licenses/bsd-license.php.
|
|
;
|
|
; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
;
|
|
;* *;
|
|
;* *;
|
|
;**************************************************************************/
|
|
|
|
|
|
// General Purpose Events. This Scope handles the Run-time and
|
|
// Wake-time SCIs. The specific method called will be determined by
|
|
// the _Lxx value, where xx equals the bit location in the General
|
|
// Purpose Event register(s).
|
|
|
|
Scope(\_GPE)
|
|
{
|
|
//
|
|
// Software GPE caused the event.
|
|
//
|
|
Method(_L02)
|
|
{
|
|
// Clear GPE status bit.
|
|
Store(0,GPEC)
|
|
//
|
|
// Handle DTS Thermal Events.
|
|
//
|
|
External(DTSE, IntObj)
|
|
If(CondRefOf(DTSE))
|
|
{
|
|
If(LGreaterEqual(DTSE, 0x01))
|
|
{
|
|
Notify(\_TZ.TZ01,0x80)
|
|
}
|
|
}
|
|
}
|
|
|
|
//
|
|
// PUNIT SCI event.
|
|
//
|
|
Method(_L04)
|
|
{
|
|
// Clear the PUNIT Status Bit.
|
|
Store(1, PSCI)
|
|
}
|
|
|
|
|
|
//
|
|
// IGD OpRegion SCI event (see IGD OpRegion/Software SCI BIOS SPEC).
|
|
//
|
|
Method(_L05)
|
|
{
|
|
If(LAnd(\_SB.PCI0.GFX0.GSSE, LNot(GSMI))) // Graphics software SCI event?
|
|
{
|
|
\_SB.PCI0.GFX0.GSCI() // Handle the SWSCI
|
|
}
|
|
}
|
|
|
|
//
|
|
// This PME event (PCH's GPE #13) is received when any PCH internal device with PCI Power Management capabilities
|
|
// on bus 0 asserts the equivalent of the PME# signal.
|
|
//
|
|
Method(_L0D, 0)
|
|
{
|
|
If(LAnd(\_SB.PCI0.EHC1.PMEE, \_SB.PCI0.EHC1.PMES))
|
|
{
|
|
If(LNotEqual(OSEL, 1))
|
|
{
|
|
Store(1, \_SB.PCI0.EHC1.PMES) //Clear PME status
|
|
Store(0, \_SB.PCI0.EHC1.PMEE) //Disable PME
|
|
}
|
|
Notify(\_SB.PCI0.EHC1, 0x02)
|
|
}
|
|
If(LAnd(\_SB.PCI0.XHC1.PMEE, \_SB.PCI0.XHC1.PMES))
|
|
{
|
|
If(LNotEqual(OSEL, 1))
|
|
{
|
|
Store(1, \_SB.PCI0.XHC1.PMES) //Clear PME status
|
|
Store(0, \_SB.PCI0.XHC1.PMEE) //Disable PME
|
|
}
|
|
Notify(\_SB.PCI0.XHC1, 0x02)
|
|
}
|
|
If(LAnd(\_SB.PCI0.HDEF.PMEE, \_SB.PCI0.HDEF.PMES))
|
|
{
|
|
If(LNotEqual(OSEL, 1))
|
|
{
|
|
Store(1, \_SB.PCI0.HDEF.PMES) //Clear PME status
|
|
Store(0, \_SB.PCI0.HDEF.PMEE) //Disable PME
|
|
}
|
|
Notify(\_SB.PCI0.HDEF, 0x02)
|
|
}
|
|
}
|
|
}
|