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>
This commit is contained in:
parent
4cd22efff8
commit
e019a41d8a
3 changed files with 16 additions and 27 deletions
|
|
@ -28,7 +28,7 @@ static const struct pad_config override_gpio_table[] = {
|
|||
/* 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 @@ static const struct pad_config override_gpio_table[] = {
|
|||
/* 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 @@ static const struct pad_config override_gpio_table[] = {
|
|||
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 @@ static const struct pad_config early_gpio_table[] = {
|
|||
/* 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 */
|
||||
|
|
|
|||
|
|
@ -274,6 +274,13 @@ chip soc/intel/alderlake
|
|||
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
|
||||
|
|
|
|||
|
|
@ -16,29 +16,12 @@ const char *get_wifi_sar_cbfs_filename(void)
|
|||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue