1 /* SPDX-License-Identifier: GPL-2.0-only */
4 /* SuperIO GPIO configuration via logical device 0x0A */
6 Name (MSBF, ResourceTemplate ()
8 IO (Decode16, 0x0000, 0x0000, 0x01, 0x80, _Y1B)
11 OperationRegion (LPC0, SystemIO, 0x0E00, 0x60)
12 Field (LPC0, ByteAcc, NoLock, Preserve)
15 Offset (0x02), PME2,8,
16 Offset (0x04), PME4,8,
17 Offset (0x0A), PMEA,8,
19 GC10,8, GC11,8, GC12,8, GC13,8, GC14,8, GC15,8, GC16,8, GC17,8,
20 GC20,8, GC21,8, GC22,8, GC23,8, GC24,8, GC25,8, GC26,8, GC27,8,
21 GC30,8, GC31,8, GC32,8, GC33,8, GC34,8, GC35,8, GC36,8, GC37,8,
22 GC40,8, GC41,8, GC42,8, GC43,8,
25 GC50,8, GC51,8, GC52,8, GC53,8, GC54,8, GC55,8, GC56,8, GC57,8,
29 GP_1,8, GP_2,8, GP_3,8, GP_4,8, GP_5,8, GP_6,8,
30 Offset (0x56), FAN1,8,
31 Offset (0x5D), LED1,8, LED2,8,
34 OperationRegion (SMC1, SystemIO, 0x2E, 0x02)
35 Field (SMC1, ByteAcc, NoLock, Preserve)
40 IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
42 Offset (0x07), LDN, 8,
43 Offset (0x22), PWRC, 8,
44 Offset (0x30), ACTR, 8,
49 Offset (0x70), INTR, 8,
50 Offset (0x72), INT1, 8,
51 Offset (0x74), DMCH, 8,
52 Offset (0xB2), SPS1, 8, SPS2, 8,
53 Offset (0xB8), D2TS, 8,
54 Offset (0xF0), OPT1, 8, OPT2, 8, OPT3, 8,
55 Offset (0xF4), WDTC, 8,
56 Offset (0xF6), GP01, 8, GP02, 8, GP04, 8
59 Method (ECFG, 0, NotSerialized)
63 Method (XCFG, 0, NotSerialized)
68 Method (_CRS, 0, NotSerialized)
70 CreateWordField (MSBF, \_SB.PCI0.ICH0.SMSC._Y1B._MIN, IOM1)
71 CreateWordField (MSBF, \_SB.PCI0.ICH0.SMSC._Y1B._MAX, IOM2)
72 CreateByteField (MSBF, \_SB.PCI0.ICH0.SMSC._Y1B._LEN, IOML)
75 Store (0x0A, \_SB.PCI0.ICH0.SMSC.LDN)
78 Or (\_SB.PCI0.ICH0.SMSC.IOAH, IOM1, IOM1)
79 ShiftLeft (IOM1, 0x08, IOM1)
80 Or (\_SB.PCI0.ICH0.SMSC.IOAL, IOM1, IOM1)
92 Method (_INI, 0, NotSerialized)
94 /* GPIO configuration */
105 Store (0x01, GC34) /* GPI password jumper */
106 Store (0x01, GC35) /* GPI scsi enable jumper */
107 Store (0x01, GC42) /* GPI */
108 Store (0x86, GC60) /* led 1 */
109 Store (0x81, GC61) /* led 2 ?? */
111 /* GPIO initial output levels */
113 And( Local0, 0x7C, Local0)
114 Or ( Local0, 0x81, Local0)
118 And( Local0, 0xFE, Local0)
119 Or ( Local0, 0x00, Local0)
123 And( Local0, 0x7F, Local0)
124 Or ( Local0, 0x80, Local0)
128 And( Local0, 0x7F, Local0)
129 Or ( Local0, 0x00, Local0)
134 And( Local0, 0xfc, Local0)
135 Or ( Local0, 0x01, Local0)
140 Method (MLED, 1, NotSerialized)
142 If (LEqual (Arg0, 0x00))
147 If (LEqual (Arg0, 0x01) || LEqual (Arg0, 0x02))
152 If (LEqual (Arg0, 0x03))
157 If (LEqual (Arg0, 0x04) || LEqual (Arg0, 0x05))