soc/intel/cmn/blk/cnvi: Use WFDL field for Wi-Fi PLDR reset delay

Introduce a new ACPI field, "WFDL", to specify the Power Level Device
Reset (PLDR) delay for Wi-Fi operations. This replaces the previously
hardcoded delay value, allowing for easier adjustment and configuration
of the PLDR timing in the future. By utilizing a named field, this
change facilitates potential updates to delay configurations.

Change-Id: I0f243ccf404afb83554136a3a310a98d6100d8ff
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/88116
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Bora Guvendik <bora.guvendik@intel.corp-partner.google.com>
This commit is contained in:
Jeremy Compostella 2025-06-16 17:15:34 -07:00 committed by Jérémy Compostella
commit 1be1ccb42e

View file

@ -112,6 +112,11 @@ static void cnvw_fill_ssdt(const struct device *dev)
*/
acpigen_write_name_integer("RSTT", 0);
/*
* Wi-Fi PLDR request delay (default 10 ms)
*/
acpigen_write_name_integer("WFDL", 10);
/*
* PowerResource (CNVP, 0x00, 0x0000)
* {
@ -180,7 +185,7 @@ static void cnvw_fill_ssdt(const struct device *dev)
* }
*
* \_SB.PCI0.PCRO (PID_CNVI, CNVI_ABORT_PLDR, 0x03)
* Sleep (0x0A)
* Sleep (WFDL)
* Local0 = \_SB.PCI0.PCRR(PID_CNVI, CNVI_ABORT_PLDR)
* Local1 = (Local0 & CNVI_ABORT_REQUEST)
* Local3 = (Local0 & CNVI_READY)
@ -319,7 +324,8 @@ static void cnvw_fill_ssdt(const struct device *dev)
acpigen_write_integer(CNVI_ABORT_PLDR);
acpigen_write_integer(CNVI_ABORT_REQUEST | CNVI_ABORT_ENABLE);
acpigen_write_sleep(10);
acpigen_emit_ext_op(SLEEP_OP);
acpigen_emit_namestring("WFDL");
acpigen_write_store();
acpigen_emit_namestring("\\_SB.PCI0.PCRR");