Shelley Chen has uploaded this change for review.

View Change

soc/intel/alderlake: Fix CNVi assertions

In alderlake, the checks for CNVi functionality is in an assertion,
which causes the boot to stop if there is a mismatch. However, in the
meteorlake code, if we don't detect CNVi is enabled, it just disables
the CNVi wifi, bluetooth, etc. This seems to make sense and allows us
to enable CNVi bluetooth when necessary.

BUG=b:325084796
BRANCH=None
TEST=test image on both SKU1 and SKU2 and make sure that BT devices
are enumerated. Also, make sure that we can boot on both SKUs.

Change-Id: I822a4e360fde100b8289cacf10a01f6d97facbb4
Signed-off-by: Shelley Chen <shchen@google.com>
---
M src/soc/intel/alderlake/fsp_params.c
1 file changed, 13 insertions(+), 4 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/80504/1
diff --git a/src/soc/intel/alderlake/fsp_params.c b/src/soc/intel/alderlake/fsp_params.c
index 5edfbcc..adcaafd 100644
--- a/src/soc/intel/alderlake/fsp_params.c
+++ b/src/soc/intel/alderlake/fsp_params.c
@@ -832,10 +832,19 @@
s_cfg->CnviMode = is_devfn_enabled(PCH_DEVFN_CNVI_WIFI);
s_cfg->CnviBtCore = config->cnvi_bt_core;
s_cfg->CnviBtAudioOffload = config->cnvi_bt_audio_offload;
- /* Assert if CNVi BT is enabled without CNVi being enabled. */
- assert(s_cfg->CnviMode || !s_cfg->CnviBtCore);
- /* Assert if CNVi BT offload is enabled without CNVi BT being enabled. */
- assert(s_cfg->CnviBtCore || !s_cfg->CnviBtAudioOffload);
+ if (!s_cfg->CnviMode && s_cfg->CnviWifiCore) {
+ printk(BIOS_ERR, "CNVi WiFi is enabled without CNVi being enabled\n");
+ s_cfg->CnviWifiCore = 0;
+ }
+ if (!s_cfg->CnviBtCore && s_cfg->CnviBtAudioOffload) {
+ printk(BIOS_ERR, "BT offload is enabled without CNVi BT being enabled\n");
+ s_cfg->CnviBtAudioOffload = 0;
+ }
+ if (!s_cfg->CnviMode && s_cfg->CnviBtCore) {
+ printk(BIOS_ERR, "CNVi BT is enabled without CNVi being enabled\n");
+ s_cfg->CnviBtCore = 0;
+ s_cfg->CnviBtAudioOffload = 0;
+ }
}

static void fill_fsps_vmd_params(FSP_S_CONFIG *s_cfg,

To view, visit change 80504. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I822a4e360fde100b8289cacf10a01f6d97facbb4
Gerrit-Change-Number: 80504
Gerrit-PatchSet: 1
Gerrit-Owner: Shelley Chen <shchen@google.com>
Gerrit-MessageType: newchange