summaryrefslogtreecommitdiff
path: root/Core/EM/ACPI/PS2ms.asl
blob: 41bf925048b184503380338a514b5bffdedce11b (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2009, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**             5555 Oakbrook Pkwy, Norcross, GA 30093               **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************
// $Header: /Alaska/BIN/Modules/ACPI/Template/Core/PS2ms.asl 8     5/07/12 10:50a Oleksiyy $
//
// $Revision: 8 $
//
// $Date: 5/07/12 10:50a $
//**********************************************************************;
// Revision History
// ----------------
// $Log: /Alaska/BIN/Modules/ACPI/Template/Core/PS2ms.asl $
// 
// 8     5/07/12 10:50a Oleksiyy
// [TAG]  		EIP88686
// [Category]  	Improvement
// [Description]  	Add tokens for _CID and _HID to pass the WHCK
// [Files]  		ACPI.sdl, PS2kb.asl and PS2ms.asl
// 
// 7     3/26/09 4:53p Oleksiyy
// New ACPI Core implementation - improves logic, execution time and
// memory usage of ACPI module.
// 
// 6     4/16/08 12:08p Yakovlevs
// Added 60, 64 resources when KB is not present. 
// 
// 5     4/15/08 9:22p Yakovlevs
// Moved from OEMDSDT device specific 2nd Level wake up control method and
// wake flag
// 
// 4     4/09/08 6:04p Yakovlevs
// 
// 3     4/09/08 5:09p Yakovlevs
// Made _STA return bit set value from \IOST object
// 
// 2     4/03/06 4:05p Felixp
// New Super I/O infrastructure Support
// 
// 1     3/24/05 5:01p Sivagarn
// 
// 1     2/03/05 6:42p Sivagarn
// 0ABHI001 Check in
// 
// 2     9/17/04 12:10p Yakovlevs
// 
// 1     7/27/04 2:48p Yakovlevs
// 
// 6     9/06/02 10:53a Alexp
// Add SourceSafe headers to all core asl files
// 
//
//**********************************************************************;
// PS2 Mouse Device, IO category # - 12
//---------------------------------------------------------------------
Device(PS2M) {

//        Name(_HID, EISAID("PNP0F03"))	// Hardware Device ID - Microsoft mouse
					// check if MSFT Mouse driver supports D3 properly on all MSFT OSes. 
					// It may prevent OS to go to S3 sleep state
					// Use Logitech _HID instead if OS rejecting to go to S3.
        Method(_HID,0){
            Return (\HIDM)
        }
//        Name(_HID, EISAID("PNP0F12"))	// Logitech PS2 Mouse ID
//        Name(_CID, EISAID("PNP0F13"))	// Compatible ID
        Method(_CID,0){
            Return (\CIDM)
        }

        Method(_STA, 0) {
                // Check if PS2Mouse detected in BIOS Post
                // IOST - bit mask of enabled devices, 0x4000 - PS2M mask
                If(And(\IOST, 0x4000)){		// Check if PS2MS detected in BIOS Post
                	Return(0x0f) 
				} else {
					Return(0x00)// device's not present
				}
        }
        Name(CRS1, ResourceTemplate()
        {
                IRQNoFlags(){12}
        })
        Name(CRS2, ResourceTemplate()
	{
		IO(Decode16, 0x60, 0x60, 0, 0x1)
		IO(Decode16, 0x64, 0x64, 0, 0x1)
                IRQNoFlags(){12}
	})
        Method(_CRS,0)
        {
        	If(And(\IOST, 0x0400)){	// PS2K is present, I/O resources 0x60 & 0x64 are reserved there
       		    Return(CRS1)
		} else {	        // single PS/2 mouse(no PS/2 kbd), need to supply I/O resources 0x60 & 0x64 for PS/2 Controller.
		    Return(CRS2)
		}
   	}

//-----------------------------------------------------------------------
//NOTE: _PRS MUST be the NAME not a METHOD object 
//to have GENERICSIO.C working right! 
//-----------------------------------------------------------------------
	Name(_PRS, ResourceTemplate(){
		StartDependentFn(0, 0) { 
			IRQNoFlags(){12} 
		}
		EndDependentFn()
	})

	// Mouse 2nd Level wake up control method
	Method(_PSW, 1){
		Store(Arg0, \MSFG)
	}

}// End of PS2M

Scope(\){
	Name(\MSFG, 0x01)	//Mouse wake-up flag default enable
}