From nobody Wed Apr 8 04:41:32 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E357E36D4FF for ; Tue, 10 Mar 2026 23:03:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773183788; cv=none; b=sBS/S+TPzJRIX3onnbNX3YL/yvYeEdsly68CHdCgTW7MuWoCVD43kjym0XT5Rp/I8TuVXKnp7R+ZGQ0KlwJIfNz2r0zZEC4UTLkopBh2Qld13EG/KoSRdRRsF3lGOh/bxjFLddzmiIY7DG/6zNG8pWclNrl9CryT2QwvO6ZhQfE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773183788; c=relaxed/simple; bh=pu7bkfU0sTJw0PsVFgK898M90i1JnWUjS/nDJwQDnEQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CL3MqB2/cgToAbBynLfOQZuRYGsBjVNotmk5h65qQ6Y/GHGCt387x4nvaXpFJTubrhdgXzAvgms2bR/TsF/tMXuLrU/0ETZzujNTopdasDUdQtAcKqowB38J10gZWnxuyNxZyk+R+EU+5XKff+Zm1WI0hRA+/XJTgfoY7Y31CAk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=BINbA6O2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EtGm4vyC; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="BINbA6O2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EtGm4vyC" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62AIRwpa3760660 for ; Tue, 10 Mar 2026 23:03:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wTtVziy0BmhY8iETUxB30NLkUuDxGGFEQ8sdwaw/rtk=; b=BINbA6O2RKFVHWfJ +RA7eFapoXl03B2dwzpKVNARmWkMj/fHX90r/qGlSuYGKVlMFo/46RAgfTXggfUv ubtJFK9LWqu4Fh4SmjQecEU6WKkNO5+ZHPXNPUERUYJyQ4RvzV+PpEvhrpEFm4UW ntMOY31yR4vAsLFuNZggipdfCuEAWmJ8OlQ+NfvzJPBtx7zp0Gsuob3xHWmXPNH3 fhwj+jg4jqRWQoHkI7GS3C214kO9jksZTb4peVSZ90KZIarP24PC98zY8ZDEkwPM 3P3VmvJsx2pYdJKTO0iEmisyR50B0nLRNz+vuEV1nxLTSgKuvZoIjreHzVmVsM1S 34dzDA== Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com [209.85.222.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctk8ujbyx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 23:03:06 +0000 (GMT) Received: by mail-ua1-f71.google.com with SMTP id a1e0cc1a2514c-9484dbd65a7so22018361241.1 for ; Tue, 10 Mar 2026 16:03:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773183785; x=1773788585; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=wTtVziy0BmhY8iETUxB30NLkUuDxGGFEQ8sdwaw/rtk=; b=EtGm4vyC4TlcnKyivZNC3i8s3rXCXEVmG9nxWe03j0tlzjZigE8zLzyMkqiIQRsXdY f7CjermUN8uCWG+TqtZJOoC1WTPLwxLRq5szhM75GHIMUPatarvzPd/Gygwfwl/PCHe/ NBndiSdgCobOzu0JT9YQQ96O3WiV1XJwO8ob+zvJvDyJBIxGeiFnMm5i0jXia9dAorQ8 t8bemjyoegRxIdRaexjtGZ53dDog5XdqklvRuAUpopYXvS72VGLSYWL0yAYiTGSLelxA JctQAGGvfKZrnwjpQnILNlTvO7AKlibr7DkO1YuuJDnHiRTeXCpbUx8wkdzwfnDuuH6g 85Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773183785; x=1773788585; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=wTtVziy0BmhY8iETUxB30NLkUuDxGGFEQ8sdwaw/rtk=; b=OAzPxNL24TbR6hkQS67w7tfNZwGN9zj59h6V8UWC+heUqlHfJIuEu1mEOqgRM7iZQm KER8SjMNo7xfYIemJ6jBELqVd2ShqEjyjd1ZE1wNWF2w7OHLNI9JLmn78EkuXQ+s+c29 0+LcvuzE60+YUviOsb9UXLtFzGN0VfPOTXMXm8a80uCKODOwZLsLhDB7DdlCVIo3tnkc H6lRO1kYSREMQpMvCSY4a4roQ2UwqeJltV/IstzL4U3RhPSK+C55wox5cKoJzO24TYsZ dFpETvld7/l2t/It383dMVr2P1Ok06FG4mP0NgDfZndBvMJJF3nQbphahtGD2NqZiV30 T5Jw== X-Forwarded-Encrypted: i=1; AJvYcCW8Hc1vgRd+1TmmNSpvao9v0LI/MWMvsNsG88m9SVPdRoQs0xiRE/TXpULz3oMW1Yhryj5Ru1cePnmmzB0=@vger.kernel.org X-Gm-Message-State: AOJu0YzBeAe+Sw9xINtfQJwivnBW95JyS1RMAZtn6kNfISgyEeUpeXqk YhXjdEI9JVNTwpMufHvUG1qpwLLjV8qv0DxBOomD5PGnq9J44AToV5TZDGuZd7JvW8Qc0YvWMb6 /3aTL9JgFonMdoLT4tE3RVgTFNRvv28iLHq94LCKt8yEIEPRw23qNq3lOJ8gNiUfmoYE= X-Gm-Gg: ATEYQzxXjI34pfmS+O6tkWJQ9H2MovgGrWSYTKgxv6+Td4wy3ZyMVziExp6FfGre1bn 7vak9J8+co4JicyMeLZldi0bgmVlmisZ5BQiolGAWs3Unn8jIqDpeBA/lM4kKUEc97FtZwI/Mrn /Cb2nuvIJZ2iPlPCJcdX2ZwHOmrYcxkqDK/P0MenRZswVsOh2fPOdQtIhKwXhPuFQv6O/Ukmzgf 2UQjshlFz+RVRwMoZ/PZq25nQe9ItyqY712N17LzXLwb1QrCkRGaO4wpVbvWp+uZxCOKD/PskZ0 Hyft1FYTXl+Z3IaTtgkx0q/OX8vNBKFcadHi2/vSiz/Qe5IWg6rBlM5RAievYe1Q9L9EiQrDtqf VONlc2P/H2/gHaS/ybjNm3sAOxiPmSXAMjr0WiTL3eO4YDZ0O8HR+j4ssK7Wym7nqlXRJVG97wG 3CEj8EV6l4QAfeKjxQ4R7vG8aSme52kD7aQk8= X-Received: by 2002:a05:6102:c0d:b0:5ff:f84d:eedd with SMTP id ada2fe7eead31-601def892d2mr184606137.32.1773183785202; Tue, 10 Mar 2026 16:03:05 -0700 (PDT) X-Received: by 2002:a05:6102:c0d:b0:5ff:f84d:eedd with SMTP id ada2fe7eead31-601def892d2mr184592137.32.1773183784724; Tue, 10 Mar 2026 16:03:04 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a156366a74sm80743e87.75.2026.03.10.16.03.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 16:03:03 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 11 Mar 2026 01:02:57 +0200 Subject: [PATCH v4 1/2] Bluetooth: qca: fix ROM version reading on WCN3998 chips Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260311-wcn3990-pwrctl-v4-1-70e571a18e40@oss.qualcomm.com> References: <20260311-wcn3990-pwrctl-v4-0-70e571a18e40@oss.qualcomm.com> In-Reply-To: <20260311-wcn3990-pwrctl-v4-0-70e571a18e40@oss.qualcomm.com> To: Bartosz Golaszewski , Bjorn Andersson , Konrad Dybcio , Marcel Holtmann , Luiz Augusto von Dentz , Matthias Kaehlcke , Balakrishna Godavarthi , Harish Bandi Cc: linux-arm-msm@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1484; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=pu7bkfU0sTJw0PsVFgK898M90i1JnWUjS/nDJwQDnEQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpsKMjkalcIOg8DTrI+DqMKYEzOUUE1rjn2vhYg A64j7wts7SJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCabCjIwAKCRCLPIo+Aiko 1W+CB/4zY+8UcBQpLwaFzqkP46mU2l1Pbpd2+NId95nedB1Sf0k+iuUty4txEaWnI5czWIfCX3V 4yRT3/1IC4cJuaSvCbJt4ZjTZVf95IFu/y7m5vWJQPnHS74xzAJO5tDiYUV7GvULkHzduqKan9Y riaYYV2bmCnKP1SkbX+1D9i1MtEWeEYAWQ/admntR6ctNd2Ley1fSsSVTmu01NXeUEWfTSPSohT lBvVeUwdttK1C2ta4a0OhipfVxra+cCCS9ffMhIKYn23DN85nRoKgxrRtinVFMbbCatfpQIuI4o vVYyaMywUOk6X2SxlCA+IJP61QpSew3OfyANwvSBJ/A7MTHX X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: bU36C7CnHER9ySkyNfm6FYkJVBNBzxJl X-Proofpoint-GUID: bU36C7CnHER9ySkyNfm6FYkJVBNBzxJl X-Authority-Analysis: v=2.4 cv=YcmwJgRf c=1 sm=1 tr=0 ts=69b0a32a cx=c_pps a=KB4UBwrhAZV1kjiGHFQexw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=TaVSYX7Pq2PjI-6xwy8A:9 a=QEXdDO2ut3YA:10 a=o1xkdb1NAhiiM49bd1HK:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDE5NyBTYWx0ZWRfX99X0bftuQKQ2 ecX3x9QmGJKUuDYkVHBG0QJUUsWFEpfuR56lavCRDW4QgykrKunXWbfe8RB76QOAS6h8PHxH6KJ E3phxLVgP9Osr9wRRi2zHGeBdAOK3gqvfxhl5/HZJjjGxDh8qgTvTt1wzgdFiRqJ1b6gTi/XMuu lHtpFbO6Q2MfXkgQn+6FfK8c90ZNWyO3jHfoeBa2hxKGB6vsTK8YovGDVY4Yq3YYt78gFiQcA18 BPnSVS2prppo4QkJ3cr6gqYGA3dLbbdgJxtFmAno9HKWd/nWo58/q7FfKXN9SutzVkkScguaSfo +TJatjPoYkDmteLy3sCL7O7ufAO82/Be0IjqKI7iLjLhatNTFBA2Yp2hbxbNGBvLpc9POEbGKEm aPBqju4Y7fiSjdpOtJ+5LDBVeXknMOAWkS+NNW7i0mHD7Pi2YJ8Hyg0pVBJING9/R2lsPegFpNa mhu04c1brWIuEFxXf4A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_04,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 impostorscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100197 WCN3998 uses a bit different format for rom version: [ 5.479978] Bluetooth: hci0: setting up wcn399x [ 5.633763] Bluetooth: hci0: QCA Product ID :0x0000000a [ 5.645350] Bluetooth: hci0: QCA SOC Version :0x40010224 [ 5.650906] Bluetooth: hci0: QCA ROM Version :0x00001001 [ 5.665173] Bluetooth: hci0: QCA Patch Version:0x00006699 [ 5.679356] Bluetooth: hci0: QCA controller version 0x02241001 [ 5.691109] Bluetooth: hci0: QCA Downloading qca/crbtfw21.tlv [ 6.680102] Bluetooth: hci0: QCA Downloading qca/crnv21.bin [ 6.842948] Bluetooth: hci0: QCA setup on UART is completed Fixes: 523760b7ff88 ("Bluetooth: hci_qca: Added support for WCN3998") Reviewed-by: Bartosz Golaszewski Signed-off-by: Dmitry Baryshkov --- drivers/bluetooth/btqca.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c index 9f7e13fcb20e..dda76365726f 100644 --- a/drivers/bluetooth/btqca.c +++ b/drivers/bluetooth/btqca.c @@ -787,6 +787,8 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudra= te, */ if (soc_type =3D=3D QCA_WCN3988) rom_ver =3D ((soc_ver & 0x00000f00) >> 0x05) | (soc_ver & 0x0000000f); + else if (soc_type =3D=3D QCA_WCN3998) + rom_ver =3D ((soc_ver & 0x0000f000) >> 0x07) | (soc_ver & 0x0000000f); else rom_ver =3D ((soc_ver & 0x00000f00) >> 0x04) | (soc_ver & 0x0000000f); =20 --=20 2.47.3 From nobody Wed Apr 8 04:41:32 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 682C737417B for ; Tue, 10 Mar 2026 23:03:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773183791; cv=none; b=lcO9ZsmyRcRsjv2PC0GpcHhgT5y353EGuKNjdJBYncYGrs2mWRsZ1GBXPRewHG7goUM+cj7ysp/7sD97dQkljUy5RsZoVsEehi6N202ClnCdY3KhB+HAuNkN+2bGqtWOIpOh7vmkDrjInNMT6e0tw+ozcx7Eqa3+PmrEj4H//Kc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773183791; c=relaxed/simple; bh=NCr7CWtfAODxD26EjaDhYPub6MJelC/d4IOGonNL63Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bMd+nrF4jl0vVfe2EO/Wnt7DAn45RAZY7oAV7c8HiUt4y4fNbNYp1BzcPSYQKhHo8NarIWZJOUIH1t6/Bot7TqKnse2JYPIjJ3IocVBk30scOWE8lzijMNdREl6VGM/0Ez/1CMwELjYL7B6w4HfKP+JloexmoWEBfppXPO7t0R0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=e3k9xC2t; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=W8YhtFCx; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="e3k9xC2t"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="W8YhtFCx" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62AJP7hB3417073 for ; Tue, 10 Mar 2026 23:03:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 11UQng+3pfL2wZggMDKPKaPFC6vPCY5zu9oF2jTjjxA=; b=e3k9xC2tPkfrMkBT SUM1ORpLnMa5V02VqCYi+ZX9j5MID3z3LDX9VRHLOD1j2fh0eGxjX0QgYv0tyhLW ErvS42rI7z485cXDk3PvwwP6hxvVLWkME2cQh00lC7VuH+LkO1eaRJSQa329sKkp cw8s/F+9vSjnhimePc+S9AplkofhC4ZbcRSSy5NmBJMcgcYVjlqn4UeqsudUn+Ra +8pYxNEvcEd150/l4fcSk9zoex69zJN2yvHjlM+MbRbee2dRfZxXB3kp4tca0QLh ehX0rvAYEinRDnPncpDNpDhlq7/SdduvMGvS5dJAD97O3f56K3bzTAVFhvjXL4I+ xqEXSg== Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com [209.85.222.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctja2aj1e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 23:03:07 +0000 (GMT) Received: by mail-ua1-f71.google.com with SMTP id a1e0cc1a2514c-94e9c0edfcfso30448168241.0 for ; Tue, 10 Mar 2026 16:03:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773183787; x=1773788587; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=11UQng+3pfL2wZggMDKPKaPFC6vPCY5zu9oF2jTjjxA=; b=W8YhtFCx3I9XXN9ZhDAPOmcLAgOnFtAkJBcy2PzJbR/PSruXOKyJUNPSs38iBScZHw bWsPctuyc8jEO3E3QGQAIZFcuKeNhdSYNf93B7KM5RZiJOdU1U3RgggHH45Y6+dee8Qd 45GYvOF/OtwW+TV8eqmsro1hNLHZMsC4ZBqihFYefayaZN4cs/qzCpQJyrIwYMNr4HJM qcnLoT8HfGK6UpO2p5Dh7/AH/P2B7xbXaN6eutrjXnWCO7EXTyf1VoyHV90ymJ7I7lNf qtsqVrGkMbvELn2BD8w3J4n7x8d6z8zCJQU0/X15NrIXDS9RVmNHuapRA6KhmP0jMUvp CxGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773183787; x=1773788587; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=11UQng+3pfL2wZggMDKPKaPFC6vPCY5zu9oF2jTjjxA=; b=t7tNwia9SUppYIoNR5060768B/mXS5QWPR5vCjIHjl+MZUyw8nh/rO5X0JDrYu60tT pZq8M1iqPDivRC1wpL5OMGM6D7GvMjCcUOoIi+8JPEsPs221MOslabKU3UK6GB/euyYr K8xQLpHHapamzg5xjhVVs79BuDRbAsCDsA1XTkUdJ0SNrqXlSZdp5iwaGTtnvJD8TWaq QIrxArXmvaYBQX9s412gogN9vqy3SmH/IxqxPKB9rFahA73YUpDiL2CjYXIl8mHBHWdj 5h7EVQYcaU1ElqwSznfRUH1NZfbuikbFBlWQTbCUaXVJ2HsOwFA+OIP8s/PdDK0Rb9H/ GRag== X-Forwarded-Encrypted: i=1; AJvYcCXwIeRgmh6eldysN2IsO4E2TE6kzNmKI4BQ2yynE3XzmYKolDZryZpMMt9V72uRMUmQK+MZ+GJzmajP6mE=@vger.kernel.org X-Gm-Message-State: AOJu0YzoMGHzTE5eTjOfL8PXvhcBovClZQExkk7vfPfnIc1yKL2ewP6j tPd1KNUEUVWdkrzC8uv+NwTMy3W5XOosMrlnrjwPzfDWvBQzUg0I8Q+55uRujIJhMgHvbEFHSGW r9M4asaErooUZjabvu2cZg/4mY9g2YfXyCyVKZdCcQO6vs85iZSNk5sPugoRdQi4NY9A= X-Gm-Gg: ATEYQzwuozZxCr+Fa+Yi2zRynWMnvGWEb/82KMWI4LMId26CVwQdDh6hAt1QHBjk/ka ECMr8pfZJFHkw3BGJFM53WcDHNC+lhFG1buntggNn0jnzEaGyWeofPsTNcs+j2MwcVDIf52qT4u oEJhw+90mBC52He29KZ8xjps+q7+GOCETKd0QxgVbhYJgr3YarpTSr6hKr3rUkpnqUmdBI+hPzI DAeHZO2raKqo/eB7IKh98C1rGFWb0RtnaQXLhJR1ac1T46TLED0c7l3opC87w8N8QOAYCwYkvrg fJTv6xT+FieWR1wVkdqj5Z/aVmAVKBiZvcoz0einxs/ijFnAy9+FKV1s1yOClOFo71V7+C8Jfm+ mVHElzpuVXXatxUYZLMUfHEjq+DjKxeYoQvHiA42kl2VPAgL4kXgL/92tg0qeEkphG/TF3NSk61 KhITbWWcrcWq+7lOO4QUGXrsheWPywLvPg2Ek= X-Received: by 2002:a05:6102:26cb:b0:5ff:b8d8:b40d with SMTP id ada2fe7eead31-601def30d0dmr216627137.21.1773183786707; Tue, 10 Mar 2026 16:03:06 -0700 (PDT) X-Received: by 2002:a05:6102:26cb:b0:5ff:b8d8:b40d with SMTP id ada2fe7eead31-601def30d0dmr216611137.21.1773183786338; Tue, 10 Mar 2026 16:03:06 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a156366a74sm80743e87.75.2026.03.10.16.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 16:03:05 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 11 Mar 2026 01:02:58 +0200 Subject: [PATCH v4 2/2] Bluetooth: qca: enable pwrseq support for WCN39xx devices Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260311-wcn3990-pwrctl-v4-2-70e571a18e40@oss.qualcomm.com> References: <20260311-wcn3990-pwrctl-v4-0-70e571a18e40@oss.qualcomm.com> In-Reply-To: <20260311-wcn3990-pwrctl-v4-0-70e571a18e40@oss.qualcomm.com> To: Bartosz Golaszewski , Bjorn Andersson , Konrad Dybcio , Marcel Holtmann , Luiz Augusto von Dentz , Matthias Kaehlcke , Balakrishna Godavarthi , Harish Bandi Cc: linux-arm-msm@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2065; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=NCr7CWtfAODxD26EjaDhYPub6MJelC/d4IOGonNL63Y=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpsKMjTeIHDIuYj4EJzWHo0r9XJi2oSJhP2xur5 ikqas8iuDKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCabCjIwAKCRCLPIo+Aiko 1WayB/9BC25wqOSbwMnpowA25Lvof1XPsWrH0PhtoZwzgc9ikZVapmH2m6k/MeSwVKnTlw/IXXs i5iXH03VkT0KQi2c7uu7yBWMmfIN1BYbAgsA21hONjqQHGZYolwoAfUPciWv3DbDH/05JMLs8te JOI1KHOX021NHbZ0zdtHqasKVStyr5Cu/kU5prF5uVy4P6F1ZW3cr4L+KQIlVT2l+pPQ0YUqpB+ 6c/sLth+Pln44q2x5QyUHWMYGFsMdFNWT6tg1bLgbifH6srluGefFjDjcxFtw9zqexxelqDOouP 4r87Bb1tA0zi1Xq1yn/v3TCC2XH59UYFu+Lje+3f5IdkBBAl X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=c9WmgB9l c=1 sm=1 tr=0 ts=69b0a32b cx=c_pps a=KB4UBwrhAZV1kjiGHFQexw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=rVzinPZZyXf-EJmd2kAA:9 a=QEXdDO2ut3YA:10 a=o1xkdb1NAhiiM49bd1HK:22 X-Proofpoint-ORIG-GUID: Kz0jw7hWF4OKn8t6cbVZ2IURB4nXfnzC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDE5NyBTYWx0ZWRfX/jrpXushwgnQ pBkB5B6cMAom3zOl1hJIT/g3ooj6rJ0FurCALr0OlL/yTv+3KbTWPBSqNeb1QVbhX5GiqzUgIYD FH7ipruZ+3pvKiM7NXVgFTRLxr0GsPZK5wPNJq2cFvqkLxN1KbCQEbB/RpHx+XTUJlckKjZEqPX NBIfYagFdIE7BZR/hcS3F0z5tpCs478D6yBie3PwDFWd9yLK5I0gdpUqUoS6/a6ZVw4C5c2XPx+ S+eh6z6s9LMMqAuRaYle9iyDIH3X1aRn//liVSrmH++kStSWZxJuXMx0iRV9OimNqUe89RtVOV/ AfEBI040/O7o739vaejcwP7bKY1qAHH0+V2ATSbOMb+7jkwlfmc8iGrBiRvGMwQ3mu2ZSu8Qx73 J95sxbY/XbZoh58ETsNhKUm6skjGqkTQYiQlGf3kTfmVLbseapHCa1qnnKk0e/J1fX6teT4Q5pa duVahaMqq+Lsq6uhYpw== X-Proofpoint-GUID: Kz0jw7hWF4OKn8t6cbVZ2IURB4nXfnzC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_04,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 clxscore=1015 impostorscore=0 phishscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100197 The WCN39xx family of WiFi/BT chips incorporates a simple PMU, spreading voltages over internal rails. Implement support for using powersequencer for this family of QCA devices in addition to using regulators. Reviewed-by: Bartosz Golaszewski Signed-off-by: Dmitry Baryshkov --- drivers/bluetooth/hci_qca.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index d6e78201a675..c17a462aef55 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -2241,6 +2241,18 @@ static void qca_power_off(struct hci_uart *hu) qcadev =3D serdev_device_get_drvdata(hu->serdev); power =3D qcadev->bt_power; =20 + switch (soc_type) { + case QCA_WCN3988: + case QCA_WCN3990: + case QCA_WCN3991: + case QCA_WCN3998: + host_set_baudrate(hu, 2400); + qca_send_power_pulse(hu, false); + break; + default: + break; + } + if (power && power->pwrseq) { pwrseq_power_off(power->pwrseq); set_bit(QCA_BT_OFF, &qca->flags); @@ -2252,8 +2264,6 @@ static void qca_power_off(struct hci_uart *hu) case QCA_WCN3990: case QCA_WCN3991: case QCA_WCN3998: - host_set_baudrate(hu, 2400); - qca_send_power_pulse(hu, false); qca_regulator_disable(qcadev); break; =20 @@ -2425,6 +2435,11 @@ static int qca_serdev_probe(struct serdev_device *se= rdev) } =20 switch (qcadev->btsoc_type) { + case QCA_WCN3950: + case QCA_WCN3988: + case QCA_WCN3990: + case QCA_WCN3991: + case QCA_WCN3998: case QCA_WCN6750: case QCA_WCN6855: case QCA_WCN7850: @@ -2449,12 +2464,7 @@ static int qca_serdev_probe(struct serdev_device *se= rdev) else break; } - fallthrough; - case QCA_WCN3950: - case QCA_WCN3988: - case QCA_WCN3990: - case QCA_WCN3991: - case QCA_WCN3998: + qcadev->bt_power->dev =3D &serdev->dev; err =3D qca_init_regulators(qcadev->bt_power, data->vregs, data->num_vregs); --=20 2.47.3