Shelley Chen has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/80504?usp=email )
Change subject: soc/intel/alderlake: Fix CNVi assertions ......................................................................
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,