@Baio77 It turned out to be a simple fix. The culpit was that GPIO device in the unit #2 was not enabled by the generic "SSDT-GPI0.aml" patch used in my EFI. I had to use a different method, by setting GPEN =1, to enable it (as explained in the OpenCore guide, for my particular case). Also, I updated to the latest woodooI2C.kext. Now the touchpad worked!
Here is the updated SSDT-GPIO.aml, only works on unit #2 (it's BIOS ACPI code will enable GPIO if GPEN =1):
/* SSDT-GPIO.aml */
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "GPI0", 0x00000000)
{
External (GPEN, FieldUnitObj)
If (_OSI ("Darwin"))
{
\GPEN = One
}
}
For comparison, here is the generic patch, which works on unit #1, not unit #2 (#1's BIOS is different. Not 100% sure caused by the version difference, or hardware difference):
DefinitionBlock ("", "SSDT", 2, "hack", "GPI0", 0x00000000)
{
External (_SB_.PCI0.GPI0, DeviceObj)
Scope (_SB.PCI0.GPI0)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
}
@Baio77: The AlpsHID kext also worked, but GPIO must be enabled first.