summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorSean Rhodes <sean@starlabs.systems>2024-07-31 20:52:27 +0100
committerSean Rhodes <sean@starlabs.systems>2024-10-11 08:32:25 +0000
commitdd5ff243113996b0648f52e6d0cfe7bbb41c781e (patch)
treeaa2ea99cc3ad3f9658cfdbb3fa5ebf4c369427ab /src/soc
parentabe2e62f62e5a5902efa8ca0f63fcf87e477bffc (diff)
soc/intel/cnvi: Add CNIP Method
This method is used to provision the CNVi, and ensure that it is in the correct state. Intel document #559910 details this. Change-Id: Id8a36a09c7beaf3ba8b29d3276bd9dc59420dab5 Signed-off-by: Sean Rhodes <sean@starlabs.systems> Reviewed-on: https://review.coreboot.org/c/coreboot/+/83713 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.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/cnvi/cnvi.c b/src/soc/intel/common/block/cnvi/cnvi.c
index 5899a94428..591dfd8857 100644
--- a/src/soc/intel/common/block/cnvi/cnvi.c
+++ b/src/soc/intel/common/block/cnvi/cnvi.c
@@ -358,6 +358,31 @@ static void cnvw_fill_ssdt(const struct device *dev)
acpigen_pop_len();
}
acpigen_pop_len();
+
+/*
+ * Method (CNIP, 0, NotSerialized)
+ * {
+ * If (^CNVW.VDID == 0xFFFFFFFF)
+ * {
+ * Return (Zero)
+ * } Else {
+ * Return (One)
+ * }
+ * }
+ */
+ acpigen_write_method("CNIP", 0);
+ {
+ acpigen_write_if_lequal_namestr_int("^CNVW.VDID", 0xffffffff);
+ {
+ acpigen_write_return_integer(0);
+ }
+ acpigen_write_else();
+ {
+ acpigen_write_return_integer(1);
+ }
+ acpigen_pop_len();
+ }
+ acpigen_pop_len();
}
static struct device_operations cnvi_wifi_ops = {