blob: 6fe5e33cb85de2fee485d9bc65355c2d905ea3c2 [file] [log] [blame]
Angel Pons182dbde2020-04-02 23:49:05 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Bruce Griffith72645bb2014-06-10 05:10:19 -06002
3OperationRegion(IMIO, SystemIO, 0x3E, 0x02)
4Field(IMIO , ByteAcc, NoLock, Preserve) {
5 IMCX,8,
6 IMCA,8
7}
8
9IndexField(IMCX, IMCA, ByteAcc, NoLock, Preserve) {
10 Offset(0x80),
11 MSTI, 8,
12 MITS, 8,
13 MRG0, 8,
14 MRG1, 8,
15 MRG2, 8,
16 MRG3, 8,
17}
18
19Method(WACK, 0)
20{
Elyes HAOUASa81c4612020-09-30 13:19:49 +020021 Local0 = 0
22 Local1 = 50
Elyes Haouase37806762022-02-11 21:51:23 +010023 While ((Local0 != 0xfa) && (Local1 > 0)) {
Elyes HAOUASa81c4612020-09-30 13:19:49 +020024 Local0 = MRG0
Bruce Griffith72645bb2014-06-10 05:10:19 -060025 Sleep(10)
Elyes HAOUASa81c4612020-09-30 13:19:49 +020026 Local1--
Bruce Griffith72645bb2014-06-10 05:10:19 -060027 }
28}
29
30//Init
31Method (ITZE, 0)
32{
Elyes HAOUASa81c4612020-09-30 13:19:49 +020033 MRG0 = 0
34 MRG1 = 0xb5
35 MRG2 = 0
36 MSTI = 0x96
Bruce Griffith72645bb2014-06-10 05:10:19 -060037 WACK()
38
Elyes HAOUASa81c4612020-09-30 13:19:49 +020039 MRG0 = 0
40 MRG1 = 0
41 MRG2 = 0
42 MSTI = 0x80
Bruce Griffith72645bb2014-06-10 05:10:19 -060043 WACK()
44
Elyes HAOUASa81c4612020-09-30 13:19:49 +020045 Local0 = MRG2 | 0x01
Bruce Griffith72645bb2014-06-10 05:10:19 -060046
Elyes HAOUASa81c4612020-09-30 13:19:49 +020047 MRG0 = 0
48 MRG1 = 0
49 MRG2 = Local0
50 MSTI = 0x81
Bruce Griffith72645bb2014-06-10 05:10:19 -060051 WACK()
52}