summaryrefslogtreecommitdiff
path: root/src/soc/intel/common/block
diff options
context:
space:
mode:
authorSean Rhodes <sean@starlabs.systems>2024-07-31 20:47:57 +0100
committerSean Rhodes <sean@starlabs.systems>2024-10-11 08:32:18 +0000
commitabe2e62f62e5a5902efa8ca0f63fcf87e477bffc (patch)
tree6aa1fb79cf66f5bd4d517500c91b9604f85125d7 /src/soc/intel/common/block
parentb0128b18b58699ee3923314e6a95d6eadcd11544 (diff)
soc/intel/cnvi: Add CFLR Method
This method is used to limit frequencies on CNVi. Intel document #559910 details this. Change-Id: Idc4c35e71076fd31786212995472bb8d58c961de Signed-off-by: Sean Rhodes <sean@starlabs.systems> Reviewed-on: https://review.coreboot.org/c/coreboot/+/83712 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nicholas Sudsgaard <devel+coreboot@nsudsgaard.com>
Diffstat (limited to 'src/soc/intel/common/block')
-rw-r--r--src/soc/intel/common/block/cnvi/cnvi.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/cnvi/cnvi.c b/src/soc/intel/common/block/cnvi/cnvi.c
index eff5044907..5899a94428 100644
--- a/src/soc/intel/common/block/cnvi/cnvi.c
+++ b/src/soc/intel/common/block/cnvi/cnvi.c
@@ -339,6 +339,25 @@ static void cnvw_fill_ssdt(const struct device *dev)
acpigen_pop_len();
acpigen_write_scope_end();
+
+/*
+ * Method (CFLR, 0, NotSerialized)
+ * {
+ * If (^CNVW.WFLR == One)
+ * {
+ * ^CNVW.WIFR = One
+ * }
+ * }
+ */
+ acpigen_write_method("CFLR", 0);
+ {
+ acpigen_write_if_lequal_namestr_int("^CNVW.WFLR", 1);
+ {
+ acpigen_write_store_int_to_namestr(1, "^CNVW.WIFR");
+ }
+ acpigen_pop_len();
+ }
+ acpigen_pop_len();
}
static struct device_operations cnvi_wifi_ops = {