- 积分
- 3
- 最后登录
- 2020-5-8
- 精华
- 0
- 阅读权限
- 10
- 主题
- 0
- UID
- 4857358
- 帖子
- 7
- PB币
- 47
- 威望
- 0
- 贡献
- 0
- 技术
- 0
- 活跃
- 29
- UID
- 4857358
- 帖子
- 7
- PB币
- 47
- 贡献
- 0
- 技术
- 0
- 活跃
- 29
|
楼主
这台机器的IOinterruptSpecifiers是0x33,在windows下看到的。
所以还是得打dsdt补丁,否则还是轮询模式。
我已经驱动GPIO模式了,比不打补丁之前的轮询模式要流畅很多
触控板的名字是TPD1,附上我打dsdt的代码。
Device (TPD1)
{
Name (HID2, Zero)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, _Y3F, Exclusive,
)
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0023
}
})
CreateWordField (SBFB, \_SB.PCI0.I2C1.TPD1._Y3F._ADR, BADR) // _ADR: Address
CreateDWordField (SBFB, \_SB.PCI0.I2C1.TPD1._Y3F._SPE, SPED) // _SPE: Speed
CreateWordField (SBFG, 0x17, INT1)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (LLess (OSYS, 0x07DC))
{
SRXO (GPDI, One)
}
Store (GNUM (GPDI), INT1)
If (LEqual (SDM1, Zero))
{
SHPO (GPDI, One)
}
Store (0x20, HID2)
Return (Zero)
}
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (LEqual (CBSN, One))
{
Return ("DELL0922")
}
ElseIf (LEqual (CBSN, 0x02))
{
Return ("DELL0923")
}
ElseIf (LEqual (CBSN, 0x03))
{
Return ("DELL0924")
}
Else
{
Return ("DELL0922")
}
}
Name (_CID, "PNP0C50") // _CID: Compatible ID
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg0, HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}
If (LEqual (Arg0, TP7G))
{
Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
}
Return (Buffer (One)
{
0x00
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}
}
|
|