1 /**************************************************************************;
4 ;* Intel Corporation - ACPI Reference Code for the Baytrail *;
5 ;* Family of Customer Reference Boards. *;
8 ;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
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.
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.
20 ;**************************************************************************/
30 External(RTD3) //flag if RTD3 is enabled
36 Name(OSCI, 0) // \_SB._OSC DWORD2 input
37 Name(OSCO, 0) // \_SB._OSC DWORD2 output
39 //Arg0 -- A buffer containing UUID
40 //Arg1 -- An Interger containing a Revision ID of the buffer format
41 //Arg2 -- An interger containing a count of entries in Arg3
42 //Arg3 -- A buffer containing a list of DWORD capacities
43 Method(_OSC, 4, NotSerialized)
45 // Check for proper UUID
46 If(LEqual(Arg0, ToUUID("0811B06E-4A27-44F9-8D60-3CBBC22E7B48")))
48 CreateDWordField(Arg3,0,CDW1) //bit1,2 is always clear
49 CreateDWordField(Arg3,4,CDW2) //Table 6-147 from ACPI spec
51 Store(CDW2, OSCI) // Save DWord2
52 Or(OSCI, 0x4, OSCO) // Only allow _PR3 support
54 If(LNotEqual(Arg1,One))
56 Or(CDW1,0x08,CDW1) // Unknown revision
59 If(LNotEqual(OSCI, OSCO))
61 Or(CDW1,0x10,CDW1) // Capabilities bits were masked
64 Store(OSCO, CDW2) // Replace DWord2
68 Or(CDW1,4,CDW1) // Unrecognized UUID
73 }//end of RTD3 condition
79 Scope(\_SB.PCI0.EHC1.HUBN.PR01.PR13)
81 Name(_PR0, Package() {\PR34})
82 Name(_PR3, Package() {\PR34})
86 If(And(\_SB.OSCO, 0x04)) // PMEs can be genrated from D3cold
88 Return(4) // OS comprehends D3cold, as described via \_SB._OSC
96 Scope(\_SB.PCI0.EHC1.HUBN.PR01.PR14)
98 Name(_PR0, Package() {\PR34})
99 Name(_PR3, Package() {\PR34})
103 If(And(\_SB.OSCO, 0x04))
114 Scope(\_SB.PCI0.EHC1.HUBN.PR01.PR15)
116 Name(_PR0, Package() {\PR56})
117 Name(_PR3, Package() {\PR56})
121 If(And(\_SB.OSCO, 0x04))
131 Scope(\_SB.PCI0.EHC1.HUBN.PR01.PR16)
133 Name(_PR0, Package() {\PR56})
134 Name(_PR3, Package() {\PR56})
138 If(And(\_SB.OSCO, 0x04))
148 Scope(\_SB.PCI0.XHC1) // XHCI host only controller
151 Method(_PS0,0,Serialized) // set device into D0 state
155 Method(_PS3,0,Serialized) // place device into D3H state
160 Method(_DSW, 3,Serialized) // enable or disable the device’s ability to wake a sleeping system.
165 Scope(\_SB.PCI0.XHC1.RHUB.HS01)
170 Scope(\_SB.PCI0.XHC1.RHUB.SSP1)
175 Scope(\_SB.PCI0.XHC2) // OTG
178 Method(_PS0,0,Serialized) // set device into D0 state
182 Method(_PS3,0,Serialized) // place device into D3H state
187 Method(_DSW, 3,Serialized) // enable or disable the device’s ability to wake a sleeping system.
192 Scope(\_SB.PCI0.XHC2.RHUB.HS01)
197 Scope(\_SB.PCI0.XHC2.RHUB.SSP1)
201 } //If(LEqual(RTD3,1)) USB