Try to use GPIO PM modes

Change-Id: I97a9ecabf2839e29d00a76db0c5b17db99965ee3
This commit is contained in:
Jeremy Soller
2020-11-23 20:45:41 -07:00
parent bd6bbc3655
commit 7f543c99f8
4 changed files with 90 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#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)
{
PGPM (MISCCFG_ENABLE_GPIO_PM_CONFIG)
}
/*
* 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)
}
/*
* S0ix Entry/Exit Notifications
* Called from \_SB.PEPD._DSM
*/
Method (MS0X, 1, Serialized)
{
If (Arg0 == 1) {
/* S0ix Entry */
PGPM (MISCCFG_ENABLE_GPIO_PM_CONFIG)
} Else {
/* S0ix Exit */
PGPM (0)
}
}

View File

@@ -5,6 +5,7 @@
#include <ec/system76/ec/acpi/ec.asl> #include <ec/system76/ec/acpi/ec.asl>
Scope (\_SB) { Scope (\_SB) {
#include "gpio.asl"
#include "sleep.asl" #include "sleep.asl"
Scope (PCI0) { Scope (PCI0) {
#include "backlight.asl" #include "backlight.asl"

View File

@@ -0,0 +1,44 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#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)
{
PGPM (MISCCFG_ENABLE_GPIO_PM_CONFIG)
}
/*
* 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)
}
/*
* S0ix Entry/Exit Notifications
* Called from \_SB.PEPD._DSM
*/
Method (MS0X, 1, Serialized)
{
If (Arg0 == 1) {
/* S0ix Entry */
PGPM (MISCCFG_ENABLE_GPIO_PM_CONFIG)
} Else {
/* S0ix Exit */
PGPM (0)
}
}

View File

@@ -5,6 +5,7 @@
#include <ec/system76/ec/acpi/ec.asl> #include <ec/system76/ec/acpi/ec.asl>
Scope (\_SB) { Scope (\_SB) {
#include "gpio.asl"
#include "sleep.asl" #include "sleep.asl"
Scope (PCI0) { Scope (PCI0) {
#include "backlight.asl" #include "backlight.asl"