diff options
author | Sean Rhodes <sean@starlabs.systems> | 2024-07-31 20:52:27 +0100 |
---|---|---|
committer | Sean Rhodes <sean@starlabs.systems> | 2024-10-11 08:32:25 +0000 |
commit | dd5ff243113996b0648f52e6d0cfe7bbb41c781e (patch) | |
tree | aa2ea99cc3ad3f9658cfdbb3fa5ebf4c369427ab /src/soc/intel/common/block | |
parent | abe2e62f62e5a5902efa8ca0f63fcf87e477bffc (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/intel/common/block')
-rw-r--r-- | src/soc/intel/common/block/cnvi/cnvi.c | 25 |
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 = { |