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>
This commit is contained in:
Sean Rhodes 2024-07-31 20:52:27 +01:00
commit dd5ff24311

View file

@ -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 = {