From mboxrd@z Thu Jan 1 00:00:00 1970 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 3FFED3CB8F5 for ; Mon, 20 Jul 2026 08:04:11 +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=1784534652; cv=none; b=Satt47djSbA+k29AONVsGPRucNRiLr26uzh+st6kA6YdQDq/8uVIcCfOctapX5CPtQze1W0+bSkUBUMMB1FtDX5kelk2mh/YsLzKyfxKB3Dd6N+eaFmEsOfqkOhOiTv6+1lonAhw1HudH5znbKd4zQAaLTKytliPD1n9TefDRpI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784534652; c=relaxed/simple; bh=KEpaGYLJg/HFUQ4VCnAAAa4/K+FU5Ww1paHM4mUD9UU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pGOuzo0GklPgtpZ3m1mgego58/J4Ry9wmKaGrK6sBmOsBIZOydoayVVIxF/xMV8MPd1SuD4jzguDUUgmztTHJHCmq7YMZLE6Y5dqTlBIOIn4PTskARycQXvW/8wET+dVse0L7jidJBXonvG/HS3+HR1SYZ7OpARHHnN/5e8/h78= 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=ObLSV1L3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=R0MBgJg1; 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="ObLSV1L3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="R0MBgJg1" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66K6RTBb1762271 for ; Mon, 20 Jul 2026 08:04:10 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= 9xHOUNHGElRK8fUN+Vx3VXwXih6zrlUor3vLrF9tWE0=; b=ObLSV1L3NZM0JoOV awyLlEcXYHGjLDaOAyMHUQbfwnzMIj3Mvbvw62/PIpyGgdcFMziZXLlQfouxi8gT kldrzxmleq3SkRrPABeDwZxstV6McS0Kh0kpS3n5NErEIn3l6CRIrWhnJuwgxiSv kFC4g+b6rpw6VTL1La2/iVkA+1Z5s8FVaneQ2dVzoSTAHU3swfI7hEjoivgHyzSU X6fA7AxmFB4k1CcU8KdWTfzhLw5yCHkzpAj55+20D67MYfWcvCq4P/UvhcE0YJ67 rMl/FcK+GFAGMAx5cgaJViE+dYwX7S6dm091So0L9B2ikLjVSOaft+qJZAsYb2Ej bprGlw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fg2bnn3ku-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 20 Jul 2026 08:04:10 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51a8db414c7so163962271cf.0 for ; Mon, 20 Jul 2026 01:04:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784534649; x=1785139449; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9xHOUNHGElRK8fUN+Vx3VXwXih6zrlUor3vLrF9tWE0=; b=R0MBgJg1O0oE7tGvAhrTw7q33gbHFqotDedJwaZ/cycjQK5ig9XAdCDaiDAWExBVKz EQRHwMB+KeUmXzpoFzc+SsUz0vMXBwgUvPUd30MEQJ07UdPX8XX9DX1fXeoR8X8GkVqa otztwFr9ilXRj32ATW0auUo8Y5rkI1fwV7aSjkWTlO1U4hatGtLus8I0KgnsgJZyxG9p zO10xbyd7eTABlZXaYkxSnN43ThBF2hC8ptOVywMvvkNwN9ZwpTgXdci708DXLPp6CC7 R5CSmHyzh0LL+psUBZRJN+hKerRFtszdI9C6Bnx5iVFwU1AaylxHeK/Sbbmrq3fjIf4p 0Tcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784534649; x=1785139449; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9xHOUNHGElRK8fUN+Vx3VXwXih6zrlUor3vLrF9tWE0=; b=kNIDXcdsznTFiM1FUCwjslAPfgPiGHe5tDDGEChDsvXgWs10n+J11i1eOxV9JRo8+j DFPQ4wCP/zanbL8ZBQBUitqTKtNQaLrTgCHNdGAcJuuGgM27IHEP43/fL04rvS/B+/Ky n8RixhuDYhQQ/c4l88VOlI/uIc2avtnhuiBymybOvcPhI4QJ0GwQjrBjk1dUfdY88wVU BJgCPD5XCHN9epSyARurbQMtIvVlHmaEctFsbTz/Udjdritv7ZZ0iO/6l6cUnx/TpV3d QIWFQB4MRStJLgWrizJnDwvcObz3/Hd7+AtVsiBpNaRJnpfvC+8qcZTvR7rB5rqzW8Rp kXjQ== X-Forwarded-Encrypted: i=1; AHgh+RrMkEHcQOMilBhTx3ssmqwVRDFZsH/WvFdgT5NqA/ON43aZw+mFfy72s6mOWgpMPD5Xnj0x4rof2g==@vger.kernel.org X-Gm-Message-State: AOJu0YyDKNBgPOBbhwP/BYfD7odsPOgQ75aZLjFQFKAWHg+RkhlIaf/0 F/EJRrVJcHwznf7ugGQ/NqzlPHcnk3ihX8xW8BXa5BvVmXp2wVFICIvcf/KmRxSowNXrNIgB//G M07LAb8aghIlGINlgl21G3E3gllVwnZPeIvrf0TBMwXnKb3Ah8laRnQb0XdtpHg== X-Gm-Gg: AfdE7clITnDZO9TIlk4GfTiTJtslid3Yp/N8CUpoUMInW0x2C0e5TZJNC6Tq70rMn2b YeYOpinbDB2k+CdkoNWrkfvrUDXhgbWEQ5O8IbAdkBuBBNIetgi+j+KPaxtnrF3l6coxU0WN+1a K2Y3lUm4NKtx7V81Ekxet43qYveTNNvffPnavl/BHv4yhor6wiHW6ao2xzjkXQE9ye1rW2d57Ao VfxK3+fbA8L5u0ZitZ9Iamjm96vOnlRmfKhXvx3m7X859G60KlEGvWmDd149VLbIZwy3eQmzuZN p/G0huJa4jMDSMj3a837E1G6r63lagUqzwrfDunoReV67oevAOtMr8Sf+TJSdTDKunyrkVqRFw2 WdP8LY8Ix6ZGTZEaui9OOpIs3L7XlyAMhfCFxoY8tAQzB/x5oQt6aEwpDWBYCCD3X04ujqvVw9B fK8Zha5Yb9UflrxUDPhwLwGYw+E3mZ7Xc9hX/br4A7LpXBUimowKo= X-Received: by 2002:a05:622a:22aa:b0:516:e249:e30f with SMTP id d75a77b69052e-5213e876fdbmr126377381cf.42.1784534649466; Mon, 20 Jul 2026 01:04:09 -0700 (PDT) X-Received: by 2002:a05:622a:22aa:b0:516:e249:e30f with SMTP id d75a77b69052e-5213e876fdbmr126377021cf.42.1784534648784; Mon, 20 Jul 2026 01:04:08 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:751c:d61c:c91:60dd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69e7000c3e2sm4256542a12.30.2026.07.20.01.04.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jul 2026 01:04:08 -0700 (PDT) From: Loic Poulain Date: Mon, 20 Jul 2026 10:04:03 +0200 Subject: [PATCH v5 01/11] Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260720-monza-wireless-v5-1-69ec6743543c@oss.qualcomm.com> References: <20260720-monza-wireless-v5-0-69ec6743543c@oss.qualcomm.com> In-Reply-To: <20260720-monza-wireless-v5-0-69ec6743543c@oss.qualcomm.com> To: Manivannan Sadhasivam , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-bluetooth@vger.kernel.org, devicetree@vger.kernel.org, Manivannan Sadhasivam , Loic Poulain , Bartosz Golaszewski , Dmitry Baryshkov , Wei Deng X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIwMDA4OCBTYWx0ZWRfX8NAhkuJltZtt v3jA7DkuRG9rLUBiNHs5jY1vomDcyurOlg6+Q5Mj2hYcmq3W0srSrJ096Lj4Jx+v1bug0BflWbQ 9vdtPFMW+gD+wil1baKSciGEhvUsV/yCwuHHuemz8gx0T+wSL4ZuIXQ/YK3D+5kf8QsldZPg0Z6 SboWgH5uVpW+ga3pnKUZdrWBllg93Zfx2z+6YMaI9zBspBrKcXPrCbCFtBu9zHjH3h5TOqPG5mi ojg7ZQCxOEV6GXF85Dq2zBQt7vyc9g8MlFz+3YBCCsGHL1dsE6UbmPr2cGH3nguswsKJpUcgmDQ rxdx0nPPpEZB0+QjEAwr248sV8yeV7PgXn+gQhNEckN34cDwr4xfMkd8g9F0ugEzc9xv0wteBQf Md4GaWLCfrTkfjF8kXwKMhycssV7jd5Mxz28cjhiwN5WBh3qbDwpfqdzg9Z2iYCcWHbSO11UnMm 4RDb6TWupZhk0ni7Zlg== X-Proofpoint-ORIG-GUID: Sd0owdDZ4sR2gQ5G9RSzcuWkyS61FaSI X-Proofpoint-GUID: Sd0owdDZ4sR2gQ5G9RSzcuWkyS61FaSI X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIwMDA4OCBTYWx0ZWRfX6EHiERl2GBvs KvG0Qa3fzcyA9iGo2dzcI0HS57WSKgo+CpudhfwscnRp+LGN7H0JywTCoZ9rrDopKoDrYY7/+XB 06LCFKzOyfkP9llNke4zlcTwuZbFrbU= X-Authority-Analysis: v=2.4 cv=deOwG3Xe c=1 sm=1 tr=0 ts=6a5dd67a cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=14bN-6-z4zEjTU3E0XQA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-20_01,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 malwarescore=0 clxscore=1015 phishscore=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607200088 From: Manivannan Sadhasivam Power supply to the M.2 Bluetooth device attached to the host using M.2 connector is controlled using the 'uart' pwrseq device. So add support for getting the pwrseq device if the OF graph link is present. Once obtained, the existing pwrseq APIs can be used to control the power supplies of the M.2 card. Reviewed-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Signed-off-by: Manivannan Sadhasivam Tested-by: Wei Deng --- drivers/bluetooth/hci_qca.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index 2444471956197bae62a1c4c3a776c5591780ec02..135c79e696aefe2b37ee7a7a668715360a1e2d75 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -2445,6 +2446,18 @@ static int qca_serdev_probe(struct serdev_device *serdev) case QCA_WCN6750: case QCA_WCN6855: case QCA_WCN7850: + /* + * OF graph link is only present for BT devices attached through + * the M.2 Key E connector. + */ + if (of_graph_is_present(dev_of_node(&serdev->ctrl->dev))) { + qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->ctrl->dev, + "uart"); + if (IS_ERR(qcadev->bt_power->pwrseq)) + return PTR_ERR(qcadev->bt_power->pwrseq); + break; + } + if (!device_property_present(&serdev->dev, "enable-gpios")) { /* * Backward compatibility with old DT sources. If the -- 2.34.1