blob: f55a12ad18050b42ed15a8ba69df6078bd03a5b3 [file] [log] [blame]
Alexandru Gagniucfccfee32014-03-26 18:51:08 -05001//BTDC Due to IMC Fan, ACPI control codes
2OperationRegion(IMIO, SystemIO, 0x3E, 0x02)
3Field(IMIO , ByteAcc, NoLock, Preserve) {
4 IMCX,8,
5 IMCA,8
6}
7
8IndexField(IMCX, IMCA, ByteAcc, NoLock, Preserve) {
9 Offset(0x80),
10 MSTI, 8,
11 MITS, 8,
12 MRG0, 8,
13 MRG1, 8,
14 MRG2, 8,
15 MRG3, 8,
16}
17
18Method(WACK, 0)
19{
20 Store(0, Local0)
21 Store(50, Local1)
22 While (LAnd (LNotEqual(Local0, 0xFA), LGreater(Local1,0))) {
23 Store(MRG0, Local0)
24 Sleep(10)
25 Decrement(Local1)
26 }
27}
28
29//Init
30Method (ITZE, 0)
31{
32 Store(0, MRG0)
33 Store(0xB5, MRG1)
34 Store(0, MRG2)
35 Store(0x96, MSTI)
36 WACK()
37
38 Store(0, MRG0)
39 Store(0, MRG1)
40 Store(0, MRG2)
41 Store(0x80, MSTI)
42 WACK()
43
44 Or(MRG2, 0x01, Local0)
45
46 Store(0, MRG0)
47 Store(0, MRG1)
48 Store(Local0, MRG2)
49 Store(0x81, MSTI)
50 WACK()
51}
52
53//Sleep
54Method (IMSP, 0)
55{
56 Store(0, MRG0)
57 Store(0xB5, MRG1)
58 Store(0, MRG2)
59 Store(0x96, MSTI)
60 WACK()
61
62 Store(0, MRG0)
63 Store(1, MRG1)
64 Store(0, MRG2)
65 Store(0x98, MSTI)
66 WACK()
67
68 Store(0, MRG0)
69 Store(0xB4, MRG1)
70 Store(0, MRG2)
71 Store(0x96, MSTI)
72 WACK()
73}
74
75//Wake
76Method (IMWK, 0)
77{
78 Store(0, MRG0)
79 Store(0xB5, MRG1)
80 Store(0, MRG2)
81 Store(0x96, MSTI)
82 WACK()
83
84 Store(0, MRG0)
85 Store(0, MRG1)
86 Store(0, MRG2)
87 Store(0x80, MSTI)
88 WACK()
89
90 Or(MRG2, 0x01, Local0)
91
92 Store(0, MRG0)
93 Store(0, MRG1)
94 Store(Local0, MRG2)
95 Store(0x81, MSTI)
96 WACK()
97}