From 78cc76d204bf0b3ce820fdc4669671580b3ac87c Mon Sep 17 00:00:00 2001 From: Kapil Porwal Date: Wed, 12 Apr 2023 10:30:48 +0530 Subject: 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 Change-Id: I5b4662c2a064f7c9074797c8a2541dcf1dd686fe Reviewed-on: https://review.coreboot.org/c/coreboot/+/74306 Reviewed-by: Eric Lai Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) --- src/soc/intel/meteorlake/chip.h | 3 +++ src/soc/intel/meteorlake/chipset.cb | 3 +++ src/soc/intel/meteorlake/fsp_params.c | 3 +++ 3 files changed, 9 insertions(+) (limited to 'src/soc') 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. */ -- cgit v1.2.3