From abe2e62f62e5a5902efa8ca0f63fcf87e477bffc Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Wed, 31 Jul 2024 20:47:57 +0100 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/83712 Tested-by: build bot (Jenkins) Reviewed-by: Nicholas Sudsgaard --- src/soc/intel/common/block/cnvi/cnvi.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/soc/intel/common') 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 = { -- cgit v1.2.3