aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKapil Porwal <kapilporwal@google.com>2023-04-12 10:30:48 +0530
committerFelix Held <felix-coreboot@felixheld.de>2023-04-13 13:32:27 +0000
commit78cc76d204bf0b3ce820fdc4669671580b3ac87c (patch)
treeea77eb4615226b8fc1cd2e3c4506cf420ebec39b
parent02b39efca4073c61a68b6ef9d48bcb1c613e40b3 (diff)
soc/intel/meteorlake: Hook up UPD CnviWifiCore
Hook the newly created/exposed CnviWifiCore UPD up as a chip driver. Enable this option by default to maintain the existing behavior. BUG=b:270985197 TEST=Verified by enabling/disabling the UPD on google/rex Signed-off-by: Kapil Porwal <kapilporwal@google.com> Change-Id: I5b4662c2a064f7c9074797c8a2541dcf1dd686fe Reviewed-on: https://review.coreboot.org/c/coreboot/+/74306 Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com> Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/soc/intel/meteorlake/chip.h3
-rw-r--r--src/soc/intel/meteorlake/chipset.cb3
-rw-r--r--src/soc/intel/meteorlake/fsp_params.c3
3 files changed, 9 insertions, 0 deletions
diff --git a/src/soc/intel/meteorlake/chip.h b/src/soc/intel/meteorlake/chip.h
index d4abed88c2..dbe5eb1c40 100644
--- a/src/soc/intel/meteorlake/chip.h
+++ b/src/soc/intel/meteorlake/chip.h
@@ -242,6 +242,9 @@ struct soc_intel_meteorlake_config {
*/
uint8_t serial_io_gspi_cs_state[CONFIG_SOC_INTEL_COMMON_BLOCK_GSPI_MAX];
+ /* CNVi WiFi Core Enable/Disable */
+ bool cnvi_wifi_core;
+
/* CNVi BT Core Enable/Disable */
bool cnvi_bt_core;
diff --git a/src/soc/intel/meteorlake/chipset.cb b/src/soc/intel/meteorlake/chipset.cb
index 0962a7cbb2..3af284c1a1 100644
--- a/src/soc/intel/meteorlake/chipset.cb
+++ b/src/soc/intel/meteorlake/chipset.cb
@@ -18,6 +18,9 @@ chip soc/intel/meteorlake
# putting it under register "common_soc_config" in overridetree.cb file.
register "common_soc_config.pch_thermal_trip" = "130"
+ # Enable CNVi WiFi
+ register "cnvi_wifi_core" = "true"
+
device domain 0 on
device pci 00.0 alias system_agent on end
device pci 01.0 alias pcie_rp12 off end
diff --git a/src/soc/intel/meteorlake/fsp_params.c b/src/soc/intel/meteorlake/fsp_params.c
index d345f1b27d..4127ff7628 100644
--- a/src/soc/intel/meteorlake/fsp_params.c
+++ b/src/soc/intel/meteorlake/fsp_params.c
@@ -562,8 +562,11 @@ static void fill_fsps_cnvi_params(FSP_S_CONFIG *s_cfg,
{
/* CNVi */
s_cfg->CnviMode = is_devfn_enabled(PCI_DEVFN_CNVI_WIFI);
+ s_cfg->CnviWifiCore = config->cnvi_wifi_core;
s_cfg->CnviBtCore = config->cnvi_bt_core;
s_cfg->CnviBtAudioOffload = config->cnvi_bt_audio_offload;
+ /* Assert if CNVi WiFi is enabled without CNVi being enabled. */
+ assert(s_cfg->CnviMode || !s_cfg->CnviWifiCore);
/* 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. */