mb/google/nissa/var/riven: enable WIFI SAR

According to the CL:chrome-internal:7651905,
Riven will use the fw_config to separate SAR setting.

CNVI + ID_0 --> wifi_sar_0.hex for WIFI6
PCIE + ID_1 --> wifi_sar_9.hex for WIFI7

BUG=b:366060274
TEST=build, enabled iwlwifi debug, and check dmesg as below.
iwl_sar_fill_table   Chain[0]:
iwl_sar_fill_table     Band[0] = 132 * .125dBm
iwl_sar_fill_table     Band[1] = 136 * .125dBm
iwl_sar_fill_table     Band[2] = 136 * .125dBm
iwl_sar_fill_table     Band[3] = 136 * .125dBm
iwl_sar_fill_table     Band[4] = 136 * .125dBm
iwl_sar_fill_table     Band[5] = 144 * .125dBm
iwl_sar_fill_table     Band[6] = 144 * .125dBm
iwl_sar_fill_table     Band[7] = 144 * .125dBm
iwl_sar_fill_table     Band[8] = 144 * .125dBm
iwl_sar_fill_table     Band[9] = 144 * .125dBm
iwl_sar_fill_table     Band[10] = 144 * .125dBm
iwl_sar_fill_table   Chain[1]:
iwl_sar_fill_table     Band[0] = 132 * .125dBm
iwl_sar_fill_table     Band[1] = 136 * .125dBm
iwl_sar_fill_table     Band[2] = 136 * .125dBm
iwl_sar_fill_table     Band[3] = 136 * .125dBm
iwl_sar_fill_table     Band[4] = 136 * .125dBm
iwl_sar_fill_table     Band[5] = 144 * .125dBm
iwl_sar_fill_table     Band[6] = 144 * .125dBm
iwl_sar_fill_table     Band[7] = 144 * .125dBm
iwl_sar_fill_table     Band[8] = 144 * .125dBm
iwl_sar_fill_table     Band[9] = 144 * .125dBm
iwl_sar_fill_table     Band[10] = 144 * .125dBm

Cq-Depend: chrome-internal:7651905
Change-Id: I647d64a008991a7a20791b2c87ea6308af6bb82e
Signed-off-by: David Wu <david_wu@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84339
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
David Wu 2024-09-12 19:24:00 +08:00 committed by Felix Held
commit c6493d3b80
3 changed files with 27 additions and 0 deletions

View file

@ -473,6 +473,7 @@ config BOARD_GOOGLE_REDRIX4ES
config BOARD_GOOGLE_RIVEN
select BOARD_GOOGLE_BASEBOARD_NISSA
select CHROMEOS_WIFI_SAR if CHROMEOS
select DRIVERS_GENERIC_GPIO_KEYS
select DRIVERS_INTEL_MIPI_CAMERA
select HAVE_WWAN_POWER_SEQUENCE

View file

@ -8,6 +8,10 @@ fw_config
option STYLUS_ABSENT 0
option STYLUS_PRESENT 1
end
field WIFI_SAR_ID 4 6
option ID_0 0
option ID_1 1
end
field WIFI_TYPE 7
option WIFI_CNVI 0
option WIFI_PCIE 1

View file

@ -2,6 +2,28 @@
#include <baseboard/variants.h>
#include <boardid.h>
#include <fw_config.h>
#include <sar.h>
#include <stdio.h>
const char *get_wifi_sar_cbfs_filename(void)
{
uint64_t type = fw_config_get_field(FW_CONFIG_FIELD(WIFI_TYPE));
uint64_t sar_id = fw_config_get_field(FW_CONFIG_FIELD(WIFI_SAR_ID));
static char filename[20];
if (type == UNDEFINED_FW_CONFIG || sar_id == UNDEFINED_FW_CONFIG) {
printk(BIOS_WARNING, "fw_config unprovisioned, set sar filename to NULL\n");
return NULL;
}
printk(BIOS_INFO, "Use wifi_sar_%lld.hex.\n", type << 3 | sar_id);
if (snprintf(filename, sizeof(filename), "wifi_sar_%lld.hex", type << 3 | sar_id) < 0) {
printk(BIOS_ERR, "Error occurred with snprintf, set sar filename to NULL\n");
return NULL;
}
return filename;
}
void variant_update_soc_chip_config(struct soc_intel_alderlake_config *config)
{