Subrata Banik has submitted this change. ( https://review.coreboot.org/c/coreboot/+/85000?usp=email )
Change subject: mb/google/nissa/var/rull: Change padbased_override to rtd3 of wifi ......................................................................
mb/google/nissa/var/rull: Change padbased_override to rtd3 of wifi
The previous method made cnvi wifi6 configuration cumbersome and unusable. And delete unused pins. We abandoned the fw_config judgment method and changed to the better rtd3.
BUG=b:374629673 BRANCH=None TEST=1. emerge-nissa coreboot chromeos-bootimage 2. wifi7&wifi6 function is normal
Change-Id: Ia95dc9f6b707db63840de9b15b38bdaea48ea192 Signed-off-by: Rui Zhou zhourui@huaqin.corp-partner.google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/85000 Reviewed-by: Subrata Banik subratabanik@google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Jayvik Desai jayvik@google.com --- M src/mainboard/google/brya/variants/rull/gpio.c M src/mainboard/google/brya/variants/rull/overridetree.cb M src/mainboard/google/brya/variants/rull/variant.c 3 files changed, 16 insertions(+), 27 deletions(-)
Approvals: build bot (Jenkins): Verified Subrata Banik: Looks good to me, approved Jayvik Desai: Looks good to me, but someone else must approve
diff --git a/src/mainboard/google/brya/variants/rull/gpio.c b/src/mainboard/google/brya/variants/rull/gpio.c index c78ad40..81bd280 100644 --- a/src/mainboard/google/brya/variants/rull/gpio.c +++ b/src/mainboard/google/brya/variants/rull/gpio.c @@ -28,7 +28,7 @@ /* B6 : I2C2_SCL ==> NA */ PAD_NC_LOCK(GPP_B6, NONE, LOCK_CONFIG), /* B11 : NC ==> EN_PP3300_WLAN_X*/ - PAD_CFG_GPO(GPP_B11, 0, DEEP), + PAD_CFG_GPO(GPP_B11, 1, DEEP),
/* D11 : EN_PP1800_WCAM_X ==> EN_PP3300_SSD_X */ PAD_CFG_GPO(GPP_D11, 1, DEEP), @@ -58,6 +58,8 @@ /* E21 : DDP2_CTRLDATA ==> GPP_E21_STRAP */ PAD_NC_LOCK(GPP_E21, NONE, LOCK_CONFIG),
+ /* F11 : WWAN_PWR_ON ==> NC */ + PAD_NC_LOCK(GPP_F11, NONE, LOCK_CONFIG), /* F12 : WWAN_RST_L ==> NA */ PAD_NC_LOCK(GPP_F12, NONE, LOCK_CONFIG), /* F13 : SOC_PEN_DETECT_R_ODL ==> NA */ @@ -80,6 +82,8 @@ PAD_NC_LOCK(GPP_H22, NONE, LOCK_CONFIG), /* H23 : WWAN_SAR_DETECT_ODL ==> NA */ PAD_NC_LOCK(GPP_H23, NONE, LOCK_CONFIG), + /* H20 : IMGCLKOUT1 ==> WLAN_PERST_L */ + PAD_CFG_GPO(GPP_H20, 1, DEEP),
/* R6 : DMIC_CLK_A_1A ==> DMIC_WCAM_CLK_R */ PAD_CFG_NF(GPP_R6, NONE, DEEP, NF3), @@ -123,11 +127,6 @@ /* E12 : THC0_SPI1_IO1 ==> SOC_WP_OD */ PAD_CFG_GPI_GPIO_DRIVER(GPP_E12, NONE, DEEP),
- /* F11 : NC ==> WWAN_PWR_ON */ - PAD_CFG_GPO(GPP_F11, 1, DEEP), - /* F12 : GSXDOUT ==> WWAN_RST_L */ - PAD_CFG_GPO(GPP_F12, 0, DEEP), - /* H4 : I2C0_SDA ==> SOC_I2C_GSC_SDA */ PAD_CFG_NF(GPP_H4, NONE, DEEP, NF1), /* H5 : I2C0_SCL ==> SOC_I2C_GSC_SCL */ diff --git a/src/mainboard/google/brya/variants/rull/overridetree.cb b/src/mainboard/google/brya/variants/rull/overridetree.cb index 0b4042e..b59a0de 100644 --- a/src/mainboard/google/brya/variants/rull/overridetree.cb +++ b/src/mainboard/google/brya/variants/rull/overridetree.cb @@ -274,6 +274,13 @@ register "add_acpi_dma_property" = "true" device pci 00.0 on end end + chip soc/intel/common/block/pcie/rtd3 + # # enable_gpio is controlled by the EC with EC_EN_PP3300_WLAN + register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)" + register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H20)" + register "srcclk_pin" = "2" + device generic 0 on end + end probe WIFI WIFI_PCIE_WIFI7 probe unprovisioned end diff --git a/src/mainboard/google/brya/variants/rull/variant.c b/src/mainboard/google/brya/variants/rull/variant.c index a2fffb4..8bb7fac 100644 --- a/src/mainboard/google/brya/variants/rull/variant.c +++ b/src/mainboard/google/brya/variants/rull/variant.c @@ -16,29 +16,12 @@ return get_wifi_sar_fw_config_filename(FW_CONFIG_FIELD(WIFI)); }
-static const struct pad_config wifi_pcie_enable_pad[] = { - /* H20 : IMGCLKOUT1 ==> WLAN_PERST_L */ - PAD_CFG_GPO(GPP_H20, 1, DEEP), - /* B11 : NC ==> EN_PP3300_WLAN_X*/ - PAD_CFG_GPO(GPP_B11, 1, DEEP), -}; - void variant_update_soc_chip_config(struct soc_intel_alderlake_config *config) { - if (!fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_WIFI6E)) || fw_config_is_provisioned()) { - printk(BIOS_INFO, "CNVi bluetooth disabled by fw_config\n"); - config->cnvi_bt_core = false; - printk(BIOS_INFO, "CNVi bluetooth audio offload disabled by fw_config\n"); - config->cnvi_bt_audio_offload = false; - } -} - -void fw_config_gpio_padbased_override(struct pad_config *padbased_table) -{ - if (fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_WIFI6E)) || !fw_config_is_provisioned()) { - printk(BIOS_INFO, "Enable PCie based Wifi GPIO pins.\n"); - gpio_padbased_override(padbased_table, wifi_pcie_enable_pad, - ARRAY_SIZE(wifi_pcie_enable_pad)); + if (!fw_config_is_provisioned() || fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_WIFI6E))) { + printk(BIOS_INFO, "CNVi bluetooth enabled by fw_config\n"); + config->cnvi_bt_core = true; + config->cnvi_bt_audio_offload = true; } }