I2C瑙︽懜鏉 姹傚姪
Scope (_SB.PCI0.I2C0){
Name (I2CN, Zero)
Name (I2CX, Zero)
Store (SDS0, I2CN)
Store (Zero, I2CX)
OperationRegion (IC0P, PCI_Config, Zero, 0x10)
Field (IC0P, AnyAcc, NoLock, Preserve)
{
Offset (0x04),
, 1,
, 1,
ICBM, 1
}
OperationRegion (SRRM, GenericSerialBus, Zero, 0x0100)
Name (SBFS, ResourceTemplate ()
{
I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
0x00, ResourceConsumer, , Exclusive,
)
})
Field (SRRM, BufferAcc, NoLock, Preserve)
{
Connection (SBFS),
Offset (0x20),
AccessAs (BufferAcc, AttribByte),
SHID, 8
}
Name (SBFE, ResourceTemplate ()
{
I2cSerialBusV2 (0x0015, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
0x00, ResourceConsumer, , Exclusive,
)
})
Field (SRRM, BufferAcc, NoLock, Preserve)
{
Connection (SBFE),
Offset (0x01),
AccessAs (BufferAcc, AttribByte),
EHID, 8
}
Method (_REG, 2, NotSerialized)// _REG: Region Availability
{
If (LAnd (LEqual (Arg0, 0x09), LEqual (Arg1, One)))
{
If (LEqual (ICBM, One))
{
Name (LBUF, Buffer (0x03)
{
0x00, 0x00, 0x00
})
CreateByteField (LBUF, Zero, LSTS)
CreateByteField (LBUF, 0x02, LDAT)
Store (SHID, LBUF)
If (LEqual (LSTS, Zero))
{
If (LEqual (LDAT, 0x1E))
{
Store (0x4E, TPVD)
}
If (LEqual (LDAT, Zero))
{
Store (0x53, TPVD)
}
}
Store (EHID, LBUF)
If (LEqual (LSTS, Zero))
{
Store (0x45, TPVD)
}
}
}
}
Device (TPD0)
{
Name (_ADR, Zero)// _ADR: Address
Name (IDAD, Zero)
Name (HID2, Zero)
Name (_HID, "SYNA2B60")// _HID: Hardware ID
Name (_CID, "PNP0C50")// _CID: Compatible ID
Name (_UID, One)// _UID: Unique ID
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
{
If (LEqual (Arg2, Zero))
{
If (LEqual (Arg1, One))
{
Return (Buffer (One)
{
0x03
})
}
Else
{
Return (Buffer (One)
{
0x00
})
}
}
If (LEqual (Arg2, One))
{
Return (IDAD)
}
Return (Buffer (One)
{
0x00
})
}
Else
{
Return (Buffer (One)
{
0x00
})
}
}
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (LEqual (TPVD, 0x53))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, Serialized)// _CRS: Current Resource Settings
{
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y3F)
{
0x00000000,
}
})
CreateDWordField (SBFI, \_SB.PCI0.I2C0.TPD0._CRS._Y3F._INT, INT1)// _INT: Interrupts
Store (INUM (0x0603000F), INT1)
Store (0x20, IDAD)
Return (ConcatenateResTemplate (SBFS, SBFI))
}
}
姹傚姪澶т浆銆傚府蹇 瑙︽懜鏉 鎼炰簡鏃犳暟閬嶄簡 灏辨槸鏃犺В 23年水窝,感谢有你 我是来抢楼的 不错不错,很好哦 水窝老用户,支持下 来顶下,攒一些窝币 :lol20年水粉 不错,支持下楼主 黑哥的论坛,要支持 不错不错,很好哦