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 \_SB.PCI0.ICH0.SMSC.LDN = 0x0A
78 IOM1 |= \_SB.PCI0.ICH0.SMSC.IOAH
80 IOM1 |= \_SB.PCI0.ICH0.SMSC.IOAL
92 Method (_INI, 0, NotSerialized)
94 /* GPIO configuration */
105 GC34 = 0x01 /* GPI password jumper */
106 GC35 = 0x01 /* GPI scsi enable jumper */
107 GC42 = 0x01 /* GPI */
108 GC60 = 0x86 /* led 1 */
109 GC61 = 0x81 /* led 2 ?? */
111 /* GPIO initial output levels */
140 Method (MLED, 1, NotSerialized)
147 If (Arg0 == 0x01 || Arg0 == 0x02)
157 If (Arg0 == 0x04 || Arg0 == 0x05)