blob: 020bc9713144ae8574a6098d8fca745f64b9ab8d [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/************************************************************************************;
2;* *;
3;* *;
4;* Intel Corporation - ACPI Reference Code for the Baytrail *;
5;* Family of Customer Reference Boards. *;
6;* *;
7;* MPG-MSAE *;
8;* *;
9;* Copyright (c) 1999 - 2014, Intel Corporation. *;
10;* *;
11;* This program and the accompanying materials are licensed and made available under*;
12;* the terms and conditions of the BSD License that accompanies this distribution. *;
13;* The full text of the license may be found at *;
14;* http://opensource.org/licenses/bsd-license.php. *;
15;* *;
16;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, *;
17;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. *;
18;* *;
19;* *;
20;* This program has been developed by Intel Corporation. *;
21;* Licensee has Intel's permission to incorporate this source code *;
22;* into their product, royalty free. This source code may NOT be *;
23;* redistributed to anyone without Intel's written permission. *;
24;* *;
25;* Intel specifically disclaims all warranties, express or *;
26;* implied, and all liability, including consequential and other *;
27;* indirect damages, for the use of this code, including liability *;
28;* for infringement of any proprietary rights, and including the *;
29;* warranties of merchantability and fitness for a particular *;
30;* purpose. Intel does not assume any responsibility for any *;
31;* errors which may appear in this code nor any responsibility to *;
32;* update it. *;
33;* *;
34;* Version: See README.TXT *;
35;* *;
36;************************************************************************************/
37
38//
39// _DSM : Device Specific Method supporting USB Sideband Deferring function
40//
41// Arg0: UUID Unique function identifier
42// Arg1: Integer Revision Level
43// Arg2: Integer Function Index
44// Arg3: Package Parameters
45//
46Method (_DSM, 4, Serialized, 0, UnknownObj, {BuffObj, IntObj, IntObj, PkgObj})
47{
48
49 If (LEqual(Arg0, ToUUID ("A5FC708F-8775-4BA6-BD0C-BA90A1EC72F8")))
50 {
51 //
52 // Switch by function index
53 //
54 Switch (ToInteger(Arg2))
55 {
56 //
57 // Standard query - A bitmask of functions supported
58 // Supports function 0-2
59 //
60 Case (0)
61 {
62 if (LEqual(Arg1, 1)) // test Arg1 for the revision
63 {
64 Return (Buffer () {0x07})
65 }
66 else
67 {
68 Return (Buffer () {0})
69 }
70 }
71 //
72 // USB Sideband Deferring Support
73 // 0: USB Sideband Deferring not supported on this device
74 // 1: USB Sideband Deferring supported
75 //
76 Case (1)
77 {
78 if (LEqual(SDGV,0xFF)) // check for valid GPE vector
79 {
80 Return (0)
81 }
82 else
83 {
84 Return (1)
85 }
86 }
87 //
88 // GPE Vector
89 // Return the bit offset within the GPE block of the GPIO (HOST_ALERT) driven by this device
90 //
91 Case (2)
92 {
93 Return (SDGV)
94 }
95 }
96 }
97
98 Return (0)
99}