Hi All,

I'm looking for some guidance please. I purchased a generic tablet with intel cpu and Windows 11. I can run Linux no problem at all, but fails to detect a goodix GXTP7386. I have tried to use HW-PROBE to see more info about the device is detected under linux, but failed detection. see Probe #a7e3223fa6 of Tactus GeoPad 220.

can you advise if I can do anything else with this software for a low level detection or something?  The only info I have about the device is from windows device manager under Human Interface Devices touch screen HID\VEN_GXTP&DEV_7386&cOL1   HID/VID_27C6&UP:000D_U:0004.  To me the first part of the device id matches which is known under linux, but does not match the known 2nd part for the goodix 7386 device.

thanks

Luke

ok figured out its a ic2 device i2c-gxtp7386:00 and dumped the bios DSDT table, but still trying to figure out how to use the information for this pin?

Device (TCS4)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (_HID, "GXTP7386")  // _HID: Hardware ID
                    Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                    Name (_S0W, Zero)  // _S0W: S0 Device Wake State
                    Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                    {
                    }

                    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                    {
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((TCPL == 0x04))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Name (WBUF, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x005D, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            GpioInt (Edge, ActiveLow, Exclusive, PullDefault, 0x0000,
                                "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x001A
                                }
                            GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                                "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x003A
                                }
                        })
                        Return (WBUF) /* \_SB_.PCI0.I2C4.TCS4._CRS.WBUF */
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Switch (ToInteger (Arg1))
                                    {
                                        Case (One)
                                        {
                                            Return (Buffer (One)
                                            {
                                                 0x03                                             // .
                                            })
                                        }
                                        Default
                                        {
                                            Return (Buffer (One)
                                            {
                                                 0x00                                             // .
                                            })
                                        }

                                    }
                                }
                                Case (One)
                                {
                                    Return (One)
                                }
                                Default
                                {
                                    Return (Zero)
                                }

                            }
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }
                }
            }