微信扫一扫 分享朋友圈

已有 2638 人浏览分享

开启左侧

I2C瑙︽懜鏉 姹傚姪

[复制链接]
2638 50
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))
            }
        }
姹傚姪澶т浆銆傚府蹇 瑙︽懜鏉 鎼炰簡鏃犳暟閬嶄簡 灏辨槸鏃犺В

评论 50

bboo1218  高级会员  发表于 2025-2-26 14:28 | 显示全部楼层
23年水窝,感谢有你

举报 使用道具

回复 支持 反对
darling619  高级会员  发表于 2025-2-26 15:30 | 显示全部楼层
我是来抢楼的

举报 使用道具

回复 支持 反对
vevelog  金牌会员  发表于 2025-2-26 16:31 | 显示全部楼层
不错不错,很好哦

举报 使用道具

回复 支持 反对
xiaoxin3  高级会员  发表于 2025-2-26 17:31 | 显示全部楼层
水窝老用户,支持下

举报 使用道具

回复 支持 反对
zhulinjushi  高级会员  发表于 2025-2-26 18:32 | 显示全部楼层
来顶下,攒一些窝币

举报 使用道具

回复 支持 反对
daihangzhou  高级会员  发表于 2025-2-26 18:32 | 显示全部楼层
20年水粉

举报 使用道具

回复 支持 反对
fhgg888  高级会员  发表于 2025-2-26 19:32 | 显示全部楼层
不错,支持下楼主

举报 使用道具

回复 支持 反对
xiaoxin5  高级会员  发表于 2025-2-26 20:33 | 显示全部楼层
黑哥的论坛,要支持

举报 使用道具

回复 支持 反对
seeker  高级会员  发表于 2025-2-26 21:33 | 显示全部楼层
不错不错,很好哦

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

21

粉丝

19

主题
精彩推荐
热门资讯
    网友晒图
      图文推荐
        • 微信公众平台

        • 扫描访问手机版

        Archiver|手机版|小黑屋|水窝ibm

        GMT+8, 2025-6-28 02:03 , Processed in 0.092752 second(s), 24 queries .

        Powered by Discuz! X3.5

        © 2001-2022 Comsenz Inc.