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; This program and the accompanying materials are licensed and made available under 11; the terms and conditions of the BSD License that accompanies this distribution. 12; The full text of the license may be found at 13; http://opensource.org/licenses/bsd-license.php. 14; 15; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 16; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 17; 18;* *; 19;* *; 20;**************************************************************************/ 21 22 23// General Purpose Events. This Scope handles the Run-time and 24// Wake-time SCIs. The specific method called will be determined by 25// the _Lxx value, where xx equals the bit location in the General 26// Purpose Event register(s). 27 28Scope(\_GPE) 29{ 30 // 31 // Software GPE caused the event. 32 // 33 Method(_L02) 34 { 35 // Clear GPE status bit. 36 Store(0,GPEC) 37 // 38 // Handle DTS Thermal Events. 39 // 40 External(DTSE, IntObj) 41 If(CondRefOf(DTSE)) 42 { 43 If(LGreaterEqual(DTSE, 0x01)) 44 { 45 Notify(\_TZ.TZ01,0x80) 46 } 47 } 48 } 49 50 // 51 // PUNIT SCI event. 52 // 53 Method(_L04) 54 { 55 // Clear the PUNIT Status Bit. 56 Store(1, PSCI) 57 } 58 59 60 // 61 // IGD OpRegion SCI event (see IGD OpRegion/Software SCI BIOS SPEC). 62 // 63 Method(_L05) 64 { 65 If(LAnd(\_SB.PCI0.GFX0.GSSE, LNot(GSMI))) // Graphics software SCI event? 66 { 67 \_SB.PCI0.GFX0.GSCI() // Handle the SWSCI 68 } 69 } 70 71 // 72 // This PME event (PCH's GPE #13) is received when any PCH internal device with PCI Power Management capabilities 73 // on bus 0 asserts the equivalent of the PME# signal. 74 // 75 Method(_L0D, 0) 76 { 77 If(LAnd(\_SB.PCI0.EHC1.PMEE, \_SB.PCI0.EHC1.PMES)) 78 { 79 If(LNotEqual(OSEL, 1)) 80 { 81 Store(1, \_SB.PCI0.EHC1.PMES) //Clear PME status 82 Store(0, \_SB.PCI0.EHC1.PMEE) //Disable PME 83 } 84 Notify(\_SB.PCI0.EHC1, 0x02) 85 } 86 If(LAnd(\_SB.PCI0.XHC1.PMEE, \_SB.PCI0.XHC1.PMES)) 87 { 88 If(LNotEqual(OSEL, 1)) 89 { 90 Store(1, \_SB.PCI0.XHC1.PMES) //Clear PME status 91 Store(0, \_SB.PCI0.XHC1.PMEE) //Disable PME 92 } 93 Notify(\_SB.PCI0.XHC1, 0x02) 94 } 95 If(LAnd(\_SB.PCI0.HDEF.PMEE, \_SB.PCI0.HDEF.PMES)) 96 { 97 If(LNotEqual(OSEL, 1)) 98 { 99 Store(1, \_SB.PCI0.HDEF.PMES) //Clear PME status 100 Store(0, \_SB.PCI0.HDEF.PMEE) //Disable PME 101 } 102 Notify(\_SB.PCI0.HDEF, 0x02) 103 } 104 } 105} 106