Tyler Wang has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/79210?usp=email )
Change subject: mb/google/rex/var/karis: Enable audio BT offload ......................................................................
mb/google/rex/var/karis: Enable audio BT offload
BUG=b:312099281 TEST=none
Change-Id: Icd2c42261fdcfa5aac17be28fde3804348ddf9b4 Signed-off-by: Tyler Wang tyler.wang@quanta.corp-partner.google.com --- M src/mainboard/google/rex/variants/karis/fw_config.c M src/mainboard/google/rex/variants/karis/variant.c 2 files changed, 29 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/10/79210/1
diff --git a/src/mainboard/google/rex/variants/karis/fw_config.c b/src/mainboard/google/rex/variants/karis/fw_config.c index 7211d8a..4209407 100644 --- a/src/mainboard/google/rex/variants/karis/fw_config.c +++ b/src/mainboard/google/rex/variants/karis/fw_config.c @@ -8,6 +8,25 @@
#define GPIO_PADBASED_OVERRIDE(b, a) gpio_padbased_override(b, a, ARRAY_SIZE(a))
+static const struct pad_config bt_i2s_enable_pads[] = { + /* GPP_V30 : [] ==> BT_I2S_BCLK */ + PAD_CFG_NF(GPP_VGPIO30, NONE, DEEP, NF2), + /* GPP_V31 : [] ==> BT_I2S_SYNC */ + PAD_CFG_NF(GPP_VGPIO31, NONE, DEEP, NF2), + /* GPP_V32 : [] ==> BT_I2S_SDO */ + PAD_CFG_NF(GPP_VGPIO32, NONE, DEEP, NF2), + /* GPP_V33 : [] ==> BT_I2S_SDI */ + PAD_CFG_NF(GPP_VGPIO33, NONE, DEEP, NF2), + /* GPP_V34 : [] ==> SSP2_SCLK */ + PAD_CFG_NF(GPP_VGPIO34, NONE, DEEP, NF1), + /* GPP_V35 : [] ==> SSP2_SFRM */ + PAD_CFG_NF(GPP_VGPIO35, NONE, DEEP, NF1), + /* GPP_V36 : [] ==> SSP_TXD */ + PAD_CFG_NF(GPP_VGPIO36, NONE, DEEP, NF1), + /* GPP_V37 : [] ==> SSP_RXD */ + PAD_CFG_NF(GPP_VGPIO37, NONE, DEEP, NF1), +}; + static const struct pad_config fp_disable_pads[] = { /* GPP_B11 : [] ==> EN_FP_PWR */ PAD_NC(GPP_B11, NONE), @@ -42,4 +61,8 @@ 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); + } } diff --git a/src/mainboard/google/rex/variants/karis/variant.c b/src/mainboard/google/rex/variants/karis/variant.c index 308eea6..ecfd4f8 100644 --- a/src/mainboard/google/rex/variants/karis/variant.c +++ b/src/mainboard/google/rex/variants/karis/variant.c @@ -9,3 +9,9 @@ { return get_wifi_sar_fw_config_filename(FW_CONFIG_FIELD(WIFI_TYPE)); } + +void variant_update_soc_chip_config(struct soc_intel_meteorlake_config *config) +{ + if (fw_config_probe(FW_CONFIG(AUDIO, ALC5650_NO_AMP_I2S))) + config->cnvi_bt_audio_offload = true; +}