summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorSean Rhodes <sean@starlabs.systems>2024-07-31 20:40:30 +0100
committerSean Rhodes <sean@starlabs.systems>2024-10-11 08:32:04 +0000
commitfe14d96b80c44f51d2b85e057d051fdb0935f389 (patch)
treeba0495f64c2d0d46d445e1fc0d25d2e0d492c6a1 /src/soc
parentbc0db40ed553afb24bef6ddc1754ee2408c247c2 (diff)
soc/intel/cnvw: Add GPEH Method
Add a general purpose handle to allow CNVi to be notified of state changes. Intel document #559910 details this. Change-Id: I36c98c525c99fb2b7b5ebd8b0e392e6626e97290 Signed-off-by: Sean Rhodes <sean@starlabs.systems> Reviewed-on: https://review.coreboot.org/c/coreboot/+/83710 Reviewed-by: Nicholas Sudsgaard <devel+coreboot@nsudsgaard.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/common/block/cnvi/cnvi.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/cnvi/cnvi.c b/src/soc/intel/common/block/cnvi/cnvi.c
index 9759b542af..fcfb03fd1b 100644
--- a/src/soc/intel/common/block/cnvi/cnvi.c
+++ b/src/soc/intel/common/block/cnvi/cnvi.c
@@ -287,6 +287,35 @@ static void cnvw_fill_ssdt(const struct device *dev)
}
acpigen_pop_len();
+/*
+ * Method (GPEH, 0, NotSerialized)
+ * {
+ * If ((VDID == 0xFFFFFFFF))
+ * {
+ * Return (Zero)
+ * }
+ * If ((PMES == One))
+ * {
+ * Notify (CNVW, 0x02) // Device Wake
+ * }
+ * }
+ */
+ acpigen_write_method("GPEH", 0);
+ {
+ acpigen_write_if_lequal_namestr_int("VDID", 0xffffffff);
+ {
+ acpigen_write_return_integer(0);
+ }
+ acpigen_pop_len();
+
+ acpigen_write_if_lequal_namestr_int("PMES", 1);
+ {
+ acpigen_notify("CNVW", 2);
+ }
+ acpigen_pop_len();
+ }
+ acpigen_pop_len();
+
acpigen_write_scope_end();
}