Merge "cnss2: Check for BT Enable GPIO in QCA6390"

This commit is contained in:
qctecmdr 2021-03-09 02:40:38 -08:00 • committed by Gerrit - the friendly Code Review server
commit a1cfa2594c

View file

@ -836,7 +836,7 @@ out:
* cnss_select_pinctrl_enable - select WLAN_GPIO for Active pinctrl status
* @plat_priv: Platform private data structure pointer
*
* For QCA6490, PMU requires minimum 100ms delay between BT_EN_GPIO off and
* For QCA6390/QCA6490, PMU requires minimum 100ms delay between BT_EN_GPIO off and
* WLAN_EN_GPIO on. This is done to avoid power up issues.
*
* Return: Status of pinctrl select operation. 0 - Success.
@ -846,9 +846,17 @@ static int cnss_select_pinctrl_enable(struct cnss_plat_data *plat_priv)
int ret = 0, bt_en_gpio = plat_priv->pinctrl_info.bt_en_gpio;
u8 wlan_en_state = 0;
if (bt_en_gpio < 0 || plat_priv->device_id != QCA6490_DEVICE_ID)
if (bt_en_gpio < 0)
goto set_wlan_en;
switch (plat_priv->device_id) {
case QCA6390_DEVICE_ID:
case QCA6490_DEVICE_ID:
break;
default:
goto set_wlan_en;
}
if (gpio_get_value(bt_en_gpio)) {
cnss_pr_dbg("BT_EN_GPIO State: On\n");
ret = cnss_select_pinctrl_state(plat_priv, true);
@ -864,7 +872,7 @@ static int cnss_select_pinctrl_enable(struct cnss_plat_data *plat_priv)
cnss_select_pinctrl_state(plat_priv, false);
wlan_en_state = 0;
}
/* 100 ms delay for BT_EN and WLAN_EN QCA6490 PMU sequencing */
/* 100 ms delay for BT_EN and WLAN_EN QCA6490/QCA6390 PMU sequencing */
msleep(100);
}
set_wlan_en: