- Joined
- Nov 8, 2014
- Messages
- 130
- Mac
- Classic Mac
- Mobile Phone
Remove the contents of the `_INI` method of your `ETPD`.
Thanks OP you are a legendRemove the contents of the `_INI` method of your `ETPD`.
No worries, now go and file a complaint with ASUS asking them why they write such terrible DSDTs.Thanks OP you are a legend
Remove the contents of the `_INI` method of your `ETPD`.
Thanks OP you are a legend
No worries, now go and file a complaint with ASUS asking them why they write such terrible DSDTs.
Yes. On the System Report page the Synaptics touchscreen is under the USB (Apple USB2.0 HUB) tab (although I am not quite sure about it, but it should be). Also I have a Synaptics Touch pad which seems to be a PS2 device.Is the touchscreen USB?
Yes. This would be a better way to achieve “that”.Maybe should use _OSI->XOSI and SSDT-XOSI.aml and emulate "Windows 2012" in implementation of XOSI method.
Scope (_SB.PCI0.I2C1)
{
Device (ETPD)
{
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, _Y34, Exclusive,
)
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
{
0x0000005F,
}
})
CreateWordField (SBFB, \_SB.PCI0.I2C1.ETPD._Y34._ADR, BADR) // _ADR: Address
Name (_ADR, One) // _ADR: Address
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (ELAN)
{
Store (0x15, BADR)
Return ("ELAN1000")
}
If (FOLT)
{
Store (0x15, BADR)
Return ("FTE1001")
}
Return ("ELAN1000")
}
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Scope (_SB.PCI0.I2C1)
{
Device (TPL1)
{
Name (HID2, Zero)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, _Y28, Exclusive,
)
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y29)
{
0x00000000,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (LLess (OSYS, 0x07DC))
{
Return (SBFI)
}
If (LEqual (SDM1, Zero))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}
Return (ConcatenateResTemplate (SBFB, SBFI))
}
From the guide:I'm having problems with the GPIO Pinning method.
According to Windows, my ACPI ID is ETPD under I2C1
Code:Scope (_SB.PCI0.I2C1) { Device (ETPD) { Name (SBFB, ResourceTemplate () { I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, _Y34, Exclusive, ) }) Name (SBFI, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x0000005F, } }) CreateWordField (SBFB, \_SB.PCI0.I2C1.ETPD._Y34._ADR, BADR) // _ADR: Address Name (_ADR, One) // _ADR: Address Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If (ELAN) { Store (0x15, BADR) Return ("ELAN1000") } If (FOLT) { Store (0x15, BADR) Return ("FTE1001") } Return ("ELAN1000") }
But, in the guide, the code to look for:
Code:Name (SBFG, ResourceTemplate () { GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } })
is actually in Device TPL1 under 12C1, not Device ETPD
Code:Scope (_SB.PCI0.I2C1) { Device (TPL1) { Name (HID2, Zero) Name (SBFB, ResourceTemplate () { I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, _Y28, Exclusive, ) }) Name (SBFG, ResourceTemplate () { GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } }) Name (SBFI, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y29) { 0x00000000, } })
What happens in that case?
Also, in step 2c of the GPIO Pinning guide,
The code to look for:
Code:Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (LLess (OSYS, 0x07DC)) { Return (SBFI) } If (LEqual (SDM1, Zero)) { Return (ConcatenateResTemplate (SBFB, SBFG)) } Return (ConcatenateResTemplate (SBFB, SBFI)) }
is again under Device TPL1 not ETPD.
And I happen to have both entries "Return (ConcatenateResTemplate (SBFB, SBFG))" and "Return (ConcatenateResTemplate (SBFB, SBFI))". The guide does not cover if both entries are present. Well-pinned, or not?
My hexadecimal APIC pin number is 0x5f
The code in TPL1 only applies to TPL1, not to ETPD.If you cannot find such a Name then we shall say that your device is unpinned.
...
If your device is unpinned, proceed to Step 2b.
Then your device is well-pinned.Return (ConcatenateResTemplate (SBFB, SBFG))
The I2C controllers patch is for SKL only. You seem to have a Kabylake R device, by your profile.Hi,
Running an ELAN 1300 touchpad on an ASUS ux430ua and cant get it to work
Not completely sure if this is how it's supposed to look, im using the VoodooI2CHID satellite, not sure what I need to do, I attached my dsdt below
I have
ASUS N55Sl/vivobook battery
Shutdown fix v2
I2C controllers
gpio controller enable
windows 10 patch
ASUS Battery Patch
ASUS Fn brightness keys patch
Zenbook lidsleep and screenbacklight patch
I can get it working with an older driver, but it acts as a mouse not a trackpad and doubleclicks if i hold it for more than a second, no fancy features either only left and right click
Any help appriciated thank you