summaryrefslogtreecommitdiff
path: root/src/mainboard/system76/adl-p/acpi/sleep.asl
blob: 83888f3e59e9b26ef37d9b5e26255b3cf25a20c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* SPDX-License-Identifier: GPL-2.0-only */

#include <intelblocks/gpio.h>

Method (PGPM, 1, Serialized)
{
	For (Local0 = 0, Local0 < 6, Local0++)
	{
		\_SB.PCI0.CGPM (Local0, Arg0)
	}
}

/*
 * Method called from _PTS prior to system sleep state entry
 * Enables dynamic clock gating for all 5 GPIO communities
 */
Method (MPTS, 1, Serialized)
{
	\_SB.PCI0.LPCB.EC0.PTS (Arg0)
	PGPM (MISCCFG_GPIO_PM_CONFIG_BITS)
}

/*
 * Method called from _WAK prior to system sleep state wakeup
 * Disables dynamic clock gating for all 5 GPIO communities
 */
Method (MWAK, 1, Serialized)
{
	PGPM (0)
	\_SB.PCI0.LPCB.EC0.WAK (Arg0)
}

/*
 * S0ix Entry/Exit Notifications
 * Called from \_SB.PEPD._DSM
 */
Method (MS0X, 1, Serialized)
{
	If (Arg0 == 1) {
		/* S0ix Entry */
		PGPM (MISCCFG_GPIO_PM_CONFIG_BITS)
	} Else {
		/* S0ix Exit */
		PGPM (0)
	}
}