blob: 1488a0a020321f0cdb85579e264f56b0655bd656 [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{
Felix Singerfa06bcb2022-12-26 09:32:47 +01005 Name (PDET, 0)
Tobias Diedrichcee930a2017-02-12 14:09:06 +01006 Method (PNOT, 2, Serialized) {
Felix Singer3c9291b2022-12-16 02:43:56 +01007 Local0 = Arg0 << Arg1
Felix Singereaa31d92022-12-25 16:39:49 +01008 Local1 = ~(1 << Arg1)
Felix Singerd2527762022-12-16 07:54:16 +01009 PDET = Local0 | (Local1 & PDET)
Felix Singerfa06bcb2022-12-26 09:32:47 +010010 If (PDET == 0) {
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 Singerdfbb6342022-12-26 08:39:35 +010020 Local0 = 1 << Arg1
Felix Singerfa06bcb2022-12-26 09:32:47 +010021 If (Arg0 == 0) {
Felix Singereaa31d92022-12-25 16:39:49 +010022 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}