Re: [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined
From: Shuai Zhang
Date: Thu Mar 19 2026 - 02:08:05 EST
On 3/19/2026 1:42 PM, Dmitry Baryshkov wrote:
On Thu, Mar 19, 2026 at 01:21:58PM +0800, Shuai Zhang wrote:
Hi DmitryIn which cases is it applicable?
On 3/19/2026 11:51 AM, Dmitry Baryshkov wrote:
On Thu, Mar 19, 2026 at 11:10:40AM +0800, Shuai Zhang wrote:bt_en is pulled high by hardware,
For platforms where the bt_en GPIO is not defined, software-based powerWhat does it mean for this chip, managing the power in hardware?
control should be disabled when power is managed by hardware.
On platforms using an M.2 slot with both UART and USB support, bt_en is pulled high
by hardware. The current platforms are Lemans‑EVK and Monaco‑EVK.
or described in the device tree as aWhy?
regular always-on GPIO.
This is equivalent to bt_en being pulled high by hardware,
and it applies to the same scenarios and platforms mentioned above.
Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is
cleared when bt_en is absent, aligning its behavior with WCN6750 and
WCN6855.
Signed-off-by: Shuai Zhang <shuai.zhang@xxxxxxxxxxxxxxxx>
---
drivers/bluetooth/hci_qca.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index c17a462aef55..4512ff7cd0c0 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -2484,7 +2484,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
if (!qcadev->bt_en &&
(data->soc_type == QCA_WCN6750 ||
- data->soc_type == QCA_WCN6855))
+ data->soc_type == QCA_WCN6855 ||
+ data->soc_type == QCA_WCN7850))
power_ctrl_enabled = false;
qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",
--
2.34.1