blob: 7396c02bc39a05281f96deba16691d4d6a5332cd [file] [log] [blame]
Angel Pons89ab2502020-04-03 01:22:28 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Tobias Diedrichcee930a2017-02-12 14:09:06 +01002
3Scope (_GPE)
4{
Tobias Diedrichcee930a2017-02-12 14:09:06 +01005 Name (PDET, Zero)
6 Method (PNOT, 2, Serialized) {
Felix Singer3c9291b2022-12-16 02:43:56 +01007 Local0 = Arg0 << Arg1
Felix Singer372573e2022-12-16 03:49:55 +01008 Not(One << Arg1, Local1)
Felix Singerd2527762022-12-16 07:54:16 +01009 PDET = Local0 | (Local1 & PDET)
Felix Singerc1913702022-12-11 21:01:06 +010010 If (PDET == Zero) {
Tobias Diedrichcee930a2017-02-12 14:09:06 +010011 // Palm removed
12 \_SB.PCI0.LPCB.EC0.HKEY.MHKQ (0x60B1)
13 } Else {
14 // Palm detected
15 \_SB.PCI0.LPCB.EC0.HKEY.MHKQ (0x60B0)
16 }
17 }
18
Martin Roth2f0bbbf2019-05-11 12:51:44 -060019 Method (TINV, 2, Serialized) {
Felix Singer3c9291b2022-12-16 02:43:56 +010020 Local0 = One << Arg1
Felix Singerc1913702022-12-11 21:01:06 +010021 If (Arg0 == Zero) {
Martin Roth2f0bbbf2019-05-11 12:51:44 -060022 Not (Local0, Local0)
Felix Singer35e65a82022-12-16 07:11:17 +010023 GIV0 &= Local0
Martin Roth2f0bbbf2019-05-11 12:51:44 -060024 } Else {
Felix Singer86bc2e72022-12-16 04:40:39 +010025 GIV0 |= Local0
Martin Roth2f0bbbf2019-05-11 12:51:44 -060026 }
27 }
28
Tobias Diedrichcee930a2017-02-12 14:09:06 +010029 /* Palm detect sensor 1 */
30 Method (_L12, 0, NotSerialized) {
31 // Invert trigger
Martin Roth2f0bbbf2019-05-11 12:51:44 -060032 TINV (GP02, 2)
Tobias Diedrichcee930a2017-02-12 14:09:06 +010033
34 PNOT (GP02, 0)
35 }
36
37 /* Palm detect sensor 2 */
38 Method (_L14, 0, NotSerialized) {
39 // Invert trigger
Martin Roth2f0bbbf2019-05-11 12:51:44 -060040 TINV (GP04, 4)
Tobias Diedrichcee930a2017-02-12 14:09:06 +010041
42 PNOT (GP04, 1)
43 }
44}