summaryrefslogtreecommitdiff
path: root/ReferenceCode/Chipset/LynxPoint/AcpiTables/Dsdt/UsbSbd.asl
blob: 12bcbbfb8583481019d3015bf4dd333f22551a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/************************************************************************;
;*                                                                      *;
;*    Intel Confidential                                                *;
;*                                                                      *;
;*    Intel Corporation - ACPI Reference Code for the Haswell           *;
;*    Family of Customer Reference Boards.                              *;
;*                                                                      *;
;*    MPG-MSAE                                                          *;
;*                                                                      *;
;*    Copyright (c) 1999-2011 Intel Corporation.                        *;
;*                                                                      *;
;*    This program has been developed by Intel Corporation.             *;
;*    Licensee has Intel's permission to incorporate this source code   *;
;*    into their product, royalty free.  This source code may NOT be    *;
;*    redistributed to anyone without Intel's written permission.       *;
;*                                                                      *;
;*    Intel specifically disclaims all warranties, express or           *;
;*    implied, and all liability, including consequential and other     *;
;*    indirect damages, for the use of this code, including liability   *;
;*    for infringement of any proprietary rights, and including the     *;
;*    warranties of merchantability and fitness for a particular        *;
;*    purpose.  Intel does not assume any responsibility for any        *;
;*    errors which may appear in this code nor any responsibility to    *;
;*    update it.                                                        *;
;*                                                                      *;
;*    Version:  See README.TXT                                          *;
;*                                                                      *;
;************************************************************************/
/*++
  This file contains an 'Intel Peripheral Driver' and is
  licensed for Intel CPUs and chipsets under the terms of your  
  license agreement with Intel or your vendor.  This file may   
  be modified by the user, subject to additional terms of the   
  license agreement                                             
--*/   

//
// _DSM : Device Specific Method supporting USB Sideband Deferring function
//
// Arg0: UUID Unique function identifier
// Arg1: Integer Revision Level
// Arg2: Integer Function Index
// Arg3: Package Parameters
//
Method (_DSM, 4, Serialized, 0, UnknownObj, {BuffObj, IntObj, IntObj, PkgObj})
{

  If (LEqual(Arg0, ToUUID ("A5FC708F-8775-4BA6-BD0C-BA90A1EC72F8")))
  {
    //
    // Switch by function index
    //
    Switch (ToInteger(Arg2))
    {
      //
      // Standard query - A bitmask of functions supported
      // Supports function 0-2
      //
      Case (0)
      {
        if (LEqual(Arg1, 1)){ // test Arg1 for the revision 
          Return (Buffer () {0x07})
        } else {
          Return (Buffer () {0})
        }
      }
      //
      // USB Sideband Deferring Support
      //   0: USB Sideband Deferring not supported on this device
      //   1: USB Sideband Deferring supported
      //
      Case (1)
      {
        if (LEqual(SDGV,0xFF)){ // check for valid GPE vector
          Return (0)
        } else {
          Return (1)
        }
      }
      //
      // GPE Vector
      //  Return the bit offset within the GPE block of the GPIO (HOST_ALERT) driven by this device
      //
      Case (2)
      {
        Return (SDGV)
      }
    }
  }

  Return (0)
}