Subrata Banik has submitted this change. ( https://review.coreboot.org/c/coreboot/+/79765?usp=email )
(
2 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: mb/google/rex/var/karis: Enhance CNVi and PCIe switching ......................................................................
mb/google/rex/var/karis: Enhance CNVi and PCIe switching
1. Set PCIe related GPIOs to NC if fw_config use "WIFI_CNVI". 2. Set CNVi related GPIOs to NC if fw_config use "WIFI_PCIE". 3. Remove "ALC5650_NO_AMP_I2S" case in fw_config_gpio_padbased_override(). bt_i2s_enable_pads should not relevant to audio codec/amp, and it is already enabled in "WIFI_CNVI" case.
BUG=b:312099281 TEST=Build and test on karis
Change-Id: Ib1a32f1a38ae33cf992b80a3408aa8e2fa3ddab0 Signed-off-by: Tyler Wang tyler.wang@quanta.corp-partner.google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/79765 Reviewed-by: Subrata Banik subratabanik@google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/mainboard/google/rex/variants/karis/fw_config.c 1 file changed, 21 insertions(+), 6 deletions(-)
Approvals: Subrata Banik: Looks good to me, approved build bot (Jenkins): Verified
diff --git a/src/mainboard/google/rex/variants/karis/fw_config.c b/src/mainboard/google/rex/variants/karis/fw_config.c index ae74a42..6dbf31d 100644 --- a/src/mainboard/google/rex/variants/karis/fw_config.c +++ b/src/mainboard/google/rex/variants/karis/fw_config.c @@ -35,12 +35,29 @@ };
static const struct pad_config cnvi_bt_disable_pads[] = { - /* GPP_F04 : [] ==> CNV_RF_RST_L */ + /* GPP_F00 : [] ==> CNV_BRI_DT_R */ + PAD_NC(GPP_F00, NONE), + /* GPP_F01 : [] ==> CNV_BRI_RSP */ + PAD_NC(GPP_F01, NONE), + /* GPP_F02 : [] ==> CNV_RGI_DT_Rl */ + PAD_NC(GPP_F02, NONE), + /* GPP_F03 : [] ==> CNV_RGI_RSP */ + PAD_NC(GPP_F03, NONE), + /* GPP_F04 : [] ==> CNV_RF_RST_L */ PAD_NC(GPP_F04, NONE), - /* GPP_F05 : [] ==> CNV_CLKREQ */ + /* GPP_F05 : [] ==> CNV_CLKREQ */ PAD_NC(GPP_F05, NONE), };
+static const struct pad_config discrete_bt_disable_pads[] = { + /* GPP_S01 : [] ==> SDW_HP_DATA_WLAN_PCM_SYNC */ + PAD_NC(GPP_S01, NONE), + /* GPP_S02 : [] ==> DMIC_SOC_CLK0_WLAN_PCM_OUT */ + PAD_NC(GPP_S02, NONE), + /* GPP_D21 : [] ==> WLAN_CLKREQ_ODLl */ + PAD_NC(GPP_D21, NONE), +}; + static const struct pad_config bt_i2s_enable_pads[] = { /* GPP_V30 : [] ==> BT_I2S_BCLK */ PAD_CFG_NF(GPP_VGPIO30, NONE, DEEP, NF2), @@ -81,13 +98,11 @@ printk(BIOS_INFO, "Configure GPIOs for no FP module.\n"); GPIO_PADBASED_OVERRIDE(padbased_table, fp_disable_pads); } - if (fw_config_probe(FW_CONFIG(AUDIO, ALC5650_NO_AMP_I2S))) { - printk(BIOS_INFO, "Configure GPIOs for BT offload mode.\n"); - GPIO_PADBASED_OVERRIDE(padbased_table, bt_i2s_enable_pads); - } if (fw_config_probe(FW_CONFIG(WIFI_TYPE, WIFI_CNVI))) { printk(BIOS_INFO, "Configure GPIOs for CNVi WIFI/BT module.\n"); GPIO_PADBASED_OVERRIDE(padbased_table, bt_i2s_enable_pads); + printk(BIOS_INFO, "Disable GPIOs for PCIe WIFI/BT module.\n"); + GPIO_PADBASED_OVERRIDE(padbased_table, discrete_bt_disable_pads); } if (fw_config_probe(FW_CONFIG(WIFI_TYPE, WIFI_PCIE))) { printk(BIOS_INFO, "Configure GPIOs for discrete WIFI/BT module.\n");