Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1cfa259 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

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

parents 7ceab328 712e346e
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -836,7 +836,7 @@ static int cnss_select_pinctrl_state(struct cnss_plat_data *plat_priv,
 * 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: